世界读书日| InfoQ 写作平台联合声网Agora免费送书 了解详情
写点什么

使用 PolyBase 将 SQL Server 与 Hadoop 相结合

2016 年 6 月 07 日

AI

最近发布的 SQL Server 2016 让开发人员可以使用 SQL 查询 Hadoop 和 Azure blob 存储。这是一项之前在 SQL Server 并行数据仓库中提供的技术,名为 PolyBase

和链接服务器一样,PolyBase 会设法将尽量多的处理工作转移到源数据库。也就是说,当查询 Hadoop 或 Azure blob 存储时,会生成恰当的 map/reduce 操作。这就是所谓的“下推(pushdown)”,下面是一些开发人员需要了解的下推限制:

SQL Server 允许对以下基本表达式和操作符做谓词下推:

  • 用于数值、日期、时间值的二元比较操作符(<、>、=、!=、<>、>=、<=);
  • 算术运算符( +、-、*、/、%);
  • 逻辑运算符(AND、OR);
  • 一元运算符(NOT、IS NULL、IS NOT NULL)。

文档接着写到:

BETWEEN、NOT、IN 和 LIKE 操作符可能也可以下推。这取决于查询优化器如何将它们改写为一系列使用基本关系运算符的语句。

下推可以通过 OPTION (FORCE EXTERNALPUSHDOWN) 显式启用,或通过 OPTION (DISABLE EXTERNALPUSHDOWN) 显式禁用。

将关系型和非关系型数据相结合

由于 PolyBase 是基于普通的 T-SQL,所以开发人员可以使用像连接这样的常见操作。这意味着,你可以在 Hadoop 集群中执行 map-reduce 操作,然后在一个查询中将执行结果和 SQL Server 数据库的表相连接。

导入 / 导出

在 SQL Server、Hadoop 和 Azure blob 存储之间移动数据不再需要外部的 ETL 过程或工具。相反,你可以像操作任意两个普通表一样,使用相同的 INSERT INTO/SELECT FROM 语法。从开发人员的角度来看,Hadoop 和 Azure blob 存储只是配置数据库时多出来的两个可供选择的表类型。(从运维的角度来看,你仍然需要分别管理安全和备份。)

查看英文原文 Combine SQL Server with Hadoop Using PolyBase

2016 年 6 月 07 日 19:001758
用户头像

发布了 1008 篇内容, 共 313.9 次阅读, 收获喜欢 283 次。

关注
AI

评论

发布
暂无评论
发现更多内容

云小课|云数据库RDS实例连接失败了?送你7大妙招轻松应对

华为云开发者社区

数据库 网络 ssl RDS实例 端口

架构师训练营 1 期第 6 周:技术选型(二) - 作业

piercebn

极客大学架构师训练营

架构师训练营 W02 总结

Geek_f06ede

架构师训练

从一个HTTP请求来读懂HTTP、TCP协议

互联网架构师小马

一整套Java线上故障排查技巧,爱了!爱了!

互联网架构师小马

Double Kill!! 数据联邦修炼之路

脑极体

第五周作业

icydolphin

极客大学架构师训练营

架构训练营-week6-学习总结-技术选型(二)

于成龙

架构训练营

Java程序员必会的三个技能:Spring+MySQL+并发编程

Java架构师迁哥

玩转华为云开发|老板万万没想到:刚入职的我一人就搞定人脸识别开发

华为云开发者社区

软件开发 模块化流程 人脸识别 API 华为云

渣渣2本学历CRUD一年半,决定改变现状,努力学习两个月成功拿到美团30k offer

Java架构之路

Java 程序员 架构 面试 编程语言

阿里五位MySQL封神大佬耗17个月总结出53章性能优化法则

996小迁

Java MySQL 大数据 架构 面试

第六周作业

alpha

极客大学架构师训练营

数据库JDBC:Statement查询

正向成长

JDBC sql查询 SQL光标

架构训练营-week6-作业

于成龙

CAP 架构训练营

牛皮了!字节面试官爆肝七天七夜总结了一份算法面试笔记

互联网架构师小马

Java 程序员 字节跳动 面试 算法

全网首发,做第一人纯源码讲解RabbitMQ实践,收藏吧

小Q

Java 学习 架构 面试 RabbitMQ

架构师训练营第二周学习总结

邢永春

第二周总结

Griffenliu

十八般武艺玩转GaussDB(DWS)性能调优(二):坏味道SQL识别

华为云开发者社区

数据库 sql 性能调优 GaussDB 算子

架构师训练营第六周课后练习

薛凯

架构师训练营第二周作业

邢永春

【Java】变量声明在循环体内还是循环体外你选哪一个咧?

java金融

Java 变量声明

架构师训练营第 1 期第 6 周学习总结

好吃不贵

极客大学架构师训练营

第1周 架构方法-作业

SuGeek

RabbitMQ之路由和通配符模式,附源码注释讲解

小Q

Java 学习 架构 面试 RabbitMQ

使用抓包工具fiddler和apipost进行接口测试

测试人生路

测试工具 fiddler

架构师训练营 W02 作业

Geek_f06ede

架构师训练

第1周作业

Rocky·Chen

第二周作业

Griffenliu

架构师训练营第 1 期第 6 周作业

好吃不贵

极客大学架构师训练营

如何打造一支有战斗力的技术团队?

如何打造一支有战斗力的技术团队?

使用PolyBase将SQL Server与Hadoop相结合-InfoQ