gpt4 book ai didi

amazon-redshift - 使用 Redshift Spectrum 读取 AWS Redshift 外部表中的数据

转载 作者:行者123 更新时间:2023-12-02 14:51:33 27 4
gpt4 key购买 nike

我在 AWS Redshift 集群中执行了以下操作以从 S3 读取 Parquet 文件。

create external schema s3_external_schema 
from data catalog
database 'dev'
iam_role 'arn:aws:iam::<MyuniqueId>:role/<MyUniqueRole>'
create external database if not exists;

然后

CREATE external table s3_external_schema.SUPPLIER_PARQ_1 (
S_SuppKey BIGINT ,
S_Name varchar(64) ,
S_Address varchar(64) ,
S_NationKey int ,
S_Phone varchar(18) ,
S_AcctBal decimal(13, 2) ,
S_Comment varchar(105))
partitioned by (Supplier bigint, nation int)
stored as PARQUET
location 's3://<My Bucket>/<File partition>/';

以上两个创建语句都成功了。当运行以下查询时,它返回 0。

select * from s3_external_schema."supplier_parq_1"
limit 10;

No rows returned.

我是否缺少让它返回查询输出的任何授权或访问权限。

最佳答案

除了 Jon Scott 所说的之外,如果外部表是使用分区创建的,除非运行 ALTER TABLE 来添加分区,否则不会显示任何数据

创建表和添加后续分区后需要运行的是

ALTER TABLE s3_external_schema.SUPPLIER_PARQ_1 ADD PARTITION ('...')
LOCATION 's3://<My Bucket>/<File partition>/'

要检查外部表查询的错误消息,应使用 SVL_S3LOG 表。

关于amazon-redshift - 使用 Redshift Spectrum 读取 AWS Redshift 外部表中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55405353/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com