Teradata 中的 R - 用户如何在 Teradata Vantage 上执行他的 R 代码?



Teradata为针对Vantage平台执行R代码提供了什么? 有可用的教程吗?

将 R 和 Python 与 Vantage 结合使用 |第 1 部分:概述:https://www.youtube.com/watch?v=VjgFWBc2kTM

答:客户端选项

"tdplyr"R 附加库(可在 downloads.teradata.com 免费获得(建立在"dplyr"基础上,专门用于与 Vantage 服务器进行交互。除了"dplyr"提供的函数外,它还为Vantage系统新引入的机器学习引擎(MLE(组件中的约100+个分析函数提供了R包装器,并在Vantage系统的高级SQL引擎(ASQLE;以前的Teradata数据库(组件中提供了9个分析函数。面向客户端的 Teradata R 软件包"tdplyr"因此支持数据整理和直接来自数据库的数据的无缝数据库内分析,从而使客户不必将任何数据从数据库移动到客户端再移回。

"TDPLYR"文档可在以下位置找到: https://docs.teradata.com/reader/EZAbQ2BX~vKBrWDQ3v7fPQ/qPSuQaTN2CYD~KUvLxY7mg。

使用"tdplyr"的分析在"R and Python with Vantage"TechBytes 系列的第 2 部分中演示: https://www.youtube.com/watch?v=_DCbTpWSLJI

B:节点内选项

Teradata 还通过 SCRIPT 表运算符(STO;自 Teradata Database v.15.00 起(和执行 ExecR 表运算符(ExecR;自 Teradata Database v.15.10 起(为 R 用户提供节点内解决方案。这两种方法都使用户能够自带其 R 脚本,并在每个 ASQLE 节点上运行的 R 解释器实例上的数据库中本机执行这些脚本。由于数据库体系结构的性质,此方法最适合和有效:

a( 模型评分任务,其中 R 脚本只需要一行数据作为输入即可使用给定模型对其进行评分;出于这个原因,评分任务在所有节点上非常有效地进行,这被称为"令人尴尬的并行"任务。

b( 通过按某些特征对数据表进行分区来拟合多个模型;在此方案中,每个 AMP(ASQLE 数据库处理单元(处理单个分区的所有数据,这会导致以并行方式同时拟合所有模型。

更复杂的情况是,当用户希望使用来自整个数据库的数据拟合模型时;通常,这些任务涉及两个步骤的操作,其中第一步是执行从每个AMP接收部分结果的脚本("映射"阶段(,在第二步中,第二个脚本需要使用这些部分答案以产生最终结果("reduce"阶段(。这种方法将编程责任放在用户身上(不像MLE分析函数在拟合客户端模型时无缝地向用户执行这一系列步骤(。 ExecR 的内存处理限制为每 AMP 3.5 GB。

B.1: 执行

用户可以将其 R 脚本直接引入 ExecR,但脚本与数据库交互的数据输入和输出部分需要使用 ExecR 中所谓的 FNC 函数进行适当的修改。这些是 Teradata 构建的 R 函数,用于执行这些数据和元数据传输任务。详细的 ExecR 文档可在以下位置找到:

https://docs.teradata.com/reader/T5QsmcznbJo1bHmZT2KnFw/EabyaGA8DZhLIXy~uhzvsA

B.2: 脚本

SCRIPT 表运算符 (STO(:在此方法中,脚本通过脚本的标准输入从单个表接收数据,需要正确解释 R 的输入数据类型,并通过脚本的标准输出将结果发送到数据库(或 SQL 接口(。因此,在此方法中,在将脚本上传到数据库并通过 STO 执行之前,需要相应地组合 R 脚本数据输入和输出段。除此之外,脚本的实例在每个数据库 AMP 上的 R 解释器上运行,就像在客户端上运行一样。

最新更新