在这篇文章中,我们将学习如何在Azure Synapse上设置和配置基于Azure Data Explorer的数据处理能力。
简介
数据在数量、模式和性质方面可能有所不同。数据可以是密集关联的、高度关系的、地理性质的、面向时间序列的、非常简单的结构(如键值对)等等。云计算提高了对规模的限制,几乎有无限的容量可供人们按需支配。根据数据的性质,人们需要采用一个适合处理相应类型数据的数据存储库,以便能够以最佳方式处理和消费。关系型数据通常托管在RDBMS上,密集相关的数据托管在图形数据库上,高度面向时间序列的数据托管在时间序列数据库上,还有许多这样的数据库和服务类别,它们满足特定类别的数据。
在Azure云平台上,提供了各种数据库,如Azure SQL、Azure Database for PostgreSQL,以及其他一些数据库。对于源自日志和物联网等来源的数据,其中的数据是自由文本或典型的基于JSON的半结构化有效载荷的形式,需要一个适合这种数据的数据管理和处理系统。Azure处理这类数据的主要产品是Azure Data Explorer。在现代数据湖模式中,使用Azure数据湖存储在数据湖上收集数据,并使用Azure的数据仓库产品--Azure Synapse分析服务来分析大量数据。这项服务最近引入了Azure Data Explorer功能,以促进对Azure Synapse上的这些数据进行处理和分析。
Azure数据资源管理器的独特功能
虽然我们知道Azure Data Explorer是Azure提供的以临时分析方式处理自由文本和半结构化的服务,但必须了解这项服务的独特功能,使其成为这类数据的最佳选择。
- 数据收集--Azure数据资源管理器支持各种数据管道框架和数据源,这些框架和数据源以半结构化或自由文本格式交付或生成数据。这类系统或框架的例子有Kafka流、Azure数据湖存储、Azure Event Hub日志等。
- 数据建模 - 关系型数据以及分析型数据通常以规范化的表格或维度和事实的形式进行建模。但基于日志的数据或自由文本数据一般不采用同样的建模方式。Azure数据资源管理器有原生的功能,可以促进数据消费,而不需要以复杂的方式对数据进行建模,因为它内在地以适合临时消费的方式来组织数据。
- 数据消费--由于这个工具的目的是让分析师和高级用户以自我服务的方式使用,预计它应该支持以不需要大量编程或技术技能的查询语言进行数据访问。Kusto查询语言(KQL)是一种用户友好型语言,与SQL和Excel有类似的公式形成。
- 数据处理性能--Azure数据资源管理器是一个分布式系统,可以在云规模上处理大量的数据。计算和存储可以独立扩展,因为它与Azure数据湖存储等服务集成,可以将其作为存储层,计算层可以原生使用或与Synapse等服务一起使用。它有自动优化数据的功能,消除了使用索引等技术和其他相关机制进行持续查询优化的需要。
Azure数据资源管理器池架构
下面显示的是Azure Synapse中Azure Data Explorer池的官方架构图。在Synapse中,有三个不同的池--无服务器SQL池、专用SQL池和Apache Spark池。为了启用Azure Synapse的数据资源管理器相关功能,Azure数据资源管理器池已经在预览版中推出(截至本文的草稿)。
我们来简单分析一下这个架构图。存储层构成了这个架构的基石,在这里,数据被存储和/或来自数据存储库,如Azure Data Lake Storage,结构化数据源,如Azure SQL,它也可以承载半结构化(JSON)数据,无SQL数据源,如Azure Cosmos DB,以及日志收集存储库,如Azure Monitor。虽然这些都是Azure的本地服务,但它也支持从其他各种流媒体和半结构化或基于日志的存储库中摄取数据,如IoT Hub、Event Hub、Event Grid、Kafka、Logstash、自定义应用API、用Azure Data Factory构建的ETL数据管道、Apache Spark和其他一些。另一方面,数据资源管理器的数据消费者可以是各种应用程序,如自定义应用程序、Power BI仪表板、Power Automate工作流程、Azure Data Factory管道(可将其作为源和目标)、流行的笔记本式编辑器(如Jupyter笔记本)、开源图表工具(如Grafana)和其他许多工具。Azure数据资源管理器池的两个核心方面是管理功能和引擎配置。我们将在下一步骤中简要介绍一下。
在Azure Synapse中创建Azure Data Explorer池
假设已经有一个Azure账户,并在其上创建了一个Azure Synapse实例。这是进行下一步练习的必要条件。导航到Azure Synapse实例的仪表板,并打开Azure Synapse Studio链接,以加入这个控制台。一旦我们进入控制台,导航到分析池部分,在那里我们可以找到数据资源管理器池,如下图所示。
点击新建按钮,启动数据资源管理器池创建向导,它将打开一个新页面,如下图所示。在第一页,我们需要填写基本细节。我们可以先为这个池子指定一个合适的名字。
计算规范决定了我们打算在这个池子上运行的工作负载的种类,以及相应的我们想为这个实例分配的资源种类。这里有两个选择--存储优化和计算优化。存储优化将有更高容量的核心配置,而计算优化类别将有颗粒级的核心配置。对于这个练习,我们不需要非常高容量的核心配置,所以我们可以继续使用最小的核心配置,即2个核心。
点击 "下一步"按钮,继续进行下一步,即附加设置。在这一步,我们需要选择我们是否打算继续根据工作负载的需求进行自动扩展,或者我们打算提供一个固定容量的资源。这也会对成本产生影响,取决于我们选择的选项类型和我们将执行的工作负载类型。
现在,我们将继续使用优化的自动规模选项。如果我们向下滚动,我们会发现更多与优化自动规模有关的选项,如下图所示。默认情况下,流式摄取和清除选项是禁用的。人们可以根据其使用情况的数据摄取情况,有选择地启用这些选项。
在下一步,人们可以选择向这个实例添加任何标签,这从操作的角度来看是非常有用的。最后,在最后一步,我们需要审查配置,并点击创建按钮来创建池。一旦池子被创建,导航到这个池子的仪表盘页面,它看起来如下所示。
这样,我们就可以在Azure Synapse上创建一个Azure Data Explorer池,并在Azure Synapse上执行Azure Data Explorer相关的工作负载。
总结
在这篇文章中,我们简单了解了Azure数据资源管理器,它的功能,以及它在相关用例中的使用。然后,我们了解了在Azure Synapse中启动的Azure数据资源管理器池,接着是这个池的实际实施。