2017-01-23 4 views
0

私はCDH 5.9を使用していますが、以下のハイブクエリを実行中にエラーが発生しています。問題についての考え方は? 通常のselectクエリでは動作しますが、複雑なクエリでは失敗します。ハイブエラー:java.lang.Throwable:子エラー

hive> select * from table where dt='22-01-2017' and field like '%xyz%' limit 10; 
Query ID = hdfs_2017_44a9c423-4bb3-4f80-ade4-b1312971eb63 
Total jobs = 1 
Launching Job 1 out of 1 
Number of reduce tasks is set to 0 since there's no reduce operator 
Starting Job = job_201701131637_0067, Tracking URL = http://cdhum03.temp-dsc-updates.bms.bz:50030/jobdetails.jsp?jobid=job_201701131637_0067 
Kill Command = /usr/lib/hadoop/bin/hadoop job -kill job_201701131637_0067 
Hadoop job information for Stage-1: number of mappers: 6; number of reducers: 0 
2017-01-23 20:05:46,563 Stage-1 map = 100%, reduce = 100% 
Ended Job = job_201701131637_0067 with errors 
Error during job, obtaining debugging information... 
Job Tracking URL: http://cdhum03.temp-dsc-updates.bms.bz:50030/jobdetails.jsp?jobid=job_201701131637_0067 
Examining task ID: task_201701131637_0067_m_000007 (and more) from job job_201701131637_0067 
Examining task ID: task_201701131637_0067_r_000000 (and more) from job job_201701131637_0067 

Task with the most failures(4): 
----- 
Task ID: 
    task_201701131637_0067_m_000006 

URL: 
    http://cdhum03.temp-dsc-updates.bms.bz:50030/taskdetails.jsp?jobid=job_201701131637_0067&tipid=task_201701131637_0067_m_000006 
----- 
Diagnostic Messages for this Task: 
java.lang.Throwable: Child Error 
    at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:250) 
Caused by: java.io.IOException: Task process exit with nonzero status of 126. 
    at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:237) 


FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask 
MapReduce Jobs Launched: 
Stage-Stage-1: Map: 6 HDFS Read: 0 HDFS Write: 0 FAIL 
Total MapReduce CPU Time Spent: 0 msec 

ありがとうございます。

+0

ハイブテーブルにはパーティションが含まれていますか? – marjun

+0

HiveがYARNジョブの内部で何か悪いことを単に意味する「実行エラー、戻りコード2」を報告すると、YARNログ**を検査します。では、これらのログだけを調べるのはなぜですか? –

+0

ヒント:Hiveが 'Starting Job = job_201701131637_0067'を報告すると、YARNジョブIDが実際には' application_201701131637_0067' *( "job"プレフィックスはYARNの前のものです)*であり、ログを取得するコマンドラインは 'ヤーンログ-applicationId application_201701131637_0067 | more(* YARNログは非常に冗長であるため、moreを忘れないでください)* –

答えて

0

あなたの仕事にはログ用のスペースが必要ですが、jvmはそれより小さいので、データサイズを確認してください - select * from table where dt = '22 -01-2017 ' '%xyz%'のようなフィールドは、 '%xyz%'として特定の要件を使用するために全データをよりよくチェックするため、10 という制限があります。 それ以外の場合は、テーブルを削除し、日付をパーティション列として持つ新しいパーティションテーブルを作成します。

関連する問題