0

Hadoop mapreduce ジョブの実行について質問があります。参加日で分割されたテーブルスタッフがあります。次のようなステートメントを作成します。

テーブル スタッフ (id int, age int) を (join_date 文字列) で分割し、'\;' で終了する行形式で区切られたフィールドを作成します。

一部のデータをパーティション '20130921' に配置し、次のステートメントを実行すると、結果は問題ありません。

select count(*) from staff where join_date='20130921';**

しかし、パーティション '20130922' (データのないパーティション) で実行すると、map reduce ジョブの保留時間が長すぎて、永久に実行されているように見えます:

hive> select count(*) from staff where join_date='20130922';**

Total MapReduce jobs = 1**

Launching Job 1 out of 1**

**Number of reduce tasks determined at compile time: 1**

**In order to change the average load for a reducer (in bytes):**

    set hive.exec.reducers.bytes.per.reducer=<number>**

**In order to limit the maximum number of reducers:**

    set hive.exec.reducers.max=<number>**

**In order to set a constant number of reducers:**

    set mapred.reduce.tasks=<number>**

**Starting Job** = `job_201309231116_0131, Tracking URL = ....jobid=job_201309231116_0131`

**Kill Command** = `/u01/hadoop-0.20.203.0/bin/../bin/hadoop job  -kill job_201309231116_0131`

Hadoop job information for Stage-1: number of mappers: 0; number of reducers: 1
2013-09-23 17:19:07,182 Stage-1 map = 0%,  reduce = 0%
2013-09-23 17:19:07,182 Stage-1 map = 0%,  reduce = 0%
2013-09-23 17:19:07,182 Stage-1 map = 0%,  reduce = 0%

ジョブトラッカーは保留中のタスクを減らすことを示しており、このジョブは終了できないようです。

Hadoop-0.20.203.0 と hive-0.10.0 を使用しています。私は一日中グーグルで検索しましたが、同じ問題を抱えているトピックは見つかりませんでした。助けてください。

よろしくお願いします。

4

1 に答える 1