spark1.6配置sparksql 的元数据存储到postgresql中

1:首先配置hive-site.xml

<configuration>
   <property>
       <name>javax.jdo.option.ConnectionURL</name>
       <value>jdbc:postgresql://192.168.56.103:5432/sparksql</value>
   </property>
   <property>
       <name>javax.jdo.option.ConnectionDriverName</name>
       <value>org.postgresql.Driver</value>
   </property>
   <property>
       <name>javax.jdo.option.ConnectionUserName</name>
       <value>postgres</value>
   </property>
      <property>
       <name>javax.jdo.option.ConnectionPassword</name>
       <value>gaoxing</value>
   </property>
</configuration>

2: 配置postgresql的jdbc jar路径

在spark-default.properties中配置

spark.driver.extraClassPath=/opt/spark/lib/postgresql-9.4.jar

 

问题1

启动thriftserver, 10000监听端口死活打不开。把hive-site.xml重命名,使用默认的derby数据库,可以启动

在网上找打答案:

原来hive自动创建postgresql的表示,postgresql会自动锁死,你妹,这么傻逼啊

需要到hive的源码中抽取postgresql的sql语句,自动创建

https://github.com/apache/hive/blob/master/metastore/scripts/upgrade/postgres/hive-schema-1.2.0.postgres.sql

 

问题2

创建的表名是大写,尼玛死活不能查询,问了下pg的dba说是模式的问题。

CREATE TABLE "CDS" (
    "CD_ID" bigint NOT NULL
);

pg加了引号以后就是大小写敏感的,哥,不按套路出牌啊

 

posted @ 2016-01-08 19:52 高兴的博客 阅读(...) 评论(...) 编辑 收藏