Oleksiy Sayankin created HIVE-13706:
---------------------------------------
Summary: Need default actualOutputFormat for
HivePassThroughOutputFormat
Key: HIVE-13706
URL: https://issues.apache.org/jira/browse/HIVE-13706
Project: Hive
Issue Type: Bug
Reporter: Oleksiy Sayankin
Assignee: Oleksiy Sayankin
Customer migrated from Hive-0.13 to Hive-1.2
Old tables have description:
{code}
Table Parameters:
hbase.table.name /user/test/xyz
storage_handler
org.apache.hadoop.hive.hbase.HBaseStorageHandler
transient_lastDdlTime 1462273708
# Storage Information
SerDe Library: org.apache.hadoop.hive.hbase.HBaseSerDe
InputFormat: org.apache.hadoop.hive.hbase.HiveHBaseTableInputFormat
OutputFormat:
org.apache.hadoop.hive.ql.io.HivePassThroughOutputFormat
Compressed: No
Num Buckets: -1
Bucket Columns: []
Sort Columns: []
Storage Desc Params:
hbase.columns.mapping :key,cf1:val
serialization.format 1
Time taken: 0.259 seconds, Fetched: 30 row(s)
{code}
Because there is no default constructor of HivePassThroughOutputFormat in
Hive-1.2, exception happens. I can reproduce it manually.
1. Create table in Hive
{code}
create table t1(id int) STORED AS INPUTFORMAT
"org.apache.hadoop.hive.ql.io.HiveInputFormat" OUTPUTFORMAT
"org.apache.hadoop.hive.ql.io.HivePassThroughOutputFormat" ;
{code}
2. Perform query
{code}
select count(*) from t1;
{code}
3. See exception:
{code}
java.lang.RuntimeException: java.lang.NoSuchMethodException:
org.apache.hadoop.hive.ql.io.HivePassThroughOutputFormat.<init>()
at
org.apache.hive.common.util.ReflectionUtil.newInstance(ReflectionUtil.java:85)
at
org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getHiveOutputFormat(HiveFileFormatUtils.java:277)
at
org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getHiveOutputFormat(HiveFileFormatUtils.java:272)
at
org.apache.hadoop.hive.ql.exec.Utilities.createDummyFileForEmptyPartition(Utilities.java:3489)
at
org.apache.hadoop.hive.ql.exec.Utilities.getInputPaths(Utilities.java:3417)
at
org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:372)
at
org.apache.hadoop.hive.ql.exec.mr.MapRedTask.execute(MapRedTask.java:137)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:160)
at
org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:88)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1656)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1415)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1198)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1062)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1052)
at
org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:213)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:165)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:376)
at
org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:736)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.NoSuchMethodException:
org.apache.hadoop.hive.ql.io.HivePassThroughOutputFormat.<init>()
at java.lang.Class.getConstructor0(Class.java:2892)
at java.lang.Class.getDeclaredConstructor(Class.java:2058)
at
org.apache.hive.common.util.ReflectionUtil.newInstance(ReflectionUtil.java:79)
... 25 more
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)