【发布时间】:2015-03-29 22:42:32
【问题描述】:
我有一个本地文件movies.dat,格式为movie_id:movie_title:genre。例如:
1:电影1:喜剧
2:电影2:戏剧
3:电影3:恐怖
...
我使用以下命令创建了一个外部表。
CREATE EXTERNAL TABLE movies(movie_id INT, movie_title String, genre String)
ROW FORMAT
DELIMITED FIELDS TERMINATED BY '\:' -- need backslash!!
LOCATION '/exc103320/movies_copy'; -- name of the directory to copy the original file
然后,我将数据加载到表中
LOAD DATA LOCAL INPATH 'movies.dat' OVERWRITE INTO TABLE movies;
当我运行SELECT * FROM movies LIMIT 3;
我看到了前 3 行。
当我运行SELECT movie_id FROM movies LIMIT 3; 时,出现以下错误
工作总数 = 1
启动 Job 1 out of 1
由于没有 reduce 运算符,reduce 任务的数量设置为 0
开始工作 = job_1420729875693_6595,跟踪 URL = http://cshadoop1.utdallas.edu:8088/proxy/application_1420729875693_6595/
杀死命令 = /usr/local/hadoop-2.4.1/bin/hadoop 作业 -kill job_1420729875693_6595
Stage-1 的 Hadoop 作业信息:映射器数量:0;减速机数量:0
2015-03-29 17:14:54,820 第一阶段地图 = 0%,减少 = 0%
已结束作业 = job_1420729875693_6595 错误
作业期间出错,正在获取调试信息...
工作跟踪网址:http://cshadoop1.utdallas.edu:8088/cluster/app/application_1420729875693_6595
失败:执行错误,从 org.apache.hadoop.hive.ql.exec.mr.MapRedTask 返回代码 2
启动 MapReduce 作业:
作业 0:HDFS 读取:0 HDFS 写入:0 FAIL
总 MapReduce CPU 时间花费:0 毫秒
知道为什么会这样吗?
【问题讨论】: