Apache spark 使用内置配置单元运行Spark,并为配置单元元存储配置远程PostgreSQL数据库
我正在运行带内置配置单元的Spark v1.0.1(带Spark_配置单元的Spark安装=真正的sbt/sbt组装/组装) 我还将配置单元配置为将Metastore作为指令存储在PostgreSQL数据库中: 我可以配置Hive(不是Spark内置的)来使用PostgreSQL,但我不知道如何让它在Spark的Hive中工作 在指令中,我看到我需要将postgresql-jdbc.jar放入或链接到hive/lib,以便hive在运行时可以包含postgresqljdbcApache spark 使用内置配置单元运行Spark,并为配置单元元存储配置远程PostgreSQL数据库,apache-spark,hive,Apache Spark,Hive,我正在运行带内置配置单元的Spark v1.0.1(带Spark_配置单元的Spark安装=真正的sbt/sbt组装/组装) 我还将配置单元配置为将Metastore作为指令存储在PostgreSQL数据库中: 我可以配置Hive(不是Spark内置的)来使用PostgreSQL,但我不知道如何让它在Spark的Hive中工作 在指令中,我看到我需要将postgresql-jdbc.jar放入或链接到hive/lib,以便hive在运行时可以包含postgresqljdbc $ sudo yu
$ sudo yum install postgresql-jdbc
$ ln -s /usr/share/java/postgresql-jdbc.jar /usr/lib/hive/lib/postgresql-jdbc.jar
使用Spark中的内置配置单元,我应该将postgresql-jdbc.jar放在哪里才能工作?您有两个选择:
$SPARK\u HOME/conf/hive site.xml下放置一份hive site.xml
(或制作一个符号链接)
$SPARK\u HOME/hive-/conf/hive site.xml
在
hive site.xml
中,您需要修改javax.jdo.option.*
值。按照以下思路:
<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>
hive.metastore.local
真的
javax.jdo.option.ConnectionURL
jdbc:postgresql://localhost:5432/hivedb
javax.jdo.option.ConnectionDriverName
org.postgresql.Driver
javax.jdo.option.ConnectionUserName
******
javax.jdo.option.ConnectionPassword
******
我找到了解决我问题的办法。我需要为
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\u SUBMIT\u类路径用于SPARK SUBMIT(我不确定)
现在我可以将
sparkshell
与内置的配置一起使用Postgres中的Metastore
我将Hive site.xml
放到$spark\u HOME/conf
中,但它不起作用。我想当我放置hivesite.xml
时,这将成为内置配置单元的配置。我的hive site.xml
包含了选项2中建议的所有配置。我可以将shark与hive一起使用,但我需要在Spark上使用hive,因为我想使用pyspark编写代码。谢谢你的帮助!我原来放火花不是鲨鱼。我看错了,现在将回到spark。我也没有在spark_家中找到蜂巢目录。如果我能将postgresql-jdbc.jar放在SPARK安装的hive/lib中,我就能解决我的问题。你有什么建议吗?如果你使用shark,蜂巢目录是为你准备的。然而,你没有使用它。我已经更新了我的答案