将Spark模式转换为Redshift Spectrum嵌套模式

时间:2019-08-01 18:28:46

标签: apache-spark amazon-redshift parquet amazon-redshift-spectrum

我在EMR群集上使用Apache Spark,已读入xml数据,推断出模式,并将其以镶木地板格式存储在s3上。现在,从本质上讲,它是一个嵌套表。

使用Spark,我有了模式。现在,我希望能够为Redshift Spectrum创建一个外部表进行查询。

如何将模式从Spark提供的格式转换为Redshift Spectrum的CREATE EXTERNAL TABLE语句所需的格式?

由于我要处理多个“外部表”,因此无法手动阻塞模式。

我找不到任何现有工具来执行从Spark模式格式到Redshift Spectrum外部表格式的转换(请参见Amazon Nested Table Tutorial

Spark模式是pyspark.sql.types.StructType,我可以使用schema将模式schema.jsonValue()转换为json并编写一个可以进行转换的工具,但是如果有现成的工具可以执行此操作我更喜欢使用它。

有什么想法/建议吗?

1 个答案:

答案 0 :(得分:0)

我最终写了一个工具来将架构从pyspark解析为Redshift Spectrum。