首页 > 解决方案 > 从 AWS Glue 作业中的数据源读取标头

问题描述

我有一个从数据源读取的 AWS Glue 作业,如下所示:

datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "dev-data", table_name = "contacts", transformation_ctx = "datasource0")

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

注意 - 我无法手动设置它们,因为数据源中的列是可变的,并且在循环中迭代列以设置它们会导致错误,因为您必须多次设置相同的数据框变量,而胶水可以'处理。

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

标签: amazon-web-servicespysparkaws-glue

解决方案


你可以试试withHeader参数。例如

dyF = glueContext.create_dynamic_frame.from_options(
    's3',
    {'paths': ['s3://awsglue-datasets/examples/medicare/Medicare_Hospital_Provider.csv']},
    'csv',
    {'withHeader': True})

这方面的文档可以在这里找到


推荐阅读