我使用 Glue Studio 创建了一个 AWS Glue 作业。它从 Glue 数据目录中获取数据,进行一些转换,然后写入不同的数据目录。
在配置目标节点时,我启用了运行后创建新分区的选项:
作业成功运行,数据以正确的分区文件夹结构写入 S3,但在实际数据目录表中没有创建新分区 - 我仍然需要运行 Glue Crawler 来创建它们。
生成的脚本中负责创建分区的代码是这样的(作业的最后两行):
DataSink0 = glueContext.write_dynamic_frame.from_catalog(frame = Transform4, database = "tick_test", table_name = "test_obj", transformation_ctx = "DataSink0", additional_options = {"updateBehavior":"LOG","partitionKeys":["date","provider"],"enableUpdateCatalog":True})
job.commit()
我究竟做错了什么?为什么没有创建新分区?如何避免必须运行爬虫才能在 Athena 中获得可用数据?
我正在使用 Glue 2.0 - PySpark 2.4