0

spark.readStreamを使用して、カフカからデータを読み込み、結果のデータフレームで爆発を実行しています。 私はHiveテーブルに爆発の結果を保存しようとしていますが、私はその解決策を見つけることができません。 spark.writeStreamの結果をハイブに保存するにはどうすればよいですか?

  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") 

答えて

1

(それが実行されますが、私が作成した任意の新しいパーティションが表示されない)あなたがする必要があるファイルシステム

dtのパーティションのチェックHDFSを私は次の方法を試してみましたが、それは動作しません。新しいパーティションを表示するには、ハイブテーブルのMSCK REPAIR TABLEを実行します。

Sparkで何か特別なことをしていないなら、Kafka Connect HDFSはKafkaからHiveパーティションを直接登録できることを指摘しておく価値があります。

関連する問題