【发布时间】:2018-11-28 11:29:12
【问题描述】:
我需要对 S3 存储桶执行附加加载。
- 每天都有新的 .gz 文件转储到 S3 位置,胶水爬虫读取数据并在数据目录中更新。
- Scala AWS Glue 作业运行并仅过滤当天的数据。
- 上述过滤后的数据按照一定的规则进行转换,并创建了一个分区的动态数据框(即年、月、日)级别。
现在我需要将此动态数据帧写入包含前一天所有分区的 S3 存储桶。事实上,我只需要将一个分区写入 S3 存储桶。目前我正在使用下面的代码将数据写入 S3 存储桶。
// Write it out in Parquet for ERROR severity
glueContext.getSinkWithFormat(
connectionType = "s3",
options = JsonOptions(Map("path" -> "s3://some s3 bucket location",
"partitionKeys" -> Seq("partitonyear","partitonmonth","partitonday"))),
format = "parquet").writeDynamicFrame(DynamicFrame(dynamicDataframeToWrite.toDF().coalesce(maxExecutors), glueContext))
我不确定上面的代码是否会执行附加加载。有没有办法通过 AWS 胶水库来实现?
【问题讨论】:
标签: apache-spark aws-glue aws-glue-data-catalog