可以将哪些选项传递给 AWS Glue DynamicFrame.toDF()?
Posted
技术标签:
【中文标题】可以将哪些选项传递给 AWS Glue DynamicFrame.toDF()?【英文标题】:What options can be passed to AWS Glue DynamicFrame.toDF()? 【发布时间】:2021-01-20 17:09:15 【问题描述】:toDF() 方法的文档指定我们可以将选项参数传递给该方法。但它没有指定这些选项可以是什么 (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-dynamic-frame.html)。有谁知道这方面是否有进一步的文件? 在从 DynamicFrame 创建 DataFrame 时,我对传入架构特别感兴趣。
【问题讨论】:
【参考方案1】:遗憾的是,没有太多可用的文档,但对dynamicframe 源代码的研发和分析表明如下:
toDF 中可用的选项更多地与 ResolveOption 类有关,然后是 toDF 本身,因为 ResolveOption 类为参数添加了含义(请阅读代码)。 ResolveOption 类接受 ChoiceType 作为参数。 文档中提供的选项示例类似于ResolveChoice 中提供的specs
,也提到了ChoiceType。
选项被进一步转换为序列并引用来自 _jdf here 的 toDF 函数。
看到 spark 中的 specs
、toDF 实现 dynamicFrame 和 toDF 后,我的理解是,在从 DynamicFrame 创建 DataFrame 时,我们无法传递架构,但只能进行较小的列操作。
这么说,一种可能的方法是从动态帧中获取数据帧,然后对其进行操作以更改其架构。
【讨论】:
以上是关于可以将哪些选项传递给 AWS Glue DynamicFrame.toDF()?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 PySpark / AWS Glue 中 RDD 的所有行加入/连接/合并成一条长线?