从 Azure 存储获取数据

本文介绍如何从 Azure 存储(ADLS Gen2 容器、Blob 容器或单个 Blob)获取数据。 可以将数据持续或一次性导入到表中。 摄取后,数据即可用于查询。

  • 连续引入 (预览):连续引入涉及设置引入管道,允许事件屋侦听 Azure 存储事件。 管道在发生订阅事件时通知事件处理中心提取信息。 事件为 BlobCreatedBlobRenamed

    重要

    此功能目前为预览版

    注意

    连续引入流可能会影响计费。 有关详细信息,请参阅 Eventhouse 和 KQL 数据库消耗

  • 一次性操作:使用此方法从 Azure 存储中检索数据,作为一次性操作。

先决条件

对于连续摄入,还需要:

  • 工作区标识我的工作区不被支持。 如有必要, 请创建新的工作区

  • 在存储帐户上启用 分层命名空间

    Azure 门户的屏幕截图,其中打开了“概述”窗口。

  • 分配给工作区标识的存储 Blob 数据读取者角色权限。

  • 用于保存数据文件的 容器

  • 上传到容器的数据文件。 数据文件结构用于定义表架构。 有关详细信息,请参阅由 Real-Time Intelligence 支持的数据格式。

    注意

    必须上传数据文件:

    • 设置 期间定义表架构的配置之前。
    • 配置后触发连续引入、预览数据以及验证连接。

将工作区标识角色分配添加到存储帐户

  1. 从 Fabric 中的工作区设置中,复制工作区标识 ID。

    工作区设置的屏幕截图,其中突出显示了工作区 ID。

  2. 在 Azure 门户中,浏览到 Azure 存储帐户,然后选择“ 访问控制”(IAM)>“添加>角色分配”。

  3. 选择 存储 Blob 数据读取器。

  4. “添加角色分配 ”对话框中,选择“ + 选择成员”。

  5. 粘贴工作区标识 ID,选择应用程序,然后选择 >审阅 + 分配”。

使用数据文件创建容器

  1. 在存储帐户中,选择 “容器”。

  2. 选择 “+ 容器”,输入容器的名称,然后选择“ 保存”。

  3. 输入容器,选择 上传,并上传前面准备的数据文件。

    有关详细信息,请参阅 支持的格式 和支持 的压缩

  4. 在上下文菜单中,[...],选择容器属性,在配置过程中将 URL 复制用于输入。

    显示容器列表的屏幕截图,其中打开了上下文菜单,其中突出显示了容器属性。

设置源以获取数据。

  1. 在工作区中,打开 EventHouse,然后选择数据库。

  2. 在 KQL 数据库功能区上,选择“ 获取数据”。

  3. 从可用列表中选择数据源。 在此示例中,你将从 Azure 存储引入数据

    “获取数据”窗口的屏幕截图,其中选择了“源”选项卡。

配置

  1. 选择目标表。 如果要将数据引入新表中,请选择 + 新表 并输入表名称。

    注意

    表名称最多可包含 1024 个字符,包括空格、字母数字、连字符和下划线。 不支持特殊字符。

  2. “配置 Azure Blob 存储连接”中,确保启用 连续引入 。 默认情况下,它处于打开状态。

  3. 通过创建新连接或使用现有连接来配置连接。

    要创建新连接:

    1. 选择 “连接到存储帐户”。

      “配置”选项卡的屏幕截图,其中已选择“持续导入”并连接到某个帐户。

    2. 使用以下说明来帮助填写字段。

      设置 字段说明
      订阅 存储帐户订阅。
      Blob 存储帐户 存储帐户名称。
      集装箱 包含要引入的文件的存储容器。
    3. “连接 ”字段中,打开下拉列表并选择“ + 新建连接”,然后选择“ 保存>关闭”。 连接设置已被预填充。

    注意

    创建新连接会产生新的 Eventstream。 该名称定义为 <storate_account_name>_eventstream。 请确保不要从工作区中删除连续引入事件流。

    若要使用现有连接,请使用:

    1. 选择现有存储帐户

      “配置”选项卡的屏幕截图,其中已选择持续引入并连接到现有帐户。

    2. 使用以下说明来帮助填写字段。

      设置 字段说明
      RTAStorageAccount 连接到您的存储帐户的来自 Fabric 的事件流。
      集装箱 包含要引入的文件的存储容器。
      连接 这是使用连接字符串预填充的
    3. “连接 ”字段中,打开下拉列表,然后从列表中选择现有的连接字符串。 然后选择“ 保存>关闭”。

  4. (可选)展开 文件筛选器 并指定以下筛选器:

    设置 字段说明
    文件夹路径 筛选数据以引入具有特定文件夹路径的文件。
    文件扩展名 筛选数据以仅引入具有特定文件扩展名的文件。
  5. Eventstearm 设置 部分中,可以选择在 高级设置>事件类型(s)中监视的事件。 默认情况下,已选择 创建的 Blob 。 还可以选择 已重命名的 Blob

    “高级设置”的屏幕截图,其中展开了“事件类型”下拉列表。

  6. 选择 “下一步 ”预览数据。

检查

此时会打开“检查”选项卡,其中包含数据的预览

要完成引入过程,请选择“完成”

“检查”选项卡的屏幕截图。

注意

若要触发连续数据摄取和预览,请确保在配置后上传新的存储 Blob 数据块。

可选:

  • 使用架构定义文件下拉列表更改从中推断架构的文件。

  • 使用文件类型下拉列表 基于数据类型浏览高级选项

  • 使用 Table_mapping 下拉列表来定义新的映射。

  • 选择 </> 打开命令查看器以查看和复制从输入生成的自动命令。 还可以在 Queryset 中打开命令

  • 选择铅笔图标以 编辑列

编辑列

注意

  • 对于表格格式(CSV、TSV、PSV),不能映射列两次。 若要映射到现有列,请先删除新列。
  • 无法更改现有列类型。 如果尝试映射到其他格式的列,结果可能出现空列。

可以在表中所做的更改取决于以下参数:

  • 表类型为“新”或“现有”
  • 映射类型为“新”或“现有”
表类型 映射类型 可用调整
新建表 新映射 重命名列、更改数据类型、更改数据源、映射转换、添加列、删除列
现有表 新映射 添加列(然后可以更改数据类型、重命名和更新)
现有表 现有映射 没有

列打开以供编辑的屏幕截图。

映射转换

某些数据格式映射(Parquet、JSON 和 Avro)支持简单的引入时间转换。 若要应用映射转换,请在 编辑列 窗口中创建或更新列。

可以对字符串或日期时间类型的列执行映射转换,源的数据类型为 int 或 long。 有关详细信息,请参阅支持映射转换的完整列表。

基于数据类型的高级选项

表格(CSV、TSV、PSV)

  • 如果要在现有表中引入表格格式,可以选择“高级”>“保留表架构”。 表格数据不一定包括用于将源数据映射到现有列的列名。 选中此选项后,按顺序完成映射,表架构保持不变。 如果未选中此选项,则会为传入数据创建新列,而不考虑数据结构。

    高级选项的屏幕截图。

  • 表格数据不一定包括用于将源数据映射到现有列的列名。 要将第一行用作列名,请选择“首行是列标题”

    “第一行为列标题”开关的屏幕截图。

表格(CSV、TSV、PSV)

  • 如果要在 现有表中引入表格格式,可以选择 Table_mapping>使用现有架构。 表格数据不一定包括用于将源数据映射到现有列的列名。 选中此选项后,按顺序完成映射,表架构保持不变。 如果未选中此选项,则会为传入数据创建新列,而不考虑数据结构。

  • 若要将第一行用作列名,请选择 “第一行”标题

    高级 CSV 选项的屏幕截图。

JSON

  • 若要确定 JSON 数据的列除法,请选择“ 嵌套级别”,从 1 到 100。

    高级 JSON 选项的屏幕截图。

总结

“摘要” 窗口中,当数据引入成功完成时,所有步骤都标有绿色复选标记。 可以选择卡片来浏览数据、删除引入的数据,或使用关键指标创建仪表板。

连续引入(成功完成引入)的摘要页屏幕截图。

关闭窗口时,可以在“资源管理器”选项卡中的 “数据流”下看到连接。 在此处,可以筛选数据流并删除数据流。

KQL 数据库资源管理器的屏幕截图,其中突出显示了数据流。

  • 若要管理数据库,请参阅 管理数据
  • 若要创建、存储和导出查询,请参阅 KQL 查询集中的 查询数据