我需要在S3上使用Redshift Spectrum进行数据采集。 但是,我需要带两个不同的文件夹(2018/2019)。我该如何兼顾“位置”部分?
现在我有:
create external table test_spectrum.full_events_test2
(
timestamp bigint,
device struct<locale:struct<country:varchar, language:varchar>, platform:struct<name:varchar>>,
)
row format serde 'org.openx.data.jsonserde.JsonSerDe'
with serdeproperties('ignore.malformed.json'='true', 'paths'='event_type', 'serialization.format'='1')
stored as
inputformat 'org.apache.hadoop.mapred.TextInputFormat'
outputformat 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
location 's3://myfolder/2019/' -- But I want also 's3://myfolder/2018/'
但是,我也想要's3:// myfolder / 2018 /'
我该怎么办?
答案 0 :(得分:0)
如果您希望Amazon Redshift Spectrum扫描多个文件夹,则它们必须具有公共前缀。
不可能指定多个单独的文件夹作为位置。
因此,您应该将这些文件夹移动到一个公用文件夹下,而该公用文件夹中没有其他文件。