AWS Glue-读取S3存储桶中的所有对象

时间:2018-08-05 19:47:21

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

我想检查用胶水读取S3存储桶中的所有对象是否是一个好主意。 处理流程如下:

  1. 文件到达S3存储桶
  2. 文件名需要添加为新列
  3. 将数据加载到RDS

这将是计划的批处理作业

感谢帮助。

2 个答案:

答案 0 :(得分:0)

如果您使用的是RDS Aurora,请访问此链接:load from S3 to Aurora。按照文档在RDS Aurora参数组中进行所有配置后,使用python mysql连接器库编写python脚本,然后运行mysql命令“从S3 // ....加载数据”。请添加必填的ETL部分,以添加文件名列。

cur, conn = connect()
loadQry = "LOAD DATA FROM S3 PREFIX 's3://<bucket-name>/<part name>' REPLACE INTO TABLE <dbname.tablename> FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' IGNORE 1 LINES (@var1, @var2, @var3, @var4, @var5) SET FIELD1 = @var1, FIELD2 = @var2, FIELD3 = @var3, FIELD4 =@var4, FIELD5=@var5;"
cur.execute(loadQry)
conn.commit()
conn.close()

让我知道您是否需要任何帮助。

答案 1 :(得分:0)

您可以安排Glue crawler来将模式抓取到Glue数据日志中,这解决了您无法控制文件的问题。

如果用File name needs to be added as a new column表示每个新文件都应添加到现有表中,那么Glue可能更擅长将新文件与现有数据进行汇总。