【发布时间】:2017-07-13 11:35:08
【问题描述】:
我有一个 Spark 应用程序可以完美地写入 Hive 分区表。我在 Dataframe 中添加了两个新列,我坚持在 Hive 中,它停止写入 Hive 并且默默地没有插入任何行。
我有一个DF3 = DF1.join(DF2, where(...), "inner")。我坚持DF3。连接的日志输出显示,没有错误日志。
在DF3中DF1和DF2的所有列会自动出现吗?
我也在 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