kar*_*art 6 amazon-web-services pyspark aws-glue aws-glue-data-catalog
我阅读了 Glue 目录表,将其转换为数据帧并使用下面的内容打印模式(使用 Python 的 Spark)
dyf = glueContext.create_dynamic_frame.from_catalog(database='database_name',
table_name='table_name',
redshift_tmp_dir=args['TempDir'])
df = dyf.toDF()
df.printschema()
Run Code Online (Sandbox Code Playgroud)
当表有数据时它工作正常。
但是,如果表为空,它不会打印架构(它无法获取空表的架构)。结果,未来的连接失败。
有没有办法克服这个问题,并使动态框架从目录中获取表模式,即使对于空表或任何其他替代方案也是如此?
AHo*_*and -1
我找到了解决方案。它并不理想,但它有效。如果您在 DynamicFrame 上调用 apply_mapping() ,它将保留 DataFrame 中的架构。例如,如果您的表有列last_name,您可以执行以下操作:
dyf = glueContext.create_dynamic_frame.from_catalog(database='database_name',
table_name='table_name',
df = dyf.apply_mapping([
("last_name", "string", "last_name", "string")
])toDF()
df.printschema()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3378 次 |
| 最近记录: |