我创建了一个Hive表,该表从文本文件加载数据。但是它对所有查询返回的空结果集。
我尝试了以下命令:
CREATE TABLE table2( id1 INT, id2 INT, id3 INT, id4 STRING, id5 INT, id6 STRING, id7 STRING, id8 STRING, id9 STRING, id10 STRING, id11 STRING, id12 STRING, id13 STRING, id14 STRING, id15 STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION '/user/biadmin/lineitem';
命令被执行,并且表被创建。但是,对于所有查询,始终返回0行,包括SELECT * FROM table2;
SELECT * FROM table2;
样本数据:
单行输入数据:
1 | 155190 | 7706 | 1 | 17 | 21168.23 | 0.04 | 0.02 | N | O | 1996-03-13 | 1996-02-12 | 1996-03-22 |送货到人|卡车|上方的普通法院|
我已经附上了数据文件的屏幕截图。命令的输出:DESCRIBE FORMATTED table2;
| Wed Apr 16 20:18:58 IST 2014 : Connection obtained for host: big-instght-15.persistent.co.in, port number 1528. | | # col_name data_type comment | | | | id1 int None | | id2 int None | | id3 int None | | id4 string None | | id5 int None | | id6 string None | | id7 string None | | id8 string None | | id9 string None | | id10 string None | | id11 string None | | id12 string None | | id13 string None | | id14 string None | | id15 string None | | | | # Detailed Table Information | | Database: default | | Owner: biadmin | | CreateTime: Mon Apr 14 20:17:31 IST 2014 | | LastAccessTime: UNKNOWN | | Protect Mode: None | | Retention: 0 | | Location: hdfs://big-instght-11.persistent.co.in:9000/user/biadmin/lineitem | | Table Type: MANAGED_TABLE | | Table Parameters: | | serialization.null.format | | transient_lastDdlTime 1397486851 | | | | # Storage Information | | SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe | | InputFormat: org.apache.hadoop.mapred.TextInputFormat | | OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | | Compressed: No | | Num Buckets: -1 | | Bucket Columns: [] | | Sort Columns: [] | | Storage Desc Params: | | field.delim | |
+ ------------------------------------------------- -------------------------------------------------- -------------- +
谢谢!
请确保位置 /user/biadmin/lineitem.txt 实际上存在,并且那里有数据。由于您正在使用 LOCATION 子句,因此您的数据必须存在于此处,而不是默认的仓库位置 / user / hive / warehouse 。
快速进行 ls 验证:
bin/hadoop fs -ls /user/biadmin/lineitem.txt
另外,请确保使用正确的 定界符 。