PolyBase 是一种可通过 t-sql 语言访问数据库外部数据的技术。PolyBase is a technology that accesses data outside of the database via the t-sql language. 在 SQL Server 2016 中,可以对 Hadoop 中的外部数据运行查询或将数据导入/导出 Azure Blob 存储。In SQL Server 2016, it allows you to run queries on external data in Hadoop or to import/export data from Azure Blob Storage. 查询会进行优化以将计算推送到 Hadoop。Queries are optimized to push computation to Hadoop. 在 Azure SQL 数据仓库中,可以将数据导入/导出 Azure Blob 存储和 Azure Data Lake Store。In Azure SQL Data Warehouse, you can import/export data from Azure Blob Storage and Azure Data Lake Store.

若要使用 Polybase,请参阅 PolyBase 入门。To use PolyBase, see Get started with PolyBase.

为什么要用 PolyBase?Why use PolyBase?

若要作出正确决策,你需要同时分析关系数据和其他未构建到表中的数据 - 尤其是 Hadoop 数据。To make good decisions, you want to analyze both relational data and other data that is not structured into tables —notably Hadoop. 除非有方法能够在不同数据存储类型之间传输数据,否则这将很难执行。This is difficult to do unless you have a way to transfer data among the different types of data stores. PolyBase 通过处理 SQL Server 外部的数据填补了这一差距。PolyBase bridges this gap by operating on data that is external to SQL Server.

为了简单起见,PolyBase 不要求向 Hadoop 环境安装其他软件。To keep it simple, PolyBase does not require you to install additional software to your Hadoop environment. 查询外部数据使用与查询数据库表一样的语法。Querying external data uses the same syntax as querying a database table. 所有的一切均透明发生。This all happens transparently. PolyBase 会在后台处理所有详细信息,并且最终用户不需要 Hadoop 的任何相关知识便可查询外部表。PolyBase handles all the details behind-the-scenes, and no knowledge about Hadoop is required by the end user to query external tables.

PolyBase 能够:PolyBase can:

  • 通过 SQL Server 或 PDW 查询 Hadoop 中存储的数据。Query data stored in Hadoop from SQL Server or PDW. 用户将数据存储在经济高效的分布式、可扩展系统中,例如 Hadoop。Users are storing data in cost-effective distributed and scalable systems, such as Hadoop. PolyBase 使得使用 T-SQL 查询数据更加容易。PolyBase makes it easy to query the data by using T-SQL.

  • 查询存储在 Azure Blob 存储中的数据。Query data stored in Azure Blob Storage. Azure blob 存储是一个方便存储供 Azure 服务使用的数据的位置。Azure blob storage is a convenient place to store data for use by Azure services. PolyBase 使得使用 T-SQL 访问数据变得更加容易。PolyBase makes it easy to access the data by using T-SQL.

  • 从 Hadoop、Azure Blob 存储或 Azure Data Lake Store 导入数据 通过将数据从 Hadoop、Azure Blob 存储或 Azure Data Lake Store 导入到关系表中,利用 Microsoft SQL 的列存储技术和分析功能的速度。Import data from Hadoop, Azure Blob Storage, or Azure Data Lake Store Leverage the speed of Microsoft SQL's columnstore technology and analysis capabilities by importing data from Hadoop, Azure Blob Storage, or Azure Data Lake Store into relational tables. 不需要单独的 ETL 或导入工具。There is no need for a separate ETL or import tool.

  • 将数据导出到 Hadoop、Azure Blob 存储或 Azure Data Lake Store。Export data to Hadoop, Azure Blob Storage, or Azure Data Lake Store. 将数据存档到 Hadoop、Azure Blob 存储或 Azure Data Lake Store,以获得经济高效的存储,并使数据保持联机以便于访问。Archive data to Hadoop, Azure Blob Storage, or Azure Data Lake Store to achieve cost-effective storage and keep it online for easy access.

  • 与 BI 工具集成Integrate with BI tools. 结合使用 PolyBase 和 Microsoft 的商业智能和分析堆栈,或使用任何与 SQL Server 兼容的第三方工具。Use PolyBase with Microsoft’s business intelligence and analysis stack, or use any third party tools that are compatible with SQL Server.

“性能”Performance

  • 将计算推送到 Hadoop。 查询优化器制定了基于开销的决策,以在执行此操作将提升查询性能时将计算推送到 Hadoop。Push computation to Hadoop. The query optimizer makes a cost-based decision to push computation to Hadoop when doing so will improve query performance. 它使用外部表上的统计以制定基于开销的决策。It uses statistics on external tables to make the cost-based decision. 推送计算会创建 MapReduce 作业并利用 Hadoop 的分布计算资源。Pushing computation creates MapReduce jobs and leverages Hadoop's distributed computational resources.

  • 缩放计算资源。Scale compute resources. 若要提高查询性能,可以使用 SQL Server PolyBase 横向扩展组。To improve query performance, you can use SQL Server PolyBase scale-out groups. 这使并行数据可以在 SQL Server 实例和 Hadoop 节点之间传输,并为处理外部数据添加计算资源。This enables parallel data transfer between SQL Server instances and Hadoop nodes, and it adds compute resources for operating on the external data.

PolyBase 指南主题PolyBase Guide Topics

本指南包括帮助你高效且有效地使用 PolyBase 的主题。This guide includes topics to help you use PolyBase efficiently and effectively.

   
主题Topic DescriptionDescription
PolyBase 入门Get started with PolyBase 安装和配置 PolyBase 的基本步骤。Basic steps to install and configure PolyBase. 这演示了如何创建指向 Hadoop 或 Azure blob 存储中数据的外部对象,并提供了查询示例。This shows how to create external objects that point to data in Hadoop or Azure blob storage, and gives query examples.
PolyBase 受版本控制的功能摘要PolyBase Versioned Feature Summary 描述 SQL Server、SQL 数据库和 SQL 数据仓库上支持哪些 PolyBase 功能。Describes which PolyBase features are supported on SQL Server, SQL Database, and SQL Data Warehouse.
PolyBase 横向扩展组PolyBase scale-out groups 通过使用 SQL Server 横向扩展组在 SQL Server 和 Hadoop 之间横向扩展并行度。Scale out parallelism between SQL Server and Hadoop by using SQL Server scale-out groups.
PolyBase 安装PolyBase installation 使用安装向导或命令行工具安装 PolyBase 的参考和步骤。Reference and steps for installing PolyBase with the installation wizard or with a command-line tool.
PolyBase 配置PolyBase configuration 为 PolyBase 配置 SQL Server 设置。Configure SQL Server settings for PolyBase. 例如,配置计算下推和 kerberos 安全性。For example, configure computation pushdown and kerberos security.
PolyBase T-SQL 对象PolyBase T-SQL objects 创建 PolyBase 用来定义和访问外部数据的 T-SQL 对象。Create the T-SQL objects that PolyBase uses to define and access external data.
PolyBase QueriesPolyBase Queries 使用 T-SQL 语句来查询、导入或导出外部数据。Use T-SQL statements to query, import, or export external data.
PolyBase 故障排除PolyBase troubleshooting 管理 PolyBase Queries的技术。Techniques to manage PolyBase queries. 使用动态管理视图 (DMV) 来监视 PolyBase Queries,并了解如何读取 PolyBase Queries 计划,以找出性能瓶颈。

PolyBase 指南的更多相关文章

  1. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  2. UE4新手之编程指南

    虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...

  3. JavaScript权威指南 - 对象

    JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删. JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等. JavaScript对象除了可以保持自 ...

  4. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  5. const extern static 终极指南

    const extern static 终极指南 不管是从事哪种语言的开发工作,const extern static 这三个关键字的用法和原理都是我们必须明白的.本文将对此做出非常详细的讲解. co ...

  6. Atitit.研发管理软件公司的软资产列表指南

    Atitit.研发管理软件公司的软资产列表指南 1. Isv模型下的软资产1 2. 实现层面implet1 3. 规范spec层1 4. 法则定律等val层的总结2 1. Isv模型下的软资产 Sof ...

  7. HA 高可用软件系统保养指南

    又过了一年 618,六月是公司一年一度的大促月,一般提前一个月各系统就会减少需求和功能的开发,转而更多去关注系统可用性.稳定性和管控性等方面的非功能需求.大促前的准备工作一般叫作「备战」,可以把线上运 ...

  8. 第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南

    欢迎查看第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南,该处理器可为开发人员和最终用户提供领先的 CPU 和图形性能增强.各种新特性和功能以及显著提高的性能. 本指南旨在帮助软件开发人员 ...

  9. Visual Studio Code 配置指南

    Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...

随机推荐

  1. [Scala]Scala学习笔记四 类

    1. 简单类与无参方法 class Person { var age = 0 // 必须初始化字段 def getAge() = age // 方法默认为公有的 } 备注 在Scala中,类并不声明为 ...

  2. 解决RTMP推送时间戳问题引起HLS切片不均匀导致手机浏览器播放卡顿的问题

    本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/74161115 引言 最近在测试EasyNVR ...

  3. vue中如何引入全局样式或方法

    vue中我么会经常用到通用的一些全局的方法,如何左才能实现全局的复用减少代码累赘呢? 我们一般将公用的方法分装再utils.js文件中,然后再main.js主入口文件中将utils.js中的公共的方法 ...

  4. php序号发生器,数字重组,可以隐藏原来的1,2,3。。。

    一个晚上的成果,原理: 将1,2,3,4,5,6,7,8,9,0映射到9,5,1,0,4,8,7,3,2,6 同理映射base,base有1-10种数组,也就是可以一位数到10位数 $base 实际上 ...

  5. Eclipse自动补全设置与Eclipse源代码下载

    以前使用VisualStudio和Sublime写代码的时候有很完善的代码提示,但是最近开始使用Eclipse弄JAVA的时候发现它的代码提示不是很习惯.上网找了一些资料,修改了代码提示的方式,记录在 ...

  6. Jmeter聚合报告

    Label:请求的Name. #Samples:发出请求数量. Average:平均响应时间(单位:ms). Median:全部响应时间中位数,. 90%Line:90%用户的响应时间低于这个时间. ...

  7. BZOJ1220 HNOI2002 跳蚤 【容斥原理+高精度】*

    BZOJ1220 HNOI2002 跳蚤 Description Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正中央.钢丝很长,可以看作是无限长.节目主持 ...

  8. 语义耦合(Semantic Coupling)

    跟小伙伴一起重构一段 UI,试图将用户界面和业务代码分离的时候,小伙伴试图在业务代码中直接调用 UI.我们当然都知道这会产生耦合,于是小伙伴试图定义一些属性.变量或接口来解决这个耦合.虽然在代码的静态 ...

  9. python笔记-13 mysql与sqlalchemy

    一.RDBMS relational database management system 关系型数据库引入 1.数据库的意义 更有效和合理的存储读取数据的一种方式 关系模型基础上的数据库 -> ...

  10. C#飞行棋游戏

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...