将 Parquet 文件从 AWS Glue 加载到 Redshift

Posted

技术标签:

【中文标题】将 Parquet 文件从 AWS Glue 加载到 Redshift【英文标题】:Load Parquet Files from AWS Glue To Redshift 【发布时间】:2020-12-30 19:59:49 【问题描述】:

有一个 AWS Glue 爬虫,它正在创建一个数据目录,其中包含 S3 目录中的所有表,其中包含 parquet 文件。

我需要将这些文件/表的内容复制到 Redshift 表中。 我有几个表,其中 Redshift 不支持 Parquet 文件数据大小。 VARCHAR(6635) 是不够的。

在理想情况下,希望截断这些表。

如何使用 COPY 命令将此数据加载到 Redshift? 如果我使用频谱,我只能使用 INSERT INTO 从外部表到 Redshift 表,我知道这比批量复制要慢?

【问题讨论】:

【参考方案1】:

你可以用string代替varchar(6635)(也可以在目录中编辑),如果不能,你能详细说明一下吗,文件都在parquet中,大部分数据转换参数 该副本提供的不能像 Escape、null as 等那样使用..

https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html

【讨论】:

以上是关于将 Parquet 文件从 AWS Glue 加载到 Redshift的主要内容,如果未能解决你的问题,请参考以下文章

AWS Glue 作业以 Parquet 格式写入 s3 并出现 Not Found 错误

AWS Glue - GlueContext:从 S3 读取分区数据,将分区添加为 DynamicFrame 的列

从aws glue pyspark作业中的s3加载JSON

如何克服 AWS Glue 作业中的 Spark“设备上没有剩余空间”错误

aws Glue / Redshift 的预过滤解决方案(在加载到 S3 之前)

AWS Glue Crawler 为每个分区添加表?