运行SQL Server Python应用程序 你需要了解的那些细节

日期: 2017-09-22 作者:Robert Sheldon翻译:杨宏玉 来源:TechTarget中国 英文

从安装到部署,本文将介绍一些使用SQL Server 2017 Python进行编程的基本细节。 随着SQL Server 2016的发布,Microsoft引入了R服务,该服务以附加组件的形式将R脚本集成到SQL Server数据库引擎中。微软通过增加对Python编程语言的支持,进一步扩展了SQL Server 2017的分析服务,它允许用户能够在SQL Server数据库中创建和运行Python脚本。 作为Python集成更新的一部分,微软将R服务重命名为机器学习服务。

SQL Server Python是在最初的R服务基础上构建的,这样做的目的是利用已经存在的可扩展性框架,可以更为方便的……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

从安装到部署,本文将介绍一些使用SQL Server 2017 Python进行编程的基本细节。 随着SQL Server 2016的发布,Microsoft引入了R服务,该服务以附加组件的形式将R脚本集成到SQL Server数据库引擎中。微软通过增加对Python编程语言的支持,进一步扩展了SQL Server 2017的分析服务,它允许用户能够在SQL Server数据库中创建和运行Python脚本。 作为Python集成更新的一部分,微软将R服务重命名为机器学习服务。SQL Server Python是在最初的R服务基础上构建的,这样做的目的是利用已经存在的可扩展性框架,可以更为方便的来为大型Python用户社区提供数据库程序开发接口。 让我们来看看如何实现这个新特性,它最初出现在SQL Server 2017社区技术预览版本2.0上,以后的所有版本数据库都将支持该特性。 Python以可读性和简单的语法而著称,它被用于各种用途,从后端web开发到高级数据分析。通过将SQL Server中的数据合并到Python脚本中,你可以绕过将数据从SQL服务器移动到第三方环境的复杂性和风险,同时还可以利用SQL Server的高级特性和安全功能。 你还可以将任何开源Python包合并到你的SQL Server安装中,这让你能够将最新的高级分析和机器学习逻辑集成到你的应用程序中。此外,微软还提供了一个Python库,该模块支持分布式计算应用程序,包括高性能机器学习算法,以及数据转换和可视化功能。

在SQL Server 2017 中安装Python

要安装SQL Server Python实例,您必须在安装过程中选择数据库引擎服务选项(Database Engine Services)下面的机器学习服务(Machine Learning Services)选项。在启用机器学习服务时,还必须指定Python语言。您也可以选择R语言,但是Microsoft建议每个实例只安装一种语言。 在选择了必要的选项之后,SQL Server将会设置安装一些特定于Python和机器学习服务的组件,包括Python 3.5运行时和解释器,它们将独立于其他SQL Server组件运行。 SQL Server安装程序还安装了一些常见的数据科学应用程序的Python包,以及Python的Anaconda发行版,它可以使用Anaconda 4.3分支中的Anaconda 3安装程序进行安装。Anaconda是一个免费的数据科学平台,它提供了管理Python包和整个Python环境的工具。 另一个安装的组件是SQL Server Trusted Launchpad,它是一个Windows服务,它管理Python运行时和SQL Server实例之间的通信。它是在SQL Server 2016中引入的,用于支持R服务,在SQL Server 2017中也提供了对Python的支持。 SQL Server安装程序还安装BxlServer可执行文件,用于管理数据传输,以及SQL Satellite扩展API,它与BxlServer一起工作,以执行读取输入数据、写入输出数据和处理错误等任务。

使用SQL Server Python架构

在安装更新的组件之后,你可以通过调用sp_execute_external_script系统存储过程来运行SQL Server中的Python脚本,该脚本同样用于运行R脚本。主要区别在于,在调用存储过程时,您必须指定Python语言,而不是指定R,应用程序开发人员只需要调用存储过程,或者是包含它的父进程,来运行Python脚本并返回已处理的数据。 Python的运行时环境与数据库引擎是彼此独立的,这有助于最大化性能,并避免对数据库操作产生任何影响。当您运行一个脚本时,SQL Server会联系可信的Launchpad服务,然后启动Python35进程。BxlServer与Python运行时一起工作,以控制如何交换数据,如何使用SQL Satellite将状态和结果传递给SQL Server等。 为了实现组件间的通信,SQL Server使用命名管道来实现BxlServer和数据库引擎之间的的内部数据传输,此外它还使用TCP / IP协议连接SQL Satellite。外部数据科学客户端可以使用开放数据库连接连接到SQL Server。 为了能够在SQL服务器上运行Python脚本,用户或应用程序必须有一个SQL Server登录账户或Windows用户帐户,其中任何一个都必须与一个主实体相关联,该主体应具有访问相关数据库所需的安全权限。当用户尝试运行脚本时,数据库引擎将检索该用户的登录或帐户的安全上下文,并管理对可存储对象的访问。 数据库管理员可以控制Python运行时在SQL服务器实例上的行为,以及哪些用户有权限运行Python脚本。 添加运行Python脚本的功能对于微软来说是一个重要的里程碑,它显示了公司在融合外部技术方面的进展。Python在大量的应用程序中得到了广泛的应用。只要这个特性得到用户的认可,那么微软和其用户群体都将从SQL Server Python中获得巨大的好处。

翻译

杨宏玉
杨宏玉

TechTarget特邀编辑。北京邮电大学计算机科学与技术专业硕士。熟悉软件开发流程,对系统管理,网络配置,数据库应用等方面有深入的理解和实践经验。现就职于IBM(中国)投资有限公司,从事IBM服务器相关软件的开发工作。业余时间喜欢游泳登山,爱健身,喜欢结交朋友。

相关推荐