配置单元联接失败mr.mapredlocaltask

djmepvbi  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(393)

我对hive和hadoop还不熟悉,这里我尝试连接hive中的两个示例表,其中的表没有任何主外键关系,只是为了练习:-表如下所示

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;

结果:-
query id=cloudera\u 20170911030505\u 93378edb-f8b8-45d0-9141-3fe065211f3d total jobs=1失败:执行错误,从org.apache.hadoop.hive.ql.exec.mr.mapredlocaltask返回代码1
因为我是新来的配置单元从sql建议我如何解决这个错误?任何帮助都将不胜感激。

rggaifut

rggaifut1#

设置hive.auto.convert.join=false;解决了我的问题。。

zaq34kh6

zaq34kh62#

查询:
从employees t1中选择employees.name作为employee\u name,选择departments.name作为department\u name
在t1.departmentid=t2.id上加入部门t2;
版本0.13之前的配置单元不支持主键概念。这一点已在稍后的hive版本中引入。所以,我们需要注意的是,列是存在的,如果列中存在重复项,它将创建多个记录。如果您想要一些其他的用例,您可以尝试使用left-outer-join、right-outer-join和full-join。使用交叉连接时要小心。
如果错误仍然存在,请发送有关所用表架构的详细信息。可以使用show create table db\u name.table\u name查看完整的架构。

相关问题