0

我目前正在设计 AWS 支持的数据湖。

我现在拥有的:

  1. 上传到 s3 的 XML 文件
  2. AWS Glue 爬虫构建目录
  3. AWS ETL 作业转换数据并以 parquet 格式保存。

每次 etl 作业转换数据时,它都会创建新的 parquet 文件。我认为存储数据的最有效方法是单个 parquet 文件。是这样吗?如果是这样如何实现这一点。

自动生成的作业代码:https ://gist.github.com/jkornata/b36c3fa18ae04820c7461adb52dcc1a1

4

1 回答 1

0

您可以通过“覆盖”来做到这一点。Glue 不支持“覆盖”模式。但是您可以将 DynamicFrame 对象转换为 spark 的 DataFrame 并使用 spark 而不是 Glue 来编写它:

dropnullfields3.toDF()
       .write
       .mode("overwrite")
       .format("parquet")
       .save(s3//output-bucket/[nameOfyourFile].parquet)
于 2019-08-16T09:14:19.963 回答