配置项 | 注意事项 |
目录前缀 | 日志文件会投递到对象存储桶的该目录下。在数据仓库模型中,一般对应为 table location 的地址。 |
分区格式 | 投递任务可按照创建时间进行自动分区,分区格式建议按照 hive 分区表格式指定。例如,按天分区可以设置为 /dt=%Y%m%d/test,其中 dt= 代表分区字段,%Y%m%d 代表年月日,test 代表日志文件前缀,因投递文件默认是以下划线(_)开头,大数据计算引擎会将这类文件忽略,导致查询不到数据,故需增加一个前缀,实际分区目录名称为 dt=20220424。 |
投递间隔时间 | 可在5 - 15分钟范围内选择,建议选择15分钟,250MB,这样文件数量会比较少,查询性能更佳。 |
投递格式 | 推荐 JSON 格式。 |
CREATE EXTERNAL TABLE IF NOT EXISTS `DataLakeCatalog`.`test`.`log_data` (`__FILENAME__` string,`__SOURCE__` string,`__TIMESTAMP__` bigint,`appId` string,`caller` string,`consumeTime` string,`data` string,`datacontenttype` string,`deliveryStatus` string,`errorResponse` string,`eventRuleId` string,`eventbusId` string,`eventbusType` string,`id` string,`logTime` string,`region` string,`requestId` string,`retryNum` string,`source` string,`sourceType` string,`specversion` string,`status` string,`subject` string,`tags` string,`targetId` string,`targetSource` string,`time` string,`type` string,`uin` string) PARTITIONED BY (`dt` string) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' STORED AS TEXTFILE LOCATION 'cosn://coreywei-1253240642/log_data/'
cosn://coreywei-1253240642/log_data/
目录,而不是 cosn://coreywei-1253240642/log_data/20220423/
目录。cosn://coreywei-1253240642/log_data/20220423/
目录,推断完成后在 SQL 中 location 修改回 cosn://coreywei-1253240642/log_data/
目录即可。msck repair table DataLakeCatalog.test.log_data;
alter table DataLakeCatalog.test.log_data add partition(dt='20220424')
select dt,count(1) from `DataLakeCatalog`.`test`.`log_data` group by dt;
本页内容是否解决了您的问题?