Hive クラスターのエラー
Hive エラーの原因は、通常、syslog
ファイルで確認できます。このファイルには、[Steps (ステップ)] ペインからアクセスします。このファイルで問題を特定できない場合は、Hadoop タスク試行のエラーメッセージを確認してください。ここには、[Task Attempts] ペインから接続します。
次は、Hive クラスターに共通するエラーです。
トピック
最新バージョンの Hive を使用していますか?
Hive の最新バージョンには現行のパッチとバグ修正プログラムがすべて含まれているので、問題を解決できる場合があります。
Hive スクリプトに構文エラーがありましたか?
ステップに障害が発生した場合、Hive スクリプトを実行したステップのログの stdout
ファイルを確認してください。エラーがそこにない場合、障害が発生したタスク試行のタスク試行ログの syslog
ファイルを確認してください。詳細については、「Amazon EMR ログファイルを表示する」を参照してください。
インタラクティブに実行しているとき、ジョブに障害が発生しましたか?
マスターノードで Hive をインタラクティブに実行しているときにクラスターに障害が発生した場合、障害が発生したタスク試行のタスク試行ログの syslog
エントリを確認してください。詳細については、「Amazon EMR ログファイルを表示する」を参照してください。
Simple Storage Service (Amazon S3) と Hive の間でのデータの読み込みで問題が発生しますか?
Simple Storage Service (Amazon S3) のデータへのアクセスで問題が発生する場合、まず「Simple Storage Service (Amazon S3) との間でのデータの読み込みで問題が発生しますか?」に記載されている考えられる原因を確認します。そのいずれも原因として考えられない場合、Hive に固有の次の原因について考慮します。
-
最新バージョンの Hive を使用していることを確認してください。最新バージョンには、現行のすべてのパッチが含まれており、問題を解決できる可能性があります。詳細については、「Apache Hive」を参照してください。
-
INSERT OVERWRITE
を使用するには、Simple Storage Service (Amazon S3) バケットまたはフォルダーの内容をリストする必要があります。これはコストがかかるオペレーションです。可能であれば、Hive で既存のオブジェクトをリストアップし、削除する代わりに、パスを手動で取り除きます。 -
5.0 より前の Amazon EMR リリースバージョンを使用している場合は、HiveQL で次のコマンドを使用して、ローカルのクラスターに Simple Storage Service (Amazon S3) のリストオペレーションの結果を事前キャッシュできます。
set hive.optimize.s3.query=true;
-
可能な限り、静的パーティションを利用します。
-
一部のバージョンの Hive および Amazon EMR では、テーブルが Hive によって予期されているのとは異なる場所に保存されているために ALTER TABLES の使用が失敗する可能性があります。この問題を解決するには、
/home/hadoop/conf/core-site.xml
で を追加または更新します。<property> <name>fs.s3n.endpoint</name> <value>s3.amazonaws.com</value> </property>