Select 来自两个位置的数据
Select data from two locations
我需要在 S3 上使用 Redshift Spectrum 获取数据。
但是,我需要使用两个不同的文件夹 (2018 / 2019)。我怎样才能在 'location' 部分同时兼顾两者?
现在我有:
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/'
我该怎么办?
如果您希望 Amazon Redshift Spectrum 扫描多个文件夹,它们必须有一个共同的前缀。
无法将多个单独的文件夹指定为位置。
因此,您应该将这些文件夹移动到一个公共文件夹下,该公共文件夹中没有其他文件。
我需要在 S3 上使用 Redshift Spectrum 获取数据。 但是,我需要使用两个不同的文件夹 (2018 / 2019)。我怎样才能在 'location' 部分同时兼顾两者?
现在我有:
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/'
我该怎么办?
如果您希望 Amazon Redshift Spectrum 扫描多个文件夹,它们必须有一个共同的前缀。
无法将多个单独的文件夹指定为位置。
因此,您应该将这些文件夹移动到一个公共文件夹下,该公共文件夹中没有其他文件。