我有一个AWS Glue作业,它从数据源读取如下:
datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "dev-data", table_name = "contacts", transformation_ctx = "datasource0")
但是当我在动态帧上调用.toDF()时, Headers 是“col0”,“col1”,“col2”等,而我的实际 Headers 位于数据帧的第一行 .
注意 - 我无法手动设置它们,因为数据源中的列是可变的并且在循环中的列上迭代以设置它们导致错误,因为您必须多次设置相同的数据帧变量,这可以' t处理 .
从数据源读取时如何捕获 Headers ?
1 回答
事实证明这是胶水爬虫中的一个错误,它们还不支持 Headers . 我使用的解决方法是无论如何都要经历爬行数据的动作,然后当爬虫完成时,我有一个lambda触发爬虫完成 Cloud 监视事件,lambda启动直接从s3读取的粘合作业 . 当胶水被固定以支持读取 Headers 时,我可以切换出我在 Headers 中读取的方式 .