65.9K
CodeProject 正在变化。 阅读更多。
Home

Azure Synapse Analytics 数据分析入门,第一部分:概述

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2021年7月5日

CPOL

5分钟阅读

viewsIcon

5636

在本文中,我们将了解 Azure Synapse Analytics 如何帮助您分析、理解和报告大数据,以推动业务洞察。

Azure Synapse Analytics 提供先进、可伸缩的工具,用于分析来自众多来源的数据。它在一个易于管理的单一环境中完成这一切。其报告功能可帮助您理解数据,从而驱动业务洞察。本系列文章将介绍 Synapse 工作区、Synapse Studio、Synapse Studio Knowledge Center 画廊(其中包含示例数据集、Notebook、SQL 脚本和管道)、无服务器 SQL 和 Spark Notebook。

我们将一步步指导您创建工作区,使用画廊中现有的示例数据,并利用一些可用工具,帮助您在这个激动人心的领域入门。

我们将首先探讨组织如何转变数据处理方式,并深入了解 SQL 池和 Apache Spark。

从 ETL 转向 ELT

过去,数据工程师、数据科学家、业务分析师和开发人员拥有数据仓库。通常,创建数据仓库涉及基于定义良好的架构来定义度量和关键绩效指标。

开发和维护数据仓库需要大量的精力。我们需要执行提取、转换和加载 (ETL) 操作。ETL 涉及处理所有数据源,将它们强制转换为标准格式,然后再进行验证并加载到数据仓库中。

映射系统、文件类型、字段、数据类型和查找非常复杂。您可能需要花费数百万美元投资于数据仓库,才能看到任何结果。业务、系统和摄取的数据类型的更改也可能在现有数据中引起连锁式修改。

虽然其中许多工作仍然是必需的,但组织通常会迁移到提取、加载和转换 (ELT) 操作。Microsoft Azure Data Lake 等系统建立在此基础上。在这里,我们可以将任何数据以其原始形式倾倒到数据湖中,并使其可供任何进程使用。本质上,我们是在延迟转换步骤,直到您需要数据为止。不同的数据应用程序可能会使用其他转换。

组织面临的另一个挑战是处理大数据。大数据可能非常庞大(PB 级数据)且复杂,或者具有高速流。在本地数据仓库中进行扩展以处理大数据可能存在问题。随着数据量的增加,必须订购新服务器,将其添加到数据中心,然后进行配置,才能解决单个问题。

通过 SQL 无服务器(以前称为按需)池,可以跨多个数据源(包括 Azure Data Lake Gen2、Spark 表和 Cosmos DB)执行查询,从而实现对不同数据的灵活探索。

响应需要扩展的业务变更需要时间,并且在需要缩减规模时也没有任何节省。迁移到云并使用 Apache Spark 池等软件可以节省时间。但它仍然需要管理、维护和支持。

尽管这些问题复杂且耗时,但 Microsoft Azure 借助 HDInsight 解决了一些可伸缩性挑战。借助 Azure Synapse Analytics 的可伸缩性,组织可以将开发和生产集成到单一工具中,并显著减少资源管理。

SQL 池和 Apache Spark 池是 Azure Synapse Analytics 的两项重要功能。我们将在下文进行描述,并在后续文章中探讨实际操作示例。完成本系列文章中的示例后,您就可以开始处理数据了。

SQL 池

Azure Synapse 中内置了一个无服务器 SQL 数据库池。此 SQL 池(以前称为 SQL 数据仓库 (SQL DW))使您能够使用 Microsoft Transact-SQL (T-SQL) 语法以及相关工具和函数来查询数据湖中的数据。

您还可以根据项目、配置和身份验证要求创建一个或多个专用 SQL 池。

Apache Spark

Apache Spark 是一个流行的开源系统,用于处理大数据。大数据项目受益于对数据不同部分的广泛并行处理,并在内存中执行所有操作以最大程度地减少对永久存储的往返。Apache Spark 通过自动扩展处理和内存来有效分析大型数据集,从而实现这一点。

您可以使用 Apache Spark 对数据进行批量处理、过滤、聚合和转换,将其转换为可用数据集。另一个应用是为机器学习模型提供训练和执行。数据科学家需要处理大量数据来创建模型、发现趋势和预测未来场景。Apache Spark 对于实时数据处理也很有帮助,在这些场景中,应用程序需要快速摄取数据流并在运行时对其进行分析。Apache Spark 还有许多其他用途,仅受您的想象力限制。

Apache Spark 系统包含一组执行资源,并在配置的资源内进行扩展。当您提交程序时,Spark 将工作分解为任务。它将任务安排在由集群管理器管理的执行器上运行。集群管理器在您的设定约束范围内向上和向下扩展资源。

Apache Spark 非常灵活,支持多种语言,包括 Scala、Python、Java、SQL、R、.NET、C# 和 F#。各种语言的 API 使您能够更精确地控制程序。

后续步骤

Azure Synapse Analytics 提供了专注的工具来处理大数据作业。本文首先概述了其功能,而其余两篇文章将介绍 SQL 池和 Apache Spark 池的实际操作示例。

尽管本系列文章中的示例很简单,但它们将向您介绍在 Azure 上设置 Apache Spark 的步骤。请注意,如果您运行大量的 Apache Spark 工作负载,资源和费用可能会迅速增加。

我们将使用 Python Notebook,它们便于进行数据探索和实验。这些 Notebook 可用于多种语言和环境。

如需更多培训,请继续阅读本系列的第二篇文章,了解如何使用 SQL 池。

要详细了解如何使用 Azure Synapse 来驱动商业智能和机器学习,您还可以参加Azure Synapse Analytics 实操培训系列

© . All rights reserved.