2017-09-11 9 views
1

私はHIVEとHADOOPの新機能です。ここでは、テーブルにプライマリの外部キーの関係がない2つのサンプルテーブルを練習しようとしています: テーブルは次のとおりですハイブ結合に失敗しましたmr.MapredLocalTask​​

Employees table:- 
       id name gender salary departmentid  

       1 mark  male 3333 1 
       2 Steve  male 5464 3 
       3 Ben  male 3873 2 
       4 bender male 9298 1 
       5 fender male 654  2 

departments table:- 
      id name  location 

      1  IT  NEW YORK 
      2  HR  LONDON 
      3  PAYROLL SYDNEY 

hive> select employees.name as employee_name, departments.name as department_name 
    > from employees   
    > join departments on departments.id = employees.departmentid; 

結果: -

クエリID = cloudera_20170911030505_93378edb-f8b8-45d0-9141-3fe065211f3d 合計ジョブ= 1 FAILED:実行エラー、org.apache.hadoopからの戻りコード1。こんにちはve.ql.exec.mr.MapredLocalTask​​

私はこのエラーを解決する方法を私に示唆しているSQLからハイブになって以来?どんな助けもありがとう。

+0

より明確にするためにスタックトレース全体を貼り付けることができます。 = 1 が失敗した –

+0

クエリID = cloudera_20170911041010_375af566-cc17-4649-b992-7a8a10685316 合計ジョブ:実行エラー、org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask​​ –

+0

からの戻りコード1と同様の問題が提起されてきました。このリンクを確認してください: https://community.cloudera.com/t5/Web-UI-Hue-Beeswax/Hue-FAILED-Execution-Error-return-code-1-from-org-apache-hadoop/td- p/36256。 –

答えて

0

問合せ:EMPLOYEE_NAMEとして

選択employees.name、従業員のT1からDEPARTMENT_NAME としてdepartments.name
がT1.departmentid = T2.idに部署T2に参加。

バージョン0.13までのハイブは、主キーの概念をサポートしていません。これは、ハイブの後のリリースで導入されました。 したがって、列が重複している場合は複数のレコードが作成されることに注意してください。 他のユースケースを使用したい場合は、「左外部結合」、「右外部結合」、「完全結合」を試すことができます。クロスジョインを使用するときは注意してください。

エラーが引き続き発生する場合は、使用した表スキーマの詳細を送信してください。 show create table db_name.table_nameを使用すると、完全なスキーマを表示できます。

0

set hive.auto.convert.join = false;私の場合の問題を修正しました..

関連する問題