hive - 使用配置单元运行Spark并为配置单元Metastore配置远程PostgreSQL数据库

  显示原文与译文双语对照的内容
0 0

我是Spark和Hive的新手。 i v1.0.1 ( Spark安装/sbt组装/组装)

我还配置配置单元以将Metastore存储在PostgreSQL数据库中作为指令:

http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/4.2.0/CDH4-Installation-Guide/cdh4ig_topic_18_4.html

我可以配置 Hive ( 不是用Spark构建的) 使用 PostgreSQL,但我不知道如何让它与Spark中的Hive一起工作

在指令中,我看到需要将 postgresql-jdbc.jar 或者链接到配置单元/lib,这样配置单元就可以在运行。

$ sudo yum install postgresql-jdbc
$ ln -s/usr/share/java/postgresql-jdbc.jar/usr/lib/hive/lib/postgresql-jdbc.jar

Spark中配置了 Hive,我应该在哪里放置 postgresql-jdbc.jar 才能让它工作?

时间: 原作者:

0 0

你有两种选择:

  1. 你可以继续使用自己的配置单元安装。 你需要在 $SPARK_HOME/conf/hive-site.xml 下放置一个 hive-site.xml ( 或者创建链接符号) 副本
    1. 如果要使用内置配置单元: 你需要修改 $SHARK_HOME/hive-/conf/hive-site.xml 。
      在 hive-site.xml 中,你需要修改 javax.jdo. 选项* 值。 沿着以下行:
 <property>
 <name>hive.metastore.local</name>
 <value>true</value>
 </property>
 <property>
 <name>javax.jdo.option.ConnectionURL</name>
 <value>jdbc:postgresql://localhost:5432/hivedb</value>
 </property>
 <property>
 <name>javax.jdo.option.ConnectionDriverName</name>
 <value>org.postgresql.Driver</value>
 </property>
 <property>
 <name>javax.jdo.option.ConnectionUserName</name>
 <value>******</value>
 </property>
 <property>
 <name>javax.jdo.option.ConnectionPassword</name>
 <value>******</value>
 </property
原作者:
0 0

我找到了解决问题的方法。 我需要为 SPARK 添加 CLASSPATH,以便配置单元中的构建可以使用 postgresql-jdbc4.jar

我添加 3 环境变量:

export CLASSPATH="$CLASSPATH:/usr/share/java/postgresql-jdbc4.jar"
export SPARK_CLASSPATH=$CLASSPATH
export SPARK_SUBMIT_CLASSPATH=$CLASSPATH

英镑的SPARK_CLASSPATH 用于的火花塞

英镑 SPARK_SUBMIT_CLASSPATH 用于收费 submit submit ( 我不确定)

现在我可以在配置单元中使用 spark-shell 来配置 Metastore in Postgres

原作者:
...