You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Shengjun Xin (JIRA)" <ji...@apache.org> on 2013/11/13 07:20:17 UTC
[jira] [Updated] (HIVE-5811) Multiple view alias join error
[ https://issues.apache.org/jira/browse/HIVE-5811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Shengjun Xin updated HIVE-5811:
-------------------------------
Description:
Reproduce step:
{code}
-- Create HBase table.
create 'il_emp', {NAME => 'dt', VERSIONS => 1000}, {NAME => 'md', VERSIONS => 1000}
-- Populate data.
put 'il_emp', 'EMP001', 'dt:nm', 'Employee 001'
put 'il_emp', 'EMP001', 'dt:sl', '100'
put 'il_emp', 'EMP001', 'dt:dp', 'DEP01'
put 'il_emp', 'EMP002', 'dt:nm', 'Employee 002'
put 'il_emp', 'EMP002', 'dt:sl', '200'
put 'il_emp', 'EMP002', 'dt:dp', 'DEP01'
put 'il_emp', 'EMP003', 'dt:nm', 'Employee 003'
put 'il_emp', 'EMP003', 'dt:sl', '300'
put 'il_emp', 'EMP003', 'dt:dp', 'DEP02'
put 'il_emp', 'EMP004', 'dt:nm', 'Employee 004'
put 'il_emp', 'EMP004', 'dt:sl', '400'
put 'il_emp', 'EMP004', 'dt:dp', 'DEP02'
-- Create external Hive table referring to the HBase table.
CREATE EXTERNAL TABLE il_emp
(
key string,name string,salary bigint,department string
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES("hbase.columns.mapping" = ":key,dt:nm,dt:sl,dt:dp")
TBLPROPERTIES ("hbase.table.name" = "il_emp");
-- Create hive view. (dept_min_salary)
CREATE VIEW il_dept_min_salary
(
department,
min_salary
)
AS
SELECT
department,
MIN(salary) AS min_salary
FROM
il_emp
GROUP BY
department;
-- Create hive view. (dept_max_salary)
CREATE VIEW il_dept_max_salary
(
department,
max_salary
)
AS
SELECT
department,
MAX(salary) AS max_salary
FROM
il_emp
GROUP BY
department;
set hive.auto.convert.join=true;
-- Two different views (JOIN).
SELECT
e.name,
e.salary,
e.department,
v1.min_salary AS mns,
v2.max_salary AS mxs
FROM
il_emp e
JOIN il_dept_min_salary v1 ON e.department = v1.department
JOIN il_dept_max_salary v2 ON e.department = v2.department;
{code}
Error log is:
Error: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.NullPointerException
at org.apache.hadoop.hive.ql.exec.ExecMapper.map(ExecMapper.java:162)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:429)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:158)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1478)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:153)
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.NullPointerException
at org.apache.hadoop.hive.ql.exec.MapJoinOperator.loadHashTable(MapJoinOperator.java:198)
at org.apache.hadoop.hive.ql.exec.MapJoinOperator.cleanUpInputFileChangedOp(MapJoinOperator.java:212)
at org.apache.hadoop.hive.ql.exec.Operator.cleanUpInputFileChanged(Operator.java:1377)
at org.apache.hadoop.hive.ql.exec.Operator.cleanUpInputFileChanged(Operator.java:1381)
at org.apache.hadoop.hive.ql.exec.Operator.cleanUpInputFileChanged(Operator.java:1381)
at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:616)
at org.apache.hadoop.hive.ql.exec.ExecMapper.map(ExecMapper.java:144)
... 8 more
Caused by: java.lang.NullPointerException
at org.apache.hadoop.hive.ql.exec.MapJoinOperator.loadHashTable(MapJoinOperator.java:186)
... 14 more
was:
Reproduce step:
-- Create HBase table.
create 'il_emp', {NAME => 'dt', VERSIONS => 1000}, {NAME => 'md', VERSIONS => 1000}
-- Populate data.
put 'il_emp', 'EMP001', 'dt:nm', 'Employee 001'
put 'il_emp', 'EMP001', 'dt:sl', '100'
put 'il_emp', 'EMP001', 'dt:dp', 'DEP01'
put 'il_emp', 'EMP002', 'dt:nm', 'Employee 002'
put 'il_emp', 'EMP002', 'dt:sl', '200'
put 'il_emp', 'EMP002', 'dt:dp', 'DEP01'
put 'il_emp', 'EMP003', 'dt:nm', 'Employee 003'
put 'il_emp', 'EMP003', 'dt:sl', '300'
put 'il_emp', 'EMP003', 'dt:dp', 'DEP02'
put 'il_emp', 'EMP004', 'dt:nm', 'Employee 004'
put 'il_emp', 'EMP004', 'dt:sl', '400'
put 'il_emp', 'EMP004', 'dt:dp', 'DEP02'
-- Create external Hive table referring to the HBase table.
CREATE EXTERNAL TABLE il_emp
(
key string,name string,salary bigint,department string
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES("hbase.columns.mapping" = ":key,dt:nm,dt:sl,dt:dp")
TBLPROPERTIES ("hbase.table.name" = "il_emp");
-- Create hive view. (dept_min_salary)
CREATE VIEW il_dept_min_salary
(
department,
min_salary
)
AS
SELECT
department,
MIN(salary) AS min_salary
FROM
il_emp
GROUP BY
department;
-- Create hive view. (dept_max_salary)
CREATE VIEW il_dept_max_salary
(
department,
max_salary
)
AS
SELECT
department,
MAX(salary) AS max_salary
FROM
il_emp
GROUP BY
department;
set hive.auto.convert.join=true;
-- Two different views (JOIN).
SELECT
e.name,
e.salary,
e.department,
v1.min_salary AS mns,
v2.max_salary AS mxs
FROM
il_emp e
JOIN il_dept_min_salary v1 ON e.department = v1.department
JOIN il_dept_max_salary v2 ON e.department = v2.department;
Error log is:
Error: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.NullPointerException
at org.apache.hadoop.hive.ql.exec.ExecMapper.map(ExecMapper.java:162)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:429)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:158)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1478)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:153)
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.NullPointerException
at org.apache.hadoop.hive.ql.exec.MapJoinOperator.loadHashTable(MapJoinOperator.java:198)
at org.apache.hadoop.hive.ql.exec.MapJoinOperator.cleanUpInputFileChangedOp(MapJoinOperator.java:212)
at org.apache.hadoop.hive.ql.exec.Operator.cleanUpInputFileChanged(Operator.java:1377)
at org.apache.hadoop.hive.ql.exec.Operator.cleanUpInputFileChanged(Operator.java:1381)
at org.apache.hadoop.hive.ql.exec.Operator.cleanUpInputFileChanged(Operator.java:1381)
at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:616)
at org.apache.hadoop.hive.ql.exec.ExecMapper.map(ExecMapper.java:144)
... 8 more
Caused by: java.lang.NullPointerException
at org.apache.hadoop.hive.ql.exec.MapJoinOperator.loadHashTable(MapJoinOperator.java:186)
... 14 more
> Multiple view alias join error
> ------------------------------
>
> Key: HIVE-5811
> URL: https://issues.apache.org/jira/browse/HIVE-5811
> Project: Hive
> Issue Type: Bug
> Affects Versions: 0.11.0
> Reporter: Shengjun Xin
>
> Reproduce step:
> {code}
> -- Create HBase table.
> create 'il_emp', {NAME => 'dt', VERSIONS => 1000}, {NAME => 'md', VERSIONS => 1000}
> -- Populate data.
> put 'il_emp', 'EMP001', 'dt:nm', 'Employee 001'
> put 'il_emp', 'EMP001', 'dt:sl', '100'
> put 'il_emp', 'EMP001', 'dt:dp', 'DEP01'
> put 'il_emp', 'EMP002', 'dt:nm', 'Employee 002'
> put 'il_emp', 'EMP002', 'dt:sl', '200'
> put 'il_emp', 'EMP002', 'dt:dp', 'DEP01'
> put 'il_emp', 'EMP003', 'dt:nm', 'Employee 003'
> put 'il_emp', 'EMP003', 'dt:sl', '300'
> put 'il_emp', 'EMP003', 'dt:dp', 'DEP02'
> put 'il_emp', 'EMP004', 'dt:nm', 'Employee 004'
> put 'il_emp', 'EMP004', 'dt:sl', '400'
> put 'il_emp', 'EMP004', 'dt:dp', 'DEP02'
> -- Create external Hive table referring to the HBase table.
> CREATE EXTERNAL TABLE il_emp
> (
> key string,name string,salary bigint,department string
> )
> STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
> WITH SERDEPROPERTIES("hbase.columns.mapping" = ":key,dt:nm,dt:sl,dt:dp")
> TBLPROPERTIES ("hbase.table.name" = "il_emp");
> -- Create hive view. (dept_min_salary)
> CREATE VIEW il_dept_min_salary
> (
> department,
> min_salary
> )
> AS
> SELECT
> department,
> MIN(salary) AS min_salary
> FROM
> il_emp
> GROUP BY
> department;
> -- Create hive view. (dept_max_salary)
> CREATE VIEW il_dept_max_salary
> (
> department,
> max_salary
> )
> AS
> SELECT
> department,
> MAX(salary) AS max_salary
> FROM
> il_emp
> GROUP BY
> department;
> set hive.auto.convert.join=true;
> -- Two different views (JOIN).
> SELECT
> e.name,
> e.salary,
> e.department,
> v1.min_salary AS mns,
> v2.max_salary AS mxs
> FROM
> il_emp e
> JOIN il_dept_min_salary v1 ON e.department = v1.department
> JOIN il_dept_max_salary v2 ON e.department = v2.department;
> {code}
> Error log is:
> Error: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.NullPointerException
> at org.apache.hadoop.hive.ql.exec.ExecMapper.map(ExecMapper.java:162)
> at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
> at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:429)
> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
> at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:158)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1478)
> at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:153)
> Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.NullPointerException
> at org.apache.hadoop.hive.ql.exec.MapJoinOperator.loadHashTable(MapJoinOperator.java:198)
> at org.apache.hadoop.hive.ql.exec.MapJoinOperator.cleanUpInputFileChangedOp(MapJoinOperator.java:212)
> at org.apache.hadoop.hive.ql.exec.Operator.cleanUpInputFileChanged(Operator.java:1377)
> at org.apache.hadoop.hive.ql.exec.Operator.cleanUpInputFileChanged(Operator.java:1381)
> at org.apache.hadoop.hive.ql.exec.Operator.cleanUpInputFileChanged(Operator.java:1381)
> at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:616)
> at org.apache.hadoop.hive.ql.exec.ExecMapper.map(ExecMapper.java:144)
> ... 8 more
> Caused by: java.lang.NullPointerException
> at org.apache.hadoop.hive.ql.exec.MapJoinOperator.loadHashTable(MapJoinOperator.java:186)
> ... 14 more
--
This message was sent by Atlassian JIRA
(v6.1#6144)