【问题标题】:Read all tables from one hive then write to another hive on another cluster using spark从一个配置单元读取所有表,然后使用 spark 写入另一个集群上的另一个配置单元
【发布时间】:2018-12-20 22:47:57
【问题描述】:

我们可以通过将hive-site.xml 放在spark 的“conf”方向从hive 读取或写入表。但是现在我有两个可以相互连接的集群。假设集群上的hive 1 和hive 2 在另一个集群上

现在我需要从 hive 1 读取数据并进行一些转换然后写入 hive 2,问题是我只能将一个 hive-site.xml 文件放入 spark conf,意味着当我执行时

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

,它会保存到hive 1而不是hive 2,因为spark只识别一个hive(hive 1)

我的问题是我可以使用 spark 读写不同集群上的不同配置单元吗?

【问题讨论】:

    标签: apache-spark hadoop hive


    【解决方案1】:

    由于在此操作期间只有一个 Hive 上下文处于活动状态,因此我想说这是不可能的。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多