什么是 PolyBase

适用对象: yesSQL ServernoAzure SQL 数据库yesAzure SQL 数据仓库yes并行数据仓库

借助 PolyBase , SQL Servwe 2016 实例可处理从 Hadoop 中读取数据的 Transact-SQL 查询。同一查询还可以访问 SQL Server 中的关系表。借助 PolyBase ,同一查询还可以联接 Hadoop 和 SQL Server 中的数据。在 SQL Server 中,外部表和外部数据源提供对 Hadoop 的连接。

PolyBase 将一些计算推送到 Hadoop 节点,以优化总体查询。不过,PolyBase 外部访问不仅限于 Hadoop 。其他未结构化的非关系表也受支持,如带分隔符的文本文件。

 提示

SQL Server 2019 CTP 2.0 为 PolyBase 引入了新的连接器,包括 SQL Server、Oracle、Teradata 和 MongoDB。

支持的 SQL 产品和服务

PolyBase 对以下 Microsoft SQL 产品提供这些相同功能:

  ~  SQL Server 2016 及更高版本(仅限 Windows)

  ~ 分析平台系统(旧称为“并行数据仓库”)

  ~ Azure SQL 数据仓库

Azure 集成

借助 PolyBase 的基础帮助, T-SQL 查询还可以将数据导入和导出 Azure Blob 存储。此外,借助 PolyBase ,Azure SQL 数据仓库还可以将数据导入和导出 Azure Data Lake Store 和 Azure Blob 存储。

为什么要用 PolyBase ?

过去联接 SQL Server 数据与外部数据的难度更大。具体有下列两种不方便的方法:

   ~ 传送一半数据,这样所有数据都采用一种格式或其他格式。

        ~ 查询两个数据源,然后编写自定义查询逻辑,以在客户端一级联接和集成数据。

PolyBase 使用 T-SQL 来联接数据,因此可避免使用这两种不方便的方法。

为了简单起见,PolyBase 不要求在 Hadoop 环境中安装其他软件。查询外部数据所用的 T-SQL 语法也是用于查询数据库表的语法。PolyBase 实现的所有支持操作全都以透明方式发生。查询作者无需对 Hadoop 有任何了解。

PolyBase 用法

PolyBase 支持在 SQL Server 中使用以下方案:

  ~ 通过 SQL Server 或 PDW 查询 Hadoop 中存储的数据。

    用户将数据存储在经济高效的分布式、可扩展系统中,例如 Hadoop 。

    PolyBase 使得使用 T-SQL 查询数据更加容易。

  ~  查询存储在 Azure Blob 存储中的数据。   

    Azure blob 存储是一个方便存储供 Azure 服务使用的数据的位置。

    PolyBase 使得使用 T-SQL 访问数据变得更加容易。

   ~ 导入 Hadoop、Azure Blob 存储或 Azure Data Lake Store 中的数据。

      通过将 Hadoop 、Azure Blob 存储或 Azure Date Lake Store 中的数据导入到关系表中,利用 Microsoft SQL 的列存储技术和分析功能的速度优势。

    不需要单独的 ETL 或导入工具。

  ~ 将数据导出到 Hadoop、Azure Blob 存储或 Azure Data Lake Store。  

    将数据存档到 Hadoop 、Azure Blob 存储或 Azure Data Lake Store ,以获得经济高效的存储,并使数据保持联机以便于访问。

  ~ 与 BI 工具集成

    结合使用 PolyBase 和 Microsoft 的商业智能和分析堆栈,或使用任何与 SQL Server 兼容的第三方工具。

“性能”

  ~ 将计算推送到 Hadoop。

    查询优化器制定了基于成本的决策,以在执行此操作将提升查询性能时将计算推送到 Hadoop。

    它使用外部表上的统计以制定基于开销的决策。

    推送计算会创建 MapReduce 作业并利用 Hadoop 的分布计算资源。

  ~ 缩放计算资源。

    若要提高查询性能,可以使用 SQL Server PolyBase 横向扩展组。

    这使并行数据可以在 SQL Server 实例和 Hadoop 节点之间传输,并为处理外部数据添加计算资源。

后续步骤

在使用 PolyBase 之前,必须安装 PolyBase 功能。然后,请参阅以下配置指南,具体取决于你的数据源:

  ~ Haoop

  ~ Azure Blob

posted @ 2019-07-09 19:25  Snowwen龙  阅读(10227)  评论(0编辑  收藏  举报