从AWS Glue作业中的数据源读取标题

Tib*_*rzz 5 amazon-web-services pyspark aws-glue

我有一个AWS Glue作业,它从这样的数据源读取:

datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "dev-data", table_name = "contacts", transformation_ctx = "datasource0")
Run Code Online (Sandbox Code Playgroud)

但是,当我在动态帧上调用.toDF()时,标头为'col0','col1','col2'等,而我的实际标头位于数据帧的第一行。

注意-我无法手动设置它们,因为数据源中的列是可变的,并且在循环中遍历这些列以设置它们会导致错误,因为您必须多次设置相同的dataframe变量,这种粘合可以t处理。

从数据源读取时如何捕获标头?

Tib*_*rzz 1

事实证明这是胶水爬行器中的一个错误,它们还不支持标头。我使用的解决方法是执行爬取数据的动作,然后当爬虫完成时,我有一个 lambda 触发爬虫完成云监视事件,并且 lambda 启动直接从 s3 读取的粘合作业。当粘连被修复以支持在标题中读取时,我可以切换在标题中读取的方式。