将Parquet文件加载到Redshift

8
我有一堆存储在S3上的Parquet文件,希望以最优方式将它们加载到Redshift中。
每个文件都被拆分成多个块......从S3加载数据到Redshift的最佳方法是什么?
此外,如何在Redshift中创建目标表定义?是否有一种方法可以从Parquet中推断模式并通过编程方式创建表?我相信可以使用Redshift Spectrum来完成这项工作,但是我想知道是否可以使用脚本完成。
感谢您的帮助!
我正在考虑使用所有AWS工具(例如Glue、Lambda等)以最优方式执行此操作(性能、安全性和成本)。

如果您计划使用Glue,则在Spectrum中创建并直接使用Glue元数据存储。如果您想要定期更新元数据存储,则Glue爬虫非常有用。 - theDbGuy
2个回答

7

谢谢John的回复,在我的情况下,我只有Parquet文件,如何识别模式?我做了“Glue爬虫”,但不确定是否可以自动化并将爬虫输出导出到与Postgres兼容的CREATE TABLE语句中..... - Richard
我猜你需要找一个工具,可以从Parquet文件中提取模式。 - John Rotenstein

1
使用来自GitHub的parquet-tools来解析文件:
parquet-tool schema <filename> #will dump the schema w/datatypes
parquet-tool head <filename> #will dump the first 5 data structures

使用 jsonpaths 文件来指定映射。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接