Nar*_*esh 13 hadoop hive amazon-s3
我需要同时处理多个月的数据.那么,是否有一个选项可以将多个文件夹指向外部表?例如
Create external table logdata(col1 string, col2 string........) location s3://logdata/april, s3://logdata/march
Cha*_*guy 21
简单的答案:不,创建过程location中的Hive external表必须是唯一的,Metastore需要这样才能了解表所在的位置.
话虽这么说,你可以放弃使用分区:你可以location为你的每个分区指定一个似乎最终你想要的分区,因为你按月拆分.
所以像这样创建你的表:
create external table logdata(col1 string, col2 string) partitioned by (month string) location 's3://logdata'
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样添加分区:
alter table logdata add partition(month='april') location 's3://logdata/april'
Run Code Online (Sandbox Code Playgroud)
你每个月都这样做,现在你可以查询你的表,指定你想要的任何分区,而Hive只会查看你真正想要数据的目录(例如,如果你只处理4月和6月,Hive就不会负载可能)
| 归档时间: |
|
| 查看次数: |
14274 次 |
| 最近记录: |