【问题标题】:Spark not writing to HiveSpark 不写入 Hive
【发布时间】:2017-07-13 11:35:08
【问题描述】:

我有一个 Spark 应用程序可以完美地写入 Hive 分区表。我在 Dataframe 中添加了两个新列,我坚持在 Hive 中,它停止写入 Hive 并且默默地没有插入任何行。

我有一个DF3 = DF1.join(DF2, where(...), "inner")。我坚持DF3。连接的日志输出显示,没有错误日志。

  1. 在DF3中DF1和DF2的所有列会自动出现吗?

  2. 我也在 Hive 架构中添加了 2 个从 DF2 获取的新列,并且代码和 Hive 架构之间的顺序保持不变(即在两个地方的最后一个列之后)。有什么想法为什么不写入蜂巢?

【问题讨论】:

  • 您描述过您的数据框和配置单元表并进行比较了吗?
  • 是的,它们看起来还不错。这个加入正确吗?看起来它挂在这里: DataFrame DFJoin = DF1.join(DF2, DF1.col("device").equalTo(DF2.col("id")).or(DF1.col("device").equalTo( DF2.col("new_id"))), "inner");

标签: apache-spark hive


【解决方案1】:

尝试使用以下任一方法刷新配置单元元数据

MSCK REPAIR TABLE
REFRESH [db_name.]table_name
INVALIDATE METADATA [table_name]

【讨论】:

    猜你喜欢
    • 2020-08-06
    • 2020-03-08
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 2019-02-28
    • 2018-11-21
    • 2018-02-22
    • 1970-01-01
    相关资源
    最近更新 更多