使用 Azure Synapse Analytics 中的 Spark

已完成

可以在 Spark 上运行多种不同类型的应用程序,包括 Python 或 Scala 脚本中的代码、编译为 Java 存档 (JAR) 的 Java 代码等。 Spark 通常用于两种类型的工作负载:

  • 用于引入、清理和转换数据的批处理或流式处理作业 - 通常作为自动化管道的一部分运行。
  • 用于浏览、分析和直观呈现数据的交互式分析会话。

在笔记本中运行 Spark 代码

Azure Synapse Studio 包含用于使用 Spark 的集成笔记本界面。 笔记本提供了一种直观的方法来将代码与 Markdown 笔记结合在一起,数据科学家和数据分析师通常会使用此方法。 Azure Synapse Studio 中集成的笔记本体验的外观与热门的开源笔记本平台 Jupyter 笔记本的外观类似。

Azure Synapse Studio 中笔记本的屏幕截图。

注意

虽然通常以交互方式使用,但笔记本可以包含在自动化管道中,并作为无人参与的脚本运行。

笔记本由一个或多个单元格组成,每个单元格都会包含代码或 markdown。 笔记本中的代码单元格具有一些有助于提高工作效率的功能,包括:

  • 语法突出显示和错误支持。
  • 代码自动完成。
  • 交互式数据可视化。
  • 导出结果的功能。

提示

要详细了解如何在 Azure Synapse Analytics 中使用笔记本,请参阅 Azure Synapse Analytics 文档中的在 Azure Synapse Analytics 中创建、开发和维护 Synapse 笔记本一文。

从 Synapse Spark 池访问数据

可以使用 Azure Synapse Analytics 中的 Spark 处理来自各种源的数据,包括:

  • 基于 Azure Synapse Analytics 工作区的主存储帐户的数据湖。
  • 基于定义为工作区中链接服务的存储的 Data Lake。
  • 工作区中的专用或无服务器 SQL 池。
  • Azure SQL 或 SQL Server 数据库(使用用于 SQL Server 的 Spark 连接器)
  • Azure Cosmos DB 分析数据库,定义为链接服务,并使用 Azure Synapse Link for Cosmos DB 进行配置。
  • Azure 数据资源管理器 Kusto 数据库,定义为工作区中的链接服务
  • 外部 Hive 元存储,定义为工作区中的链接服务

Spark 最常见的用途之一是处理数据湖中的数据,可以在该数据湖中以多种常用格式读取和写入文件,包括带分隔符的文本、Parquet、Avro 等。