可以在 Redshift 中的特定目录中创建外部表吗?
Posted
技术标签:
【中文标题】可以在 Redshift 中的特定目录中创建外部表吗?【英文标题】:Can an external table be created in Redshift in specific directories? 【发布时间】:2018-12-17 18:15:01 【问题描述】:我创建了一个外部表,它使用以下脚本读取指定路径中所有文件夹的文件:
CREATE EXTERNAL TABLE spectrum.eventos_ne9 (
event_date varchar(300),
event_timestamp varchar(300),
event_name varchar(300)
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://mybucket/myfolder/events_/'
现在我只想指向以 201812 开头的文件。 view image
我一直在尝试以下方式,但它没有保存任何数据:
CREATE EXTERNAL TABLE spectrum.eventos_ne9 (
event_date varchar(300),
event_timestamp varchar(300),
event_name varchar(300)
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://mybucket/myfolder/events_/201812.*'
【问题讨论】:
【参考方案1】:只需使用's3://mybucket/myfolder/events_/201812'
,因为它已经指定了一个前缀。假定末尾的*
。
【讨论】:
您好,这是我尝试过的选项之一。但它没有奏效 这适用于正常的 RedshiftCOPY
负载,但我想它不适用于 Redshift Spectrum。文档显示格式为 's3://bucket/folder/' | 's3://bucket/manifest_file'
,所以我猜它需要一个文件夹而不是文件前缀。以上是关于可以在 Redshift 中的特定目录中创建外部表吗?的主要内容,如果未能解决你的问题,请参考以下文章