适用于:SQL Server 2019 (15.x)
借助 HDFS 分层,可以在 HDFS 中装载与 HDFS 兼容的外部文件系统。 本文介绍如何为 SQL Server 大数据群集配置 HDFS 分层。 目前,我们支持连接到 Azure Data Lake Storage Gen2 和 Amazon S3。
Important
Microsoft SQL Server 2019 大数据群集已停用。 对 SQL Server 2019 大数据群集的支持已于 2025 年 2 月 28 日结束。 有关详细信息,请参阅Microsoft SQL Server 平台上的公告博客文章和大数据选项。
HDFS 分层概述
借助分层,应用程序可以无缝访问各种外部存储中的数据,就像数据驻留在本地 HDFS 一样。 装载是一种元数据操作,该操作会将描述外部文件系统上的命名空间的元数据复制到本地 HDFS。 此元数据包括有关外部目录和文件及其权限和 ACL 的信息。 当通过查询或其他方式访问数据本身时,仅按需复制相应的数据。 现在可以从 SQL Server 大数据群集访问外部文件系统数据。 你可以对此数据运行 Spark 作业和 SQL 查询,就像对群集上的 HDFS 中存储的任何本地数据运行它们一样。
此 7 分钟视频概述了 HDFS 分层:
Caching
现在默认保留 HDFS 存储总量的 1% 来缓存装载的数据。 缓存是跨装载的全局设置。
Note
HDFS 分层是由 Microsoft 开发的一项功能,其早期版本已作为 Apache Hadoop 3.1 分发版的一部分发布。 有关详细信息,请参阅https://issues.apache.org/jira/browse/HDFS-9806。
以下部分展示了如何使用 Azure Data Lake Storage Gen2 数据源配置 HDFS 分层的示例。
Refresh
HDFS 分层支持刷新。 刷新现有装载可获取远程数据的最新快照。
Prerequisites
Mounting instructions
我们支持连接到 Azure Data Lake Storage Gen2 和 Amazon S3。 有关如何针对这些存储类型进行装载的说明,请参阅以下文章:
已知问题和限制
以下列表提供了在 SQL Server 大数据群集中使用 HDFS 分层时的已知问题和当前限制:
如果装载长时间处于
CREATING状态,则很可能已失败。 在这种情况下,请取消命令并在必要时删除装载。 在重试之前,请验证参数和凭据是否正确。无法在现有目录上创建装载。
无法在现有装载中创建装载。
如果装入点不存在任何上级,则将使用默认为 r-xr-xr-x (555) 的权限进行创建。
装载创建可能需要一些时间,具体取决于要装载的文件的数量和大小。 在此过程中,用户看不到装载下的文件。 创建装载时,所有文件都将添加到临时路径(默认为
/_temporary/_mounts/<mount-location>)中。装载创建命令是异步的。 运行该命令后,可以检查装载状态以了解装载的状态。
创建装载时,用于 --mount-path 的参数本质上是装载的唯一标识符。 必须在后续命令中使用相同的字符串,包括末尾的“/”(如果存在)。
装载是只读的。 无法在装载下创建任何目录或文件。
我们不建议装载可以更改的目录和文件。 创建装载后,对远程位置的任何更改或更新都不会反映在 HDFS 的装载中。 如果远程位置发生了更改,可以选择删除并重新创建装载,以反映已更新的状态。
Next steps
有关 SQL Server 2019 大数据群集的详细信息,请参阅 SQL Server 2019 大数据群集简介。