在 SQL Server 大数据群集上配置 HDFS 分层

适用范围:SQL Server 2019 (15.x)

借助 HDFS 分层,可以在 HDFS 中装载与 HDFS 兼容的外部文件系统。 本文介绍如何为 SQL Server 大数据群集配置 HDFS 分层。 目前,我们支持连接到 Azure Data Lake Storage Gen2 和 Amazon S3。

重要

Microsoft SQL Server 2019 大数据群集附加产品将停用。 对 SQL Server 2019 大数据群集的支持将于 2025 年 2 月 28 日结束。 具有软件保障的 SQL Server 2019 的所有现有用户都将在平台上获得完全支持,在此之前,该软件将继续通过 SQL Server 累积更新进行维护。 有关详细信息,请参阅公告博客文章Microsoft SQL Server 平台上的大数据选项

HDFS 分层概述

借助分层,应用程序可以无缝访问各种外部存储中的数据,就像数据驻留在本地 HDFS 一样。 装载是一种元数据操作,该操作会将描述外部文件系统上的命名空间的元数据复制到本地 HDFS。 此元数据包括有关外部目录和文件及其权限和 ACL 的信息。 当通过查询或其他方式访问数据本身时,仅按需复制相应的数据。 现在可以从 SQL Server 大数据群集访问外部文件系统数据。 你可以对此数据运行 Spark 作业和 SQL 查询,就像对群集上的 HDFS 中存储的任何本地数据运行它们一样。

此 7 分钟视频概述了 HDFS 分层:

Caching

现在默认保留 HDFS 存储总量的 1% 来缓存装载的数据。 缓存是跨装载的全局设置。

注意

HDFS 分层是由 Microsoft 开发的一项功能,其早期版本已作为 Apache Hadoop 3.1 分发版的一部分发布。 有关详细信息,请参阅https://issues.apache.org/jira/browse/HDFS-9806

以下部分展示了如何使用 Azure Data Lake Storage Gen2 数据源配置 HDFS 分层的示例。

刷新

HDFS 分层支持刷新。 刷新现有装载可获取远程数据的最新快照。

先决条件

装载说明

我们支持连接到 Azure Data Lake Storage Gen2 和 Amazon S3。 有关如何针对这些存储类型进行装载的说明,请参阅以下文章:

已知问题和限制

以下列表提供了在 SQL Server 大数据群集中使用 HDFS 分层时的已知问题和当前限制:

  • 如果装载长时间处于 CREATING 状态,则很可能已失败。 在这种情况下,请取消命令并在必要时删除装载。 在重试之前,请验证参数和凭据是否正确。

  • 无法在现有目录上创建装载。

  • 无法在现有装载中创建装载。

  • 如果装入点不存在任何上级,则将使用默认为 r-xr-xr-x (555) 的权限进行创建。

  • 装载创建可能需要一些时间,具体取决于要装载的文件的数量和大小。 在此过程中,用户看不到装载下的文件。 创建装载时,所有文件都将添加到临时路径(默认为 /_temporary/_mounts/<mount-location>)中。

  • 装载创建命令是异步的。 运行该命令后,可以检查装载状态以了解装载的状态。

  • 创建装载时,用于 --mount-path 的参数本质上是装载的唯一标识符。 必须在后续命令中使用相同的字符串,包括末尾的“/”(如果存在)。

  • 装载是只读的。 无法在装载下创建任何目录或文件。

  • 我们不建议装载可以更改的目录和文件。 创建装载后,对远程位置的任何更改或更新都不会反映在 HDFS 的装载中。 如果远程位置发生了更改,可以选择删除并重新创建装载,以反映已更新的状态。

后续步骤

有关 SQL Server 2019 大数据群集的详细信息,请参阅 SQL Server 2019 大数据群集简介