我正在使用使用 PySpark 的 Spark SQL (Spark 1.6.1),并且我需要从一个 Hive 元存储加载表并将数据帧的结果写入另一个 Hive 元存储。
我想知道如何为一个 spark SQL 脚本使用两个不同的元存储?
这是我的脚本的样子。
# Hive metastore 1
sc1 = SparkContext()
hiveContext1 = HiveContext(sc1)
hiveContext1.setConf("hive.metastore.warehouse.dir", "tmp/Metastore1")
#Hive metastore 2
sc2 = SparkContext()
hiveContext2 = HiveContext(sc2)
hiveContext2.setConf("hive.metastore.warehouse.dir", "tmp/Metastore2")
#Reading from a table presnt in metastore1
df_extract = hiveContext1.sql("select * from emp where emp_id =1")
# Need to write the result into a different dataframe
df_extract.saveAsTable('targetdbname.target_table',mode='append',path='maprfs:///abc/datapath...')