从一个配置单元读取所有表,然后使用spark写入另一个群集中的另一个配置单元

时间:2018-12-20 08:27:42

标签: apache-spark hadoop hive

我们可以通过将hive-site.xml放到spark的“ conf”方向上来从蜂巢中读取或写入表格。但是现在我有两个可以相互连接的集群。让我们说蜂巢1在集群中,并在另一个群集上配置单元2

现在我需要从配置单元1读取数据并进行一些转换,然后再写入配置单元2,问题是我只能放置一个hive-site.xml文件来激发配置文件,这意味着我执行

someDataFrame.write.saveAsTable("dbName.tableName")

,它将保存到配置单元1而不配置为配置单元2,因为火花只能识别一个配置单元(配置单元1)

我的问题是我可以使用Spark读写不同集群上的不同蜂箱吗?

1 个答案:

答案 0 :(得分:0)

由于在此操作期间只有一个Hive Context处于活动状态,所以我要说这是不可能的。

至少,您必须使用LOCATION hdfs://othernamenode:9000/table/path实际上将“本地” Hive元存储库中的表注册为外部表,然后使Spark以这种方式写入该表,但我没有尝试过< / p>

或者,查看用于迁移Hive表的Circus Train项目