hive void类型

hive文档中(http://blog.csdn.net/yfkiss/article/details/7752180)没有说明一种类型叫做void

但是,void类型确真实存在,并且,对有void类型的表的访问会引发一些问题!


谢谢 zeekvfu,经实测,HIVE 0.12.0下述问题不再存在


如下:
> select * from a;
OK
NULL    NULL
1       NULL


> CREATE TABLE test 
> AS 
> SELECT a.key, a.value, NULL  AS tmp
> FROM a;

.....

> DESC test;                                                     
OK
key     int
value   string
tmp     void

> select * from test;                                            
OK
Failed with exception java.io.IOException:java.lang.RuntimeException: Internal error: no LazyObject for VOID
Time taken: 0.075 seconds
 
若查询不涉及void字段,更糟,会造成运行时错误,错误更难发现!
> select key from test;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_201301101933_0010, Tracking URL = http://localhost:50030/jobdetails.jsp?jobid=job_201301101933_0010
Kill Command = /home/work/hadoop/hadoop-1.0.3/libexec/../bin/hadoop job  -Dmapred.job.tracker=localhost:9001 -kill job_201301101933_0010
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0
2013-01-13 18:53:38,497 Stage-1 map = 0%,  reduce = 0%
2013-01-13 18:54:08,651 Stage-1 map = 100%,  reduce = 100%
Ended Job = job_201301101933_0010 with errors
Error during job, obtaining debugging information...
Examining task ID: task_201301101933_0010_m_000002 (and more) from job job_201301101933_0010
Exception in thread "Thread-73" java.lang.RuntimeException: Error while reading from task log url
        at org.apache.hadoop.hive.ql.exec.errors.TaskLogProcessor.getErrors(TaskLogProcessor.java:130)
        at org.apache.hadoop.hive.ql.exec.JobDebugger.showJobFailDebugInfo(JobDebugger.java:211)
        at org.apache.hadoop.hive.ql.exec.JobDebugger.run(JobDebugger.java:81)
        at java.lang.Thread.run(Thread.java:679)
Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: http://ubuntu:50060/tasklog?taskid=attempt_201301101933_0010_m_000000_1&start=-8193
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1403)
        at java.net.URL.openStream(URL.java:1029)
        at org.apache.hadoop.hive.ql.exec.errors.TaskLogProcessor.getErrors(TaskLogProcessor.java:120)
        ... 3 more
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
MapReduce Jobs Launched: 
Job 0: Map: 1   HDFS Read: 0 HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值