hive表返回所有查询的空结果集

ruoxqz4g  于 2021-06-03  发布在  Hadoop
关注(0)|答案(5)|浏览(400)

我创建了一个配置单元表,它从文本文件加载数据。但它在所有查询上返回空结果集。
我尝试了以下命令:

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; 样本数据:
单行输入数据:
1 | 155190 | 7706 | 1 | 17 | 21168.23 | 0.04 | 0.02 | n | o | 1996-03-13 | 1996-02-12 | 1996-03-22 |亲自送货|卡车|普通法院|
我附上了数据文件的屏幕截图。命令输出:描述格式化表2;

| 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                 |                                                                          |
dxxyhpgq

dxxyhpgq1#

我能够把数据加载到表中。问题是:
位置'/user/biadmin/lineitem';
没有加载任何数据。但是当我给包含文件的目录指定如下路径时:
位置'/user/biadmin/tpc-h';
我把lineite.txt文件放在tpc-h目录中。
成功了!

rn0zuynd

rn0zuynd2#

您使用的是托管表还是外部表??如果是外部表,则在创建表时应使用external关键字。创建表之后,使用load命令将数据加载到表中。如果它是托管表,那么在将数据加载到表之后,您可以在hadoop中看到hive仓库目录中的数据。默认路径是“/user/hive/warehouse/yourtablename”。您应该在配置单元shell中运行load命令。

wtzytmuj

wtzytmuj3#

请确保location/user/biadmin/lineitem.txt确实存在,并且您在那里有数据。因为您使用的是location子句,所以您的数据必须出现在那里,而不是默认的仓库位置/user/hive/warehouse。
快速执行ls以验证:

bin/hadoop fs -ls /user/biadmin/lineitem.txt

另外,请确保使用了正确的分隔符。

cvxl0en2

cvxl0en25#

你试过了吗 LOAD DATA LOCAL INFILE ```
LOAD DATA LOCAL INFILE'/user/biadmin/lineitem.txt' INTO TABLE table2
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\n'
(id1,id2,id3........);

文档:http://dev.mysql.com/doc/refman/5.1/en/load-data.html

相关问题