Amazon web services AWS胶水ETL作业和AWS EMR之间有什么区别?
如果我必须对存储在S3中作为csv文件的巨大数据集(比如1Tb)执行ETL,那么AWS Glue ETL作业和AWS EMR步骤都可以使用。那么AWS胶水和AWS EMR有什么不同呢。在这种情况下,哪一个是更好的解决方案。Glue允许您直接在PySpark/Python/Scala中提交ETL脚本,而无需管理EMR集群。管理基础设施的所有设置/拆除 还有一些其他托管组件,如爬虫、粘合数据目录等,可以更轻松地处理数据 您可以在您的用例中使用这两种方法,粘合速度会更快,但是您可能没有EMR带来的灵活性 来自AWS胶水常见问题解答: AWS Glue在Apache Spark环境之上工作,为数据转换作业提供扩展执行环境。AWS Glue可以推断、演化和监视ETL作业,从而大大简化创建和维护作业的过程 AmazonEMR为您提供了对Hadoop环境的直接访问,为您提供了较低级别的访问和使用Spark以外工具的更大灵活性Amazon web services AWS胶水ETL作业和AWS EMR之间有什么区别?,amazon-web-services,amazon-s3,etl,amazon-emr,aws-glue,Amazon Web Services,Amazon S3,Etl,Amazon Emr,Aws Glue,如果我必须对存储在S3中作为csv文件的巨大数据集(比如1Tb)执行ETL,那么AWS Glue ETL作业和AWS EMR步骤都可以使用。那么AWS胶水和AWS EMR有什么不同呢。在这种情况下,哪一个是更好的解决方案。Glue允许您直接在PySpark/Python/Scala中提交ETL脚本,而无需管理EMR集群。管理基础设施的所有设置/拆除 还有一些其他托管组件,如爬虫、粘合数据目录等,可以更轻松地处理数据 您可以在您的用例中使用这两种方法,粘合速度会更快,但是您可能没有EMR带来的灵活
来源:AWS Glue是AWS提供的ETL服务。AWS Glue将在Scala或Python中生成ETL代码,以从源代码中提取数据,转换数据以匹配目标模式,并将其加载到目标模式中 AWS EMR是一项可以处理大量数据的服务,它是一个支持大数据的平台。它支持Hadoop、Spark、Flink、Presto、Hive等。您可以使用上述软件启动EC2,构建一个类似的生态系统
在您的情况下,您需要处理1 TB的数据。现在,如果您想要对相同的数据进行计算,您可以使用EMR,如果您想要对转换后的数据运行分析,请使用Glue。大多数差异已经列出,因此我将更加关注具体的用例 何时选择aws胶水
所以这取决于您的用例是什么。两者都是很好的服务。Glue在引擎盖下使用EMR。这在ssh到Glue-dev端点的驱动程序中时很明显 现在,由于Glue是一个受管理的spark环境,或者说是受管理的EMR环境,所以它的灵活性降低了。您可以选择的工作人员类型是有限的。可以在spark代码中使用的语言库数量有限。直到最近,Glue才支持pandas、numpy等软件包。像presto这样的应用程序不能与Glue集成,尽管Athena是单独安装presto的好选择 然而,主要问题是胶水作业的冷启动时间介于1分钟到15分钟之间
对于探索性数据分析来说,EMR是一个不错的选择,但对于使用CI/CD的生产环境来说,Glue似乎是更好的选择 答案的第一部分似乎混淆了服务。AWS数据迁移服务(DMS)用于此目的,而不是AWS Glue。哪个更适合我的用例?比如说我需要做etl,以及一些sql查询?如果不知道您的具体用例,这真的很难说。但是,如果您不想管理自己的集群,也不需要使用特定的定制工具(如Hive),AWS Glue是一项很好的服务。除了运行预定义的或自定义的ETL作业外,还可以使用Glue Crawler从数据中派生模式,并使用Amazon Athena使用SQL查询模式。