View a markdown version of this page

调整对 AWS Glue 和 Amazon EMR 任务Spark的Spark SQL查询 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

调整对 AWS Glue 和 Amazon EMR 任务Spark的Spark SQL查询

Phani Alapaty 和 Ravikiran Rao,Amazon Web Services ()AWS

2024 年 1 月文件历史记录

Spark SQL是一个用于处理结构化数据的Apache Spark模块。Amazon EMRAWS Glue任务Spark SQL用于处理、转换和加载数据。与基本的Spark弹性分布式数据集 (RDD) API 不同,这些Spark SQL接口为数据结构和正在执行的计算提供了更多信息。Spark在内部,Spark SQL使用这些额外信息来执行其他查询优化。有多种交互方式Spark SQL,包括 SQL 和数据集 API。

在提取、转换数据或将数据加载到对象存储或数据库时,连接数据是您可以执行的最常见和最重要的操作之一。加入时,您需要考虑绩效。当某些联接、分析或聚合操作耗尽内存时,会出现多种情况,例如大型网络传输。这可能会导致 AWS Glue Spark作业失败。

本指南提供了最佳实践,可帮助您调整 AWS Glue 或 Amazon EMR 任务的Spark SQL加入查询。 Spark提供了许多可提高Spark SQL工作负载性能的配置选项。这些调整可以通过编程方式完成,也可以使用spark-submit命令将其应用于全局级别。本指南介绍了其中的一些配置,以便您可以改进或微调Spark SQL查询和应用程序的性能。本指南中的建议基于 AWS 专业服务用于提高Spark SQL查询和应用程序性能的配置。

目标受众

本指南可帮助架构师、数据工程师、数据科学家和开发人员了解可提高Spark SQL查询性能的Spark SQL配置选项。