我在Hive中创建了外部表的结构:
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';
由于它是一个外部表,数据插入应该自动完成,对吧?
答案 0 :(得分:1)
您的文件应按此顺序排列。
int,string
此处您的文件内容如下
string,int
将您的文件更改为以下内容。
86,"二零一六年八月二十日"
78," 2016年8月21日"
它应该工作。
此外,建议不要将关键字用作列名(日期);
答案 1 :(得分:1)
我认为问题出在alter table命令中。下面的代码解决了我的问题:
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查询以查看数据。
解决!