在本文中,我们将学习如何先在Azure Synapse Lake数据库实例中创建表,并在之后将其与数据绑定。
简介
在以前的文章中,(下面的TOC),我们从湖泊之家的概念开始,了解了Azure Synapse分析的生态系统,包括Azure Synapse湖泊数据库。我们创建了一个湖泊数据库实例,在这个实例上创建了一个新的表,在Azure数据湖存储账户上托管数据,并配置了表以指向数据湖上托管的数据。然后,我们学习了如何配置和定制这些表的模式,并根据需要对这些表之间的关系进行建模。这是一种类型的使用情况,我们事先有数据,Azure Synapse上的表被创建,为数据集提供一个框架,以便以结构化的方式消费它。
另一种使用情况是,需要根据特定的域来创建表,此后数据将到达托管位置,通常是数据湖。这带来了两个挑战--一个是根据特定领域的需求对表进行建模,另一个是在数据到达时将这些表与数据绑定。我们将在本文中讨论这些挑战。
从Azure Synapse Lake数据库的模板中创建表
假设人们已经创建了Azure Synapse Lake数据库实例,正如之前关于同一主题的一组文章中所解释的。在这种情况下,我们必须遵循的顺序是先创建表。通常情况下,拥有特定领域专业知识的数据建模人员可以创建相关领域的数据模型。数据湖是一个托管地点,各种类型和各种领域的数据被聚集在一个共同的逻辑位置。因此,有机地需要创建各个领域的数据模型。一个包含与特定领域和子领域相关的表格的数据模型库可以证明是非常方便的,因为它可以减少对数据建模者的过度依赖,以启动对存储在数据湖中的数据的任何数据处理。虽然这不是数据建模人员的替代品,但至少它减少了启动任何工作的瓶颈,而是在数据建模人员找出最佳模型的同时,为分析师和开发人员提供了一个跳板,让他们开始工作。
Azure Synapse Lake数据库提供了一种机制,可以从一组预先定义的模板中创建表。要使用一个这样的模板来创建我们的表,请导航到湖泊数据库实例并点击下图所示的+号,然后选择下图所示的菜单项**"来自模板**"。
这个选项将打开一个新的模板库,这些模板按领域分类,如农业、银行、消费品、能源和商品交易、货运和物流、基金管理、人寿保险和年金、石油和天然气、财产和意外保险、零售,以及更多,如下所示。
这些都是高级域名,其中每一个都可以有许多子域名。比方说,我们打算创建一个分类账表,在其中存储分类账相关的数据。这涉及到银行业务领域,所以点击银行业务,它将提供以下一组子域,如下所示。每个子域的数字显示了其中包含的表定义的数量。让我们选择会计和财务报告,因为分类帐与这个子域有关。
当我们展开这个子域时,我们会发现Ledger表,如下图所示。我们将能够看到表的定义以及解释该表用途的字段。
当我们点击 "列"选项卡时,我们将能够找到列的定义以及字段的描述,这使得技术人员更容易理解建模到表中的领域相关方面。我们可以根据需要选择或取消选择任何字段。
正如我们在之前关于Azure Synapse Lake数据库的文章中所看到的,关系选项卡告诉我们表的内向和外向依赖关系。这里这个表似乎是独立的,所以我们暂时不需要添加任何相关的表。点击 "添加 "按钮,将表添加到实例中。
一旦表被添加,它将如下图所示。这就完成了练习的第一部分,在数据到来之前,我们必须先创建模式定义。
点击该表,我们将能够查看该表的一般属性和存储相关设置。默认情况下,由于这个表是从一个模板中创建的,它将获得数据库的配置,并被存储在Azure Data Lake存储上,这是我们用于Azure Synapse Lake数据库实例的配置。这些存储设置不能被改变。输入文件夹值显示了当请求访问该表的数据时,该表期望从那里获取数据的路径。这个路径暂时不存在于Azure Data Lake存储上。
其余的数据格式化或解析相关的属性可以修改,如下所示。了解从模板创建的表可以修改和不能修改的设置很重要,这样在从模板创建表时就可以准确地配置这些设置。
基于分类中的字段,我们现在需要一些样本数据。这些数据可能来自不同的数据存储库,但需要具有与表中定义的相同的模式,以使表成为数据来源。为了模拟这种情况,我们可以创建一个CSV文件,里面有一些记录。这些字段将按照它在表中定义的相同的序号位置和顺序进行解析。下面显示的是CSV文件中的几条记录的样本。
导航到Azure Data Lake存储账户,创建该表所期望的路径和文件夹,并在此位置上传CSV文件,如下图所示。在这种情况下,CSV文件的名称并不太重要。
这就完成了我们练习的后半部分,在Azure Synapse Lake数据库中定义了模式后,数据会到达。在实践中,这些数据将使用Azure Synapse Analytics或Azure Data Factory支持的数据管道和数据流进行填充。要测试该方法和配置是否有效,请导航回Azure Synapse Lake数据库实例并打开该表。使用行动省略号,并选择选项SELECT前100行。这将打开一个新的屏幕,如下图所示。点击运行菜单,执行SQL脚本,如果一切按预期进行,我们应该可以在结果窗格中看到如下所示的相同数据。
这样,我们就可以使用Azure Synapse Lake数据库中的模板来启动数据建模过程,并使用已定义的数据模型快速获取数据。
总结
在这篇文章中,我们了解了数据模型首先和最后被定义的两种使用情况。我们探索了Azure Synapse Lake数据库中的模板库,从中创建了一个表,然后将其与Azure Data Lake Storage上托管的数据绑定。
Gauri是一名SQL Server专业人员,拥有6年以上的全球跨国咨询和技术组织的工作经验。她非常热衷于研究SQL Server主题,如Azure SQL数据库、SQL Server报表服务、R、Python、Power BI、数据库引擎等。她在技术文档方面有多年的经验,喜欢技术编写。
她在设计数据和分析解决方案并确保其稳定性、可靠性和性能方面有深厚的经验。她还获得了SQL Server的认证,并通过了70-463等认证。使用Microsoft SQL Server实施数据仓库。
最新由Gauri Mahajan发表的文章(查看全部)
- Azure Synapse Lake数据库中的模板库 - 2022年8月29日
- 在Azure Synapse Lake数据库中配置表和关系 - 2022年8月26日
- 开始使用Azure Synapse Lake数据库和湖表 - 2022年8月19日











