【发布时间】:2019-12-24 16:52:29
【问题描述】:
如何使用 aws 胶水的作业 etl 显示 DataFrame?
我在下面尝试了这段代码,但没有显示任何内容。
df.show()
代码
datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "flux-test", table_name = "tab1", transformation_ctx = "datasource0")
sourcedf = ApplyMapping.apply(frame = datasource0, mappings = [("id", "long", "id", "long"),("Rd.Id_Releve", "string", "Rd.Id_R", "string")])
sourcedf = sourcedf.toDF()
data = []
schema = StructType(
[
StructField('PM',
StructType([
StructField('Pf', StringType(),True),
StructField('Rd', StringType(),True)
])
),
])
cibledf = sqlCtx.createDataFrame(data, schema)
cibledf = sqlCtx.createDataFrame(sourcedf.rdd.map(lambda x: Row(PM=Row(Pf=str(x.id_prm), Rd=None ))), schema)
print(cibledf.show())
job.commit()
【问题讨论】:
-
您检查过 cloudwatch 日志吗?
-
您能否验证您的源是否有数据。在转换为数据框之前尝试打印动态帧内容。
-
@Yuva 是的,我试过了.. 你能告诉我 df 必须显示在哪里吗?界面?谢谢
-
@Yuva 也许我需要在我的工作 etl 中删除 job.commit?
标签: python-3.x apache-spark pyspark aws-glue