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加了引号以后就是大小写敏感的,哥,不按套路出牌啊

上一篇:python+selenium+unnittest框架


下一篇:关于FastDFS Java客户端源码中的一个不太明白的地方