AWS Glue多租户文件标准化到通用模式

时间:2018-11-15 14:59:36

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

我有S3存储桶,用于存储来自不同客户端的不同格式的所有文件,并且不时有新文件到达。

来自不同客户端的文件存储在CLIENT_ID子文件夹下。这些子文件夹中的文件具有相同的格式。但是,文件夹之间的文件格式可能会有所不同。例如,在文件夹CLIENT_1中,我们在CLIENT_2中有用","分隔的CSV文件,在"|"中有CSV文件,在CLIENT_N中,则有JSON文件,依此类推。 / p>

S3
   Client1
      file1.csv
      file2.csv
   Client2
      file1.json
   ClientN
      file.txt

我可以有成千上万个这样的文件夹/文件,并且我需要监视/ ETL所有它们(处理现有文件并连续处理这些文件夹中的新到达文件)。在这些文件的ETL之后,我希望以我的通用格式获取规范化的信息,并在通用表中将其存储在数据库中的某个地方,比如说在AWS RedShift中

我认为可以将AWS Glue用于此目的。例如,新文件的到来将自动触发Glue ETL作业(可能吗?)。

现在,我不了解如何使用AWS Glue正确组织这些数据的ETL。我想(希望)我可以使用Glue数据目录来从S3文件创建表。.但是如何让Glue数据目录知道新数据已经到达,并且必须在Glue ETL作业之前也进行元存储? / p>

此外,如何在Glue ETL作业中仅接收有关未处理数据/表的信息,以便不处理先前处理的数据?如何获取有关创建表的原始S3文件名的信息?我需要此信息以便接收CLIENT_ID(bitbucket文件夹名称),以便能够使用与此特定客户端相关的设置来配置我的Glue ETL作业。

请告知。我将非常感谢对此的任何帮助。谢谢!

0 个答案:

没有答案