我在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并编写一个可以进行转换的工具,但是如果有现成的工具可以执行此操作我更喜欢使用它。
有什么想法/建议吗?
答案 0 :(得分:0)
我最终写了一个工具来将架构从pyspark解析为Redshift Spectrum。