我有一个hdfs目录,因为我有这么多的文件。这个目录正在获取连续的数据。现在我正在尝试为hdfs位置创建一个外部分区表,如,
create external table sensor_data(sensor_name string,alert_type string,isvalid_alert boolean,value string,alert_generated_time bigint)
partitioned by (mac_id string)
clustered by(sensor_name) into 13 buckets
row format delimited
fields terminated by '|'
lines terminated by '\n'
location '/user/test';
表正在成功创建,但在选择时没有显示任何内容。选择from sensor_data where mac_id='mac_id2';从传感器数据中选择;
我试过这两种方法,我所缺少的是无法理解的。请帮助我。
1条答案
按热度按时间qij5mzcb1#
配置单元中的分区表具有特定结构:
在table位置
/user/test
每个分区必须有一个文件夹:另外,在创建新文件夹/分区时,需要通过运行
MSCK REPAIR TABLE sensor_data
请注意,数据必须具有您定义的分隔符。另外,由于表是集群的,所以需要对数据进行集群。
我建议首先使用hive的
INSERT INTO TABLE
查看数据的正确格式。