AWS Redshift使用AWS Glue进行S3 Parquet文件

问题描述 投票:1回答:2

我们有一个用例,我们在Redshift中处理数据。但我想在S3中创建这些表的备份,以便我可以使用Spectrum查询这些表。

为了将表从Redshift移动到S3,我使用的是Glue ETL。我为AWS Redshift创建了一个爬虫程序。胶水作业将数据转换为镶木地板并将其存储在S3中,按日期分区。然后,另一个爬网程序将对S3文件进行爬网以再次对数据进行编目。

如何消除第二个爬虫并在作业中执行此操作?

aws-glue amazon-redshift-spectrum
2个回答
0
投票

是的,你可以消除第二个爬虫而不是在工作中,或者你可以直接在Athena中创建一个表,如果你知道使用create external table DDL语句在s3中存在的文件的模式。然后在表上执行MSCK修复以填充所有分区中存在的数据,一旦完成,您可以使用glue update partition API调用将新分区更新到glue目录。


0
投票

而不是创建另一个爬虫来更新粘合目录,而是在AWS Athena上创建一个外部表。有关create external table命令的更多详细信息,请参阅AWS的以下文档:

AWS Athena - Create Table

由于您的数据是分区的,因此每次运行后都需要在glue目录中更新分区信息。为此你可以使用MSCK修复命令如下:

MSCK REPAIR TABLE table_name

要使用代码自动执行此操作,您可以使用以下链接中的任何AWS开发工具包,具体取决于您选择的语言:AWS SDKs

© www.soinside.com 2019 - 2024. All rights reserved.