Subscribe to the Teradata Blog

Get the latest industry news, technology trends, and data science insights each week.

Teradata Does Open Source!介绍Vantage的R和Python工具包

Teradata Does Open Source!介绍Vantage的R和Python工具包

在这个系列博客的第一篇,我们介绍了R语言和Python工程师们使用Teradata Vantage平台的两种方法。我们还分析了这项应用的重要性,并介绍了如何以更高的水平来使用这两项技术。在这篇文章里,我们将关注客户端的语言、以及R语言和Python的工具包——tdplyrteradataml

在Vantage平台外部运行R语言和Python命令时,Tetadata会提供开源工具包和原生语言的SQL驱动程序来提供接口,使用Vantage平台上可用的功能。此外,这些工具包是建立在已经被大家所熟知的、已有的R语言和Python工具包之上的,所以有可能工程师们现在已经使用过了这些工具包;这样一来,我们可以尽可能地保证能够无缝切换到Vantage平台。

基于这些方法,用户可以将原生语言的SQL驱动程序加入到他们的R语言和Python设置中,和Teradata两个开源数据库之一结合使用,即面向R语言的tdplyr和面向Python的teradataml。这两个工具包可以提供数据库环境、连接和管理方面通用的功能。而最重要的是,这些工具包能帮助工程师在本地环境使用R语言数据框架或pandas数据框架,但实际上却指向Vantage中存储的表格或视图。这就意味着不再需要在客户端和Vantage环境中来回迁移数据,只需要移动元数据或一些小型的数据样本。

此外,这两个工具包都能提供从R语言或Python到Vantage机器学习、图表和高级SQL引擎功能的接口。它们向R语言或Python语言工程师提供了满分的算法,能够直接在Vantage平台上运行,不管是表现还是稳定性都能达到解决用户使用案例的需求、并且能够适应呈指数增长的数据量产生的需求。接下来,我们就来介绍这两个开源工具包。

Teradata SQL 驱动器

Teradata面向R/Python语言的 SQL驱动器能帮助以R/Python语言书写的程序连接到Vantage平台。基于通用的goSQL驱动器,Teradata面向R/Python语言的 SQL驱动器比同类型的ODBC或JDBC量级更轻,能够通过R/Python语言执行SQL命令,这种便捷程度是前所未有的。此外,这些驱动器还能够支持Teradata的快速加载协议,可用于并行地将大量的本地数据批量传输到Vantage平台。

Teradata面向R语言的工具包 - tdplyr

正如其名,tdplyr是基于著名的R语言工具包dplyr,这可能是在数据管理和数据预备时被使用得最广泛的R语言工具包。R语言用户可以基于变量名进行选择、基于变量值来选择数据行、添加由已有的变量通过函数计算而产生的新变量、将多个数值进行汇总并缩减,或者通过dplyr的变量进行数据行的移动等。这些功能都可以和分组等功能自然地组合使用,通过SQL可以非常方便地使用这种功能。此外,dplyr的组合使用工具包dbplyr可以提取这些变量来对应数据库内的工具表,管理本地数据框架所使用的R语言代码可以全部原原本本地应用于tdplyr。

这里的界面外观和管理常规的R语言数据框架很相似。除了数据框架之外,还使用了tibble来在Vantage的表格、视图或查询中代表数据。Tdplyr和dplyr用于远程获取或管理tibble的函数都会被转化成对应的SQL命令,通过Teradata用于R语言的SQL驱动器在Vantage平台上执行。除非接到明确的请求,那么只有一些数据子集和/或元数据或从Vantage平台上进行恢复;这些请求包括复制一个远程tibble到本地的R数据框架,这会造成大规模的数据迁移。

此外,tdplyr还提供R到Vantage平台上高级分析功能的接口,它们和在R语言中的呈现几乎是完全一致的 – 这些函数的命名可能不同,但参数会尽可能地和R语言中的函数签名保持接近。

Using R and Python with Teradata Vantage: Part 2 tdplyr demo 这个短片里,我们会一步一步地展示如何使用tdplyr。

Teradata 面向Python语言的工具包 - teradataml

Python语言的使用者对Pandas Python工具包比较熟悉,teradataml工具包是基于pandas数据框架对象的概念和语法,通过创建teradataml数据框架对象的方式来构建的。Teradataml数据框架是Python用户对数据库对象的参照,可以代表Vantage高级SQL引擎中的一个表格、视图或查询。

Teradataml数据框架的界面外观和Python内的pandas数据框架相似,teradataml程序库可以提供API接口,来存取或管理teradataml数据框架。这些函数会生成SQL请求,并在Teradata面向Python语言的SQL驱动器的连接下,在Vantage平台上执行。Teradataml工具包使用TeradataSQLAlchemy,是一种通过SQLAlchemy的同属性语言接口进行实施的手段,可以提供更强大的数据探索和数据准备方面的支持。

SQLAlchemy将数据库看做是一个关系型代数引擎,而不仅仅是一组表格的集合。他的对象-关系图谱(ORM)会描绘Python类和数据库中特定的pandas数据框架,不仅可以支持通过表格、还可以通过其他的选择命令语句来选择数据行。所有的对象都可以通过所谓的互补导向的方式,被组织成一个更大的架构;“我们不会通过所谓的一堆自动化操作来隐藏SQL和对象的关系详情,而是会将所有处理过程全部在一个组合式、透明的工具里展现出来”,这就给Python开发者提供了完全的控制能力。

而至于tdplyr,只有数据子集或原数据会从Vantage平台上恢复,除非用户明确要求将数据转移至客户。例如,需要复制teradataml数据框架到本地的pandas数据框架,这就会造成大规模的数据迁移。同样的,teradataml还提供从个Python到Vantage平台上高级分析功能的接口,尽可能地使用和Python接近的函数签名。

Using R and Python with Teradata Vantage: Part 3 teradataml demo,这个短片里,我们会一步一步地展示如何使用teradataml。
 
这是我们三篇系列博客的第二篇。在第三篇文章中,我们将会更加深入地探索通过R和Python语言使用Vantage平台的第二种方法——服务器端的语言和工具包。

开始优化你的数据科学流程 

利用Vantage的大规模并行处理(MPP)平台的能力,继续使用R和Python语言来提高表现和稳定性!如果你使用的是较早版本的Teradata产品,并且感兴趣升级到使用Vantage平台,欢迎联系我们
 


*https://www.sqlalchemy.org – SQLAlchemy’s Philosophy
 
Portrait of Tim Miller

(Author):
Tim Miller

Tim Miller has been in a wide variety of R&D roles at Teradata over his 30+ year career. He has been involved in all aspects of enterprise systems software development, from software architecture and design; to system test and quality assurance. Tim has developed software in domains ranging from transaction processing to decision support, with the last 20 years dedicated to predictive analytics. He is one of two principals in the development of the first commercial in-database data mining system, Teradata Warehouse Miner. As a member of Teradata's Partner Integration Lab, he consulted with Teradata's advanced analytics ISV partners, including SAS, IBM SPSS, RStudio and Dataiku, to integrate and optimize their products with Teradata's platform family. He spent several years with Teradata’s Data Science Practice, working closely with customers to optimize their analytic environments. Today, Tim is a Sr. Technologist in Teradata’s Technology Innovation Office, focused on the Vantage platform. View all posts by Tim Miller

Turn your complex data and analytics into answers with Teradata Vantage.

联系我们