問題タブ [apache-hudi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-spark - Apache Hudi を使用してパーティション化されていないテーブルを書き込めません
Apache Hudi を使用して、パーティション分割されていないテーブルを AWS S3 に書き込み、それをハイブに同期しています。使用中はこちらDataSourceWriteOptions
。
パーティション化されている場合、テーブルは正常に書き込まれていますが、パーティション化されていないテーブルを書き込もうとするとエラーが発生します。エラー出力スニペットは次のとおりです
ここにコードがありますHoodieInputFormatUtils.getTableMetaClientForBasePath()
283 行目LOG.info()
で NullPointerException が発生しています。そのため、パーティショニング用に提供された構成値が台無しになっているようです。このコードは AWS EMR で実行されています。
apache-kafka - Debezium + スキーマ レジストリ Avro スキーマ: 「前」フィールドと「後」フィールドがあるのはなぜですか? HudiDeltaStreamer でそれを使用するにはどうすればよいですか?
次のスキーマを持つ PostgreSQL のテーブルがあります。
スキーマ レジストリを使用するこのテーブルに対して Debezium ソース コネクタを実行するio.confluent.connect.avro.AvroConverter
と、次のようなスキーマ レジストリ スキーマが作成されます (一部のフィールドはここでは省略されています)。
Debezium によって生成される私の Kafka トピックのメッセージは次のようになります (一部のフィールドは省略されています)。
INSERT または UPDATE の場合、"before"
常にnull
であり"after"
、データが含まれています。DELETE を実行すると、逆が成り立ち、"after"
null であり"before"
、データが含まれます (ただし、すべてのフィールドはデフォルト値に設定されます)。
質問 #1:"before"
Kafka Connect がフィールドとフィールドを使用してスキーマを作成するのはなぜ"after"
ですか? なぜこれらのフィールドはこのように奇妙な振る舞いをするのでしょうか?
質問 2:スキーマ レジストリを使用しながら、Kafka Connect がフラットメッセージをトピックに送信する組み込みの方法はありますか? Flatten変換は私が必要としているものではないことに注意してください: 有効にする"before"
と、フィールドとフィールドが残り"after"
ます。
質問 #3 (実際には何も望んでいませんが、誰かが知っているかもしれません):メッセージを平坦化する必要があるのは、 HudiDeltaStreamerを使用してトピックからデータを読み取る必要があるという事実から来ており、このツールは平坦な入力データを想定しているようです。"before"
およびフィールドは、最終的に結果の.parquetファイル"after"
内の個別のオブジェクトのような列になります。HudiDeltaStreamer が Kafka Connect によって生成されたメッセージとどのように統合されるのか、誰にもわかりませんか?
apache-spark - spark-shell の Apache Hudi の例で Spark 2.3.0 のエラーがスローされる
spark-shell を使用してこの例 ( https://hudi.apache.org/docs/quick-start-guide.html ) を実行しようとしています。Apache Hudi のドキュメントには、「Hudi は Spark-2.x バージョンで動作します」と記載されています。環境の詳細は次のとおりです。
プラットフォーム: HDP 2.6.5.0-292 Spark バージョン: 2.3.0.2.6.5.279-2 Scala バージョン: 2.11.8
以下の spark-shell コマンドを使用しています (NB - Spark 2.3.2 のそれぞれの spark-avro 依存関係が見つからなかったため、spark-avro バージョンは正確には一致しません)。
データを書き込もうとすると、次のエラーが発生します。
私には、正しいavroバージョンがクラスパスに追加されていないか、ピックアップされていないように見えます。誰でも回避策を提案できますか? 私はかなりの間これで立ち往生しています。