r - 从 SSIS 包执行 R 脚本

标签 r ssis

我想从 SSIS 包中执行 R 代码。如何添加执行 R 代码的数据控制步骤? SSIS 仅支持 vb.net 和 asp.net。

SSIS 有许多可用的数据转换,但 R 在数据操作方面非常友好。

我想从 SSIS 脚本或其他方式运行 R 代码。基本上,我正在尝试将 R 集成到 ETL 过程中。

我想从 CSV 文件中提取数据(E)。

在 R 中转换(T)它并在 Microsoft 数据库中加载(L)它。
是否可以通过使用 SSIS 数据控制项执行 R 脚本在 SSIS 包中完成此工作流?谢谢!

最佳答案

您可以通过以下几种方式将 R 集成到 ETL 过程中。

  • 粗暴、快速、肮脏 - 在控制流中执行流程任务。这类似于从命令行调用 RScript。您可能会进行转换,将其保存到磁盘上的文件中,然后从执行流程任务中获取该文件名,以便将其提供给数据流任务。好处是你保持你的 R 干净并且与你的 C#/VB 分开。
  • 通过 Rdotnet 集成 - 您可以使用 RDotNet library (我相信,还没有尝试整合它)。您需要在 GAC 中注册 DLL,然后您可以使用 SSIS 脚本中的 .NET 对象或 call R scripts directly .
  • 集成在 SQL Server 2016 - Microsoft 通过扩展存储过程添加了 R 支持。您通过存储过程调用 R 脚本并对输入数据使用 sql 查询并可以存储输出。见 more detail here .这意味着在 SSIS 中使用执行 SQL 任务。
  • 关于r - 从 SSIS 包执行 R 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33353277/

    相关文章:

    r - 是否有等效于 Stata 的 egen 函数?

    sql-server - SSIS 2012 - 条件 header 的位置

    sql-server - 如何在 SSIS 中实现 TRY_CONVERT 功能?

    sql-server - 在SSIS中,如何获取应处理的源返回的行数

    r - 使用 qtm tmap 更改图例的语言

    r - ggplot2:为每个 x 处的组值总和添加行

    R 包构建未记录的代码对象

    r - 在 R 中使用传单绘制旅程路径

    sql-server - SSIS 包中的 "ROW PER BATCH"和 "MAX INSERT COMMIT SIZE"是否有任何相关性?

    c# - 在 DataFlow 脚本组件中枚举 RecordSet 作为数据源