使用配置单元创建分区外部表:没有可用数据

uttx8gqw  于 2021-06-28  发布在  Hive
关注(0)|答案(2)|浏览(451)

我在hdfs上有以下文件:

我在配置单元中创建外部表的结构:

CREATE EXTERNAL TABLE google_analytics(
  `session` INT)
PARTITIONED BY (date_string string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LOCATION '/flumania/google_analytics';

ALTER TABLE google_analytics ADD PARTITION (date_string = '2016-09-06') LOCATION '/flumania/google_analytics';

之后,在配置单元中创建了表结构,但我看不到任何数据:

因为它是一个外部表,所以数据插入应该自动完成,对吗?

yyhrrdl8

yyhrrdl81#

我想问题出在altertable命令上。下面的代码解决了我的问题:

CREATE EXTERNAL TABLE google_analytics(
  `session` INT)
PARTITIONED BY (date_string string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LOCATION '/flumania/google_analytics/';

ALTER TABLE google_analytics ADD PARTITION (date_string = '2016-09-06');

在这两个步骤之后,如果您有一个date_string=2016-09-06子文件夹,其中有一个对应于表结构的csv文件,那么数据将自动加载,并且您可以使用select查询查看数据。
解决了的!

vktxenjb

vktxenjb2#

您的文件应按此顺序。
int,字符串
在这里,文件内容按以下顺序排列
字符串,int
把你的文件改到下面。
86,"2016-08-20"
78,"2016-08-21"
应该有用。
也不建议使用关键字作为列名(日期);

相关问题