0

我正在使用spark.readStream从 Kafka 读取数据并在生成的数据帧上运行爆炸。我正在尝试将爆炸的结果保存在 Hive 表中,但我找不到任何解决方案。我尝试了以下方法但它不起作用(它运行但我没有看到创建任何新分区)

val query = tradelines.writeStream.outputMode("append")
  .format("memory")
  .option("truncate", "false")
  .option("checkpointLocation", checkpointLocation)
  .queryName("tl")
  .start() 

sc.sql("set hive.exec.dynamic.partition.mode=nonstrict;")

sc.sql("INSERT INTO TABLE default.tradelines PARTITION (dt) SELECT * FROM tl")
4

1 回答 1

1

检查 HDFSdt文件系统上的分区

您需要MSCK REPAIR TABLE在 hive 表上运行才能查看新分区。

如果您没有对 Spark 做任何特别的事情,那么值得指出的是Kafka Connect HDFS能够直接从 Kafka 注册 Hive 分区。

于 2017-12-19T19:56:54.733 回答