BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

SQL Server 2016将支持R编程语言

| 作者 Jonathan Allen 关注 611 他的粉丝 ,译者 邵思华 关注 3 他的粉丝 发布于 2016年2月15日. 估计阅读时间: 3 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

R编程语言最早出现于1993年,而在2000年,它的第一个符合产品质量的版本R-1.0发布了。自那之后,R就成为了统计分析方面的业界标准,围绕着这门语言出现了大量的图形界面工具,以及可用于各种IDE及文本编辑器的包。

Revolution Analytics是一家成立了9年的公司,他们为R语言提供商业级的支持服务。但就在最近,微软收购了这家公司,作为他们向大数据及机器学习领域迈出的第一步。这次收购的结果是在即将问世的SQL Server 2016中将提供对R语言的支持。

SQL Server R Services的主要优点在于数据的本地化。通过在数据库中直接运行R,免除了将数据从数据库服务器搬到R服务器的过程中通常会产生的性能开销。它的另一个优点在于能够将整个操作封装为一个存储过程,因此无需通过某个外部应用服务器对操作过程进行控制。

调用这一过程的方法是使用sp_execute_external_script,这个存储过程允许你通过标准的查询将数据从SQL Server传递至R服务。而在R脚本执行完毕之后,可以返回一个R变量,通常来说是一个数据帧。

在sp_execute_external_script中有一个令人感兴趣的特性,即@language这个参数。虽然它目前仅限于使用R语言,但从文档上看,未来似乎可以通过一种插件模型以支持其他脚本语言。

可使用任意一种通过xxx注册的受支持语言。language的类型是sysname。

在进行复杂的数据处理时,R语言比起常规的SQL语句具有许多优势。Casimir Saternos在他的文章“超越SQL:使用R语言进行数据处理”中提出了一些示例,例如如何简化表的PIVOT和UNPIVOT操作。Casimir在文章的总结中这样说道:

从定义上来说,SQL是一种查询语言。它的长处在于从数据库中获取数据,在许多场景中,这是唯一一种从数据库中取出数据的方法,因而显得至关重要。

但是,在进行数据转换时,SQL又有可能变得非常笨重。SQL本身是一种非常灵活的语言,因此也支持以大量不同的方式进行数据的转换,但这些转换往往需要使用冗长的、晦涩的、难以维护的SQL语句。而通过R语言所带的大量的包,可以以一种简洁的、清晰的、简单的方法执行相同的操作。付出一定时间去学习这些包是完全值得的,这让我们能够充分利用SQL与R语言包中最好的方面,通过一系列易于理解与掌握的步骤实现数据的分析。

SQL Server 2016当前的最新版本是第3个社区技术预览版。

查看英文原文:R for SQL Server 2016

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT