我想知道我们是否可以在EFS挂载文件上运行ETL作业。 如果是这样的话?是使用Hive还是其他任何服务? 我们的目标是将一个挂载点中的所有文件减少到一个文件...并将该文件存储在s3中以便更好地处理
答案 0 :(得分:1)
EFS本身并不包含特定的数据仓库产品。对于数据仓库和ETL,您可以选择在AWS环境中运行的要使用的内容。
关于你的问题: 您希望连接或以某种方式将当前EFS安装中的所有文件合并到一个文件中,并在S3中存储,如果我理解正确的话。
您没有提到您拥有的数据类型或要合并的文件类型。这对你如何做到这一点产生了巨大的影响。所以我将不得不提出一般性的建议。如果你有不同类型的数据,来自不同数据库的SQL表,文档,非sql数据;那么你需要确定如何组合这些数据。为此,您将看到可以容纳原始数据的数据集成解决方案。
亚马逊有一些可能有助于此过程的产品,如Redshift,Athena,Snowflake及其ETL解决方案胶水。添加产品取决于您公司的需求和预算。
因此,更灵活的数据集成方法是使用ELT(提取,加载,转换)而不是ETL。基本上,您将在S3实例上创建适当的文件。然后,您将一次一个地提取EFS上的每个文件,并将它们加载到您的S3文件中。然后,当您查询S3文件中的数据时,您将在查看查询结果之前执行所需的任何转换。这篇文章更详细地解释了这些差异:https://blog.panoply.io/etl-vs-elt-the-difference-is-in-the-how。
如果您想调查选项,有一些供应商支持ELT流程,例如Talend,Hadoop / Hive / Spark,Terradata和Informatica。