すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:FAQ

最終更新日:Jan 11, 2025

このトピックでは、Hudiに関するよくある質問への回答を提供します。

Sparkを使用してHudiテーブルのデータをクエリすると重複データが返される場合の対処方法

  • 原因:SparkのデータソースAPIを使用してHudiデータを読み取ることは許可されていません。

  • 解決策:Hudiテーブルのデータをクエリするために使用するコマンドに spark.sql.hive.convertMetastoreParquet=false を追加します。

Hiveを使用してHudiテーブルのデータをクエリすると重複データが返される場合の対処方法

  • 原因:デフォルトでは、HiveはHiveCombineInputFormatを使用します。ただし、この入力形式クラスを使用して、テーブル用にカスタマイズされた input format を呼び出すことはできません。

  • 解決策:Hudiテーブルのデータをクエリするために使用するコマンドに set hive.input.format = org.apache.hudi.hadoop.hive.HoodieCombineHiveInputFormat を追加します。

Sparkを使用してHudiテーブルのデータをクエリするとパーティションプルーニングが有効にならない場合の対処方法

  • 原因:パーティションフィールドの名前にスラッシュ(/)が含まれている場合、クエリ中に検出されたパーティションフィールドの数が実際のパーティションレベルの数と一致しません。その結果、パーティションプルーニングは有効になりません。

  • 解決策:SparkのDataFrame APIを使用してHudiテーブルにデータを書き込むために使用するコマンドに hoodie.datasource.write.partitionpath.urlencode= true を追加します。

SparkでALTER TABLEステートメントを実行すると「xxx is only supported with v2 tables」というエラーメッセージが表示される場合の対処方法

  • 原因:Hudi-Sparkスキーマ進化機能を使用する場合、Hudiの hoodie.schema.on.read.enable 設定項目がtrueに設定されていません。

  • 解決策:Hudiテーブルに対して実行される ALTER TABLE ステートメントに set hoodie.schema.on.read.enable=true を追加します。詳細については、Apache Hudiの SparkSQL Schema Evolution and Syntax Description をご参照ください。