使用Glue从S3存储桶转换CSV文件并将转换后的数据保存回另一个S3存储桶

时间:2020-09-09 08:13:49

标签: amazon-web-services amazon-s3 aws-glue

目标是使用Glue将数据(csv文件)从一个S3存储桶转换为另一个S3存储桶。

我已经尝试过的:

  1. 我创建了CSV分类器。
  2. 我创建了一个搜寻器,用于扫描S3存储桶中的数据。

我困在哪里:

  1. 无法找到我们如何将输出再次存储在S3中而不将其保存到任何RDS或其他数据库服务中。

因为Glue输出要求提供数据库输出,而我没有,也不想使用它。

有什么方法可以实现目标而无需使用任何其他数据库系统,仅使用S3,Glue?

更多信息

示例单个CSV文件,我正在尝试合并

enter image description here

分界符为“;”的分类器

enter image description here

搜寻器配置

enter image description here

搜寻器结果(未检测到架构)

enter image description here

1 个答案:

答案 0 :(得分:0)

我假设您要合并的所有CSV文件都具有相同的架构。 您可以在Glue中编写与在本地Spark部署中编写的代码相同的代码

步骤1:从目录表中获取数据

val datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "database_name", table_name = "table_name", transformation_ctx = "datasource0")

步骤2:将datasource0动态框架转换为数据框架

val df = datasource0.toDF()

第3步:将数据帧存储到目标s3存储桶

df.write.format("csv").mode("append").save("s3://target-s3-path/Output")