我有一个像这样的s3文件夹结构,
s3://mydata/{country}/{date}/ ``` `{country}` 可能是30个不同国家中的任何一个 `{date}` 可能是20150101之后的任何日期 如何在hive中将{country}视为分区,将{date}视为子分区来读取这些内容?
ccgok5k51#
您可以使用hiveddl语句 ALTER TABLE ADD PARTITION ```ALTER TABLE mydataADD PARTITION (country='south-africa', date='20191024')LOCATION 's3://mydata/south-africa/20191024/';
ALTER TABLE ADD PARTITION
您可以使用shell脚本编写脚本,并将每个语句传递给hive-like `hive -e 'ALTER TABLE $TABLE ADD PARTITION $PARTITION_SPEC LOCATION $PARTITION_LOCATION'` https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl#languagemanualddl-添加分区
1条答案
按热度按时间ccgok5k51#
您可以使用hiveddl语句
ALTER TABLE ADD PARTITION
```ALTER TABLE mydata
ADD PARTITION (country='south-africa', date='20191024')
LOCATION 's3://mydata/south-africa/20191024/';