使用EC2-s和EFS的AWS中的ETL流程

时间:2018-12-01 18:22:30

标签: hadoop amazon-ec2 hive etl amazon-efs

我是一位数据工程师,在设计和创建数据集成和ELT流程方面经验丰富。以下是我的用例,我需要将流程移至aws,请问您的意见? 我要处理的文件在s3中。我需要使用Hadoop处理这些文件。我已经用蜂巢编写了现有的逻辑,只需要将其迁移到AWS。以下方法正确/可行吗?

  1. 启动一组最初称为5的ec2实例,启用自动缩放。
  2. 创建一个EFS,并将其安装在ec2实例上。
  3. 将文件从s3作为Hadoop表复制到EFS。
  4. 在EFS中的数据之上运行配置单元查询并创建新表。
  5. 该过程完成后,将最终报告表从EFS移动/导出到s3(以某种方式)。不确定是否可行,如果不可能,则整个解决方案都不可行。 6.终止EFS和EC2实例。

如果上述方法正确,那么使用EFS如何进行Hadoop编排?

谢谢, KR

1 个答案:

答案 0 :(得分:0)

  

启动一组最初称为5的ec2实例,启用自动缩放。

我不确定您是否需要自动缩放。 为什么? 假设您启动一个“大”查询,这需要大量时间和CPU。

自动缩放将启动更多实例,但是它将如何在新计算机上开始运行查询的“分数”呢?

在运行查询之前,所有机器都必须准备就绪。只要记住它。 换句话说:只有现在可用的计算机才能处理查询。

  

将文件从s3作为Hadoop表复制到EFS。

这个想法没有任何问题。 请记住,您可以将数据保存在EFS中。

如果EFS太贵了, 请检查提供Raid 0的EBS-magnetic的选项。 您将以最低的成本获得更快的速度。

其余的一切都很好,这是进行“按需”交互式分析的方法之一。

请查看AWS Athena

该服务允许您在s3对象上运行查询。

您可以使用Json甚至Parquet(效率更高!)

此服务可能足以满足您的需求。

祝你好运!