NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

使用 PolyBase 将 SQL Server 与 Hadoop 相结合

  • 2016-06-07
  • 本文字数:700 字

    阅读完需:约 2 分钟

最近发布的 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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2016-06-07 19:002291
用户头像

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

关注

评论

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

针对 MySQL IO 特点进行的存储优化揭秘

焱融科技

MySQL 技术 分布式 高性能 文件存储

拍乐云受邀2021亚太CDN峰会,技术创新赋能行业新价值

拍乐云Pano

RTC

校友会小程序开发笔记一:背景与技术方案的选型

CC同学

小程序云开发 校友录小程序 校友会小程序

【LeetCode】石子游戏Java题解

Albert

算法 LeetCode 6月日更

校友会小程序开发笔记二:功能需求设计

CC同学

小程序云开发 校友录小程序 校友会小程序

可视化协助矿山,打造“高效率运营战略”,年降成本500W

一只数据鲸鱼

数据可视化 工业4.0 智慧矿山

一分钟开发一个表单

蛋先生DX

vue.js 表单 动态表单 6月日更

并发王者课-铂金1:探本溯源-为何说Lock接口是Java中锁的基础

MetaThoughts

Java 多线程 并发 并发王者

项目经理如何有效管理需求变更?

万事ONES

需求管理 ONES 项目经理

缓存的世界 Redis(二)-持久化

卢卡多多

redis redis持久化 配置文件持久化 6月日更

阿里云视频云 Retina 多媒体 AI 体验馆开张啦!

阿里云视频云

阿里云 短视频 视频处理 媒体处理 视频制作

校友会小程序开发笔记四:UI基本元素设计

CC同学

小程序云开发

MySQL中的pid与socket是什么?

Simon

MySQL

618 技术特辑(一)不知不觉超预算3倍,你为何买买买停不下来?

华为云开发者联盟

电商 图数据库 知识图谱 618 图引擎服务

译文 | AI产品经理:如何打造一款SaaS+AI的优质产品

LigaAI

产品经理 研发管理

校友会小程序开发笔记三:数据库设计

CC同学

小程序云开发 校友录小程序 校友会小程序

详解 Go 程序的启动流程,你知道 g0,m0 是什么吗?

煎鱼

Java php 后端 Go 语言

用EasyRecovery“监控硬盘”功能检测硬盘问题的方法

淋雨

数据恢复 EasyRecovery 文件恢复

快来,这里有23种设计模式的Go语言实现

华为云开发者联盟

线程 设计模式 单例模式 Go 语言

PO 就是Scrum中的产品经理?别再搞不清啦

万事ONES

项目管理 Scrum 敏捷开发 PO ONES

6月26日,HarmonyOS开发者日将于杭州举办

科技汇

教你两招,解决数据膨胀

华为云开发者联盟

数据 GaussDB(DWS) VACUUM 数据膨胀 FSM

Bzz节点分币系统开发,云算力矿机租赁系统搭建

开发者如何构建技术影响力

不脱发的程序猿

程序人生 开发者如何构建技术影响力 技术影响力

密码学系列之:feistel cipher

程序那些事

加密解密 密码学 程序那些事

react源码解析13.hooks源码

全栈潇晨

React

请阐述vue的diff算法

法医

Vue 大前端 6月日更

JAVA笔记(三)--变量及运算符

加百利

Java 程序员 后端 6月日更

Python——字典的使用

在即

6月日更

618 技术特辑(二)几百万人同时下单的秒杀,为什么越来越容易抢到了

华为云开发者联盟

数据库 服务器 流量 618 弹性负载均衡

JavaScript 学习(三)

空城机

JavaScript 大前端 6月日更

使用PolyBase将SQL Server与Hadoop相结合_AI&大模型_Jonathan Allen_InfoQ精选文章