Azure Synapse Analytics 数据分析入门,第三部分:Apache Spark





5.00/5 (1投票)
在本文中,我们将学习如何设置 Apache Spark。
在本系列第一篇文章中,我们学习了 Azure Synapse Analytics 如何帮助您分析、理解和报告大数据以推动业务洞察。在第二篇文章中,我们探讨了如何设置一个组件:SQL 池。第三篇文章将探讨如何设置另一个组件:Apache Spark,并使用它来分析纽约市安全数据。
Apache Spark 是一个流行的开源系统,用于处理大数据。大数据可能非常大,可能达到 PB 级别。它也可能很复杂,结合了多个模式和来源。它也可能是一个高速数据流。所有这些数据类型都受益于对内存中不同数据部分进行广泛的并行处理,以最大限度地减少往返永久存储的次数。Apache Spark 通过自动扩展处理和内存来高效分析大型数据集,从而促进了这一点。
Apache Spark 的应用包括对数据进行批处理,例如数据过滤、数据聚合以及将数据转换为可用数据集。它还可以为机器学习模型和分析提供数据,以处理大量数据来创建模型、发现趋势并预测未来场景。它还有助于实时数据处理,快速摄取和分析数据流。Apache Spark 的许多其他用途仅受您的想象力限制。
您使用执行资源初始化 Apache Spark 系统。当您提交程序时,它将工作划分为任务,这些任务在执行器上调度并由集群管理器管理。集群管理器可以在您设置的约束范围内启动和关闭资源。
Apache Spark 支持多种语言,包括 Scala、Python、Java、SQL、R、.NET、C# 和 F#。各种语言的 API 支持对您的程序进行更多控制。Azure 中的 Apache Spark 持续成熟,使其易于设置和运行 Spark 集群。
尽管我们在这里提供了简单的示例,但它们向您介绍了在 Azure 上设置 Apache Spark 的步骤。请注意,如果您在 Apache Spark 上运行繁重的工作负载,资源和因此产生的费用可能会迅速增加。
我们使用 Python 笔记本,这使得数据探索和实验更具交互性。笔记本可用于各种语言和环境。
注册 Azure 帐户
如果您还没有 Azure 帐户,则需要注册一个。免费的 Azure 帐户提供对所有免费服务的访问权限,以及 200 美元的信用额度,可在 30 天内探索 Azure 的其他功能。
创建 Synapse 工作区
要遵循本教程,您可以创建新的 Synapse 工作区或使用现有工作区,例如您在遵循上一个教程时创建的工作区。
要创建 Synapse 工作区,请在 Azure 门户上搜索“synapse”,然后选择“Azure Synapse Analytics”。
在 Azure Synapse Analytics 屏幕上,单击创建 Synapse 工作区或+ 新建。您现在将看到创建 Synapse 工作区的第一页。Synapse 工作区将成为您的数据和分析的重点。
在本系列第二部分中,我们更详细地介绍了如何创建 Azure Synapse Analytics 工作区。对于此练习,请使用所有默认值来创建工作区。
设置 Apache Spark 池
现在您的 Azure 帐户和 Azure Synapse Analytics 工作区可用,您可以创建 Apache Spark 池。该池预配置了 Spark 群集所需的资源。在 Synapse 工作区的“管理”选项卡下的“分析池”下,单击Apache Spark 池。要创建新池,请单击+ 新建。
命名 Apache Spark 池。此名称在 Synapse 工作区中必须是唯一的。
对于本教程,我们选择最小尺寸和配置的群集:节点尺寸小。确保启用了自动缩放,并使用节点数量上的滑块,使最小值和最大值都为 3。
现在是查看高于最低设置的定价的好时机。定价可能因托管类型、活动和其他因素而异。
单击下一步:其他设置继续。
尽管我们在“其他设置”页面上使用默认值,但我们仍将指出一些设置。
自动暂停默认设置为 15 分钟。这会在释放特定资源的同时暂停群集,并最大限度地降低 Spark 群集的成本。
您可能能够选择 Spark 池的版本。默认值为 2.4,但您可以使用版本 3.0。这处于预览阶段。您还可以查看各种语言包版本。
此外,您可以上传配置文件以指定 Spark 作业的其他设置。
最后,您可以预加载池或会话级别包。例如,Python 附带许多内置库,但您可能希望为您的作业提供自定义或第三方包。
尽管默认设置是禁用,但如果您需要特定会话的此功能,您可以启用它。您还可以使用要求文档预加载其他包并使它们可用于整个池。
单击下一步:标签继续。
标签在大多数 Azure 资源上都可用,并支持搜索不同资源组中的相关资源。您无需在此处选择任何设置。单击下一步:审阅 + 创建继续。
审阅基本设置,然后单击创建继续。预配您的池需要几分钟。接下来,您将开始使用它。
Apache Spark 具有内置的 SQL 支持,但在此示例中我们将使用 Python 笔记本。数据科学家和其他人通常使用笔记本探索和实验数据。它们提供了一个易于使用的交互式界面来创建和运行代码。
我们使用启用了 Python 语言的 Notebook。
在 Synapse 工作区开发选项卡中,单击+并选择笔记本。
选择您的 Spark 池和首选语言。在此示例中,我们使用 Python,但您也可以选择 Scala、C# 和 Spark SQL。
笔记本由单元格组成,例如 Markdown(用于注释和文档)、原始和标题。我们使用代码单元格。在大多数情况下,您可以执行一个单元格。然后,结果(变量、会话等)可在后续单元格中获得。
对于本教程,请选择您的 Apache Spark 池 (asasparkpool) 和 Python 语言。
在此示例中,我们使用来自 Azure Open Datasets 的纽约市安全数据。Azure 开放数据集的预览版使我们能够直接引用纽约市安全数据。使用此脚本建立连接。
from azureml.opendatasets import NycSafety
执行单元格。它应该无错误运行。现在我们有了纽约市安全数据的句柄。
接下来,我们想查看一个数据日期范围。我们需要几个 Python 包来设置查询的日期范围。这为我们笔记本中的进一步查询做好了准备。
以下 Python 代码将完成此操作
from azureml.opendatasets import NycSafety
from datetime import datetime
from dateutil import parser
startDate = parser.parse('2021-01-01')
endDate = parser.parse('2021-01-31')
nySafeData = NycSafety(start_date=startDate, end_date = endDate)
nySafeData = nySafeData.to_spark_dataframe()
我们可以在笔记本中创建另一个单元格,以显示指定日期范围内的 100 行数据。
另一个简单查询会计算记录。由于没有表数据,我们不需要显示。
许多 Spark 数据帧命令和用于统计、机器学习和可视化的广泛库提供了无限的机会来探索数据并提取业务分析。
这是另一个计算数据行的命令
您还可以调出 Apache Spark 用户界面 (UI) 以查看 Spark 如何调度和执行执行。
摘要
在这里,我们介绍了在 Azure Synapse Analytics 环境中创建和使用 Apache Spark 池的基础知识。在之前的文章中,我们探讨了在检查使用 Azure Synapse 分析、理解和报告数据的好处后,如何创建 SQL 池。我们以纽约市安全数据集为例。
现在您已经体验了这些工具处理大型数据集、复杂结构和高速数据流的强大功能,您可以使用这些技术来分析其他 Microsoft 示例数据集、公共数据集或您自己的数据。
例如,您可以分析您的数据池以获取业务洞察,例如客户通常一起购买的商品,以帮助推动销售。
有关如何使用这些集成数据工具来推动商业智能和机器学习的更多信息,请查看Azure Synapse Analytics 动手培训系列。您可以启动您的第一个 Synapse 工作区,构建无代码 ETL 管道,原生连接到 Power BI,连接和处理流数据,以及使用无服务器和专用查询选项。