问题标签 [data-integration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2920 浏览

etl - Pentaho 数据集成 (DI) 获取 SFTP 服务器目录中的最后一个文件

我正在对 Pentaho 数据集成进行转换,并且我的 SFTP 服务器目录中有一个文件列表。此文件以 FILE_YYYYMMDDHHIISS.txt 格式命名,我的目录如下所示:

  • 我的目录
    • FILE_20130701090000.txt
    • FILE_20130701170000.txt
    • FILE_20130702090000.txt
    • FILE_20130702170000.txt
    • FILE_20130703090000.txt
    • FILE_20130703170000.txt

我的问题是我需要根据其创建日期获取此列表的最后一个文件,以将其传递给其他转换步骤...

如何在 Pentaho 数据集成中做到这一点?

0 投票
1 回答
1599 浏览

version-control - 在 Talend Open Studio 中删除作业发布

我正在使用 Talend Open Studio 进行数据集成,并创建了一个初始作业的新版本(创建时为 0.1 版),现在为 0.2 版

我想回到我的第一个版本作为工作副本并取消 0.2 版本。

这在 Talend Studio 的“开放”(即免费)版本中是否可行?我能怎么做 ?谢谢你的帮助。

0 投票
1 回答
5224 浏览

pentaho - 尝试连接到数据库时发生 PDI 错误

执行 PDI 作业时出现以下错误。我确实有 mysql 驱动程序(libext/JDBC)。有人可以说,失败的原因是什么?尽管连接到数据库时出错,但我的数据库已启动,我可以通过命令提示符访问它。

谢谢

0 投票
0 回答
3109 浏览

mysql - Pentaho 执行 SQL 脚本插入数据

我正在编写一份报告,该报告将使用导入的数据提供缺失序列的列表:

除了 id 字段之外,没有真正唯一的值,甚至没有值的组合

此表的数据如下所示(忽略 other_data 字段):

如上例所示,可能有多个 client_id/sequence 组合,并且序列可能不是从 1(也不是 0)开始

虽然可以运行查询以查找缺失的序列,例如对此问题的答案有所不同,但这可能需要很长时间

此方法的替代方法是在将数据插入表之前或期间执行一些插入/更新查询(使用 Pentaho 数据集成工具)并使用包含缺失 client_id/sequence 值的附加表。这意味着在上面的示例中,当插入 (client_id, sequence) 值 (1001, 5) 时,使用类似于我在下面计算出的查询会发现缺少序列 2-4:

(请注意,为了更轻松地在 SQL 中测试查询,而不是在 Pentaho 中执行 SQL 语句,并且插入被注释掉,因此它只是一个选择)

结果:

这将在某种程度上成功地填充缺少的序列表,但是当添加包含先前缺少的序列之一的行时,问题就出现了。
(最初我也有基于 client_id 和 miss_start 的主索引,它也会处理添加的重复值,但不完全确定这是否正确)

根据插入的序列号,存在四种可能性之一,例如:

这就是我的问题所在(如果您考虑到导入的数据可能未排序,则更早):
我如何满足 Pentaho 数据集成转换中的每种可能性以及初始插入和重复项?

编辑:经过一番头脑风暴,我想出了以下脚本,它在 MySQL 中运行时似乎可以正常工作,但在作为“执行 SQL 语句”触发器运行时却不行。这是(client_id,missing_start)的missing_sequences表上的主索引:

为每一行执行并选中变量替换框,但执行似乎不一致或根本没有更新缺失的序列表

0 投票
1 回答
151 浏览

etl - 程序化数据转换策略

我有一个产品可以从客户端导入某些数据文件(即:用户目录等),并将导出其他类型的数据(即:报告等)。目前所有导入和导出均采用 CSV 格式 (rfc4180),并且文件通过托管文件传输来回传递。

我越来越多地看到客户要求转换和重新配置这些数据文件以在其遗留系统中使用。对于导入数据文件,这是一些奇怪的请求,例如:

“我们将向您传递 20 列,从应用 $business_logic 到第 4、7、5、18、19 列,以确定您的系统在第 21 列中需要的实际值,然后删除那些原始列,因为它们并不是真正有用的他们自己”

或者

“第 2 列中的值用零填充,请去掉它。”

对于数据导出文件,它的请求如下:

“您正在向我们发送 .csv,但我们需要采用特殊的固定宽度格式。”

或者

“您正在用小数格式化数字。删除那些,并以 8 个零作为前缀。”

当然,我们加入的每个客户都有不同的要求。我很犹豫是否要潜入并从头开始写一些东西,因为我想在构建不同格式的文件(csv、tsv、固定宽度、excel、石碑)和处理字符编码的过程中会有各种各样的问题,等等,等等。我正在寻找的是某种开发框架(或商业产品),它可以让我们快速满足越来越多(和种类)的数据转换请求。轻量级和简单的东西是首选。

任何想法或经验表示赞赏。

0 投票
1 回答
6445 浏览

twitter - 如何配置 Apache Flume 从 Twitter 获取特定时间段的数据?

我有一个 hadoop 集群和 apache flume 用于从 twitter 到 HDFS 的数据集成,它默认按时间顺序获取数据,就像最近的推文将首先获取一样,现在我有用例从 twitter 获取特定时期的特定数据,比如说 2013 年 2 月。请让我知道是否需要设置水槽或 Twitter 句柄中的任何配置或属性。

提前致谢。

0 投票
1 回答
1539 浏览

pentaho - 以 Kettle 为数据源的 Pentaho 报告

我正在尝试使用 pentaho 报告调用水壶转换。我的转换将根据命令行参数从表中检索结果集。如果我从 ktr 中删除命令行参数并运行硬编码的 SELECT sql,则报告会生成正确的输出。但是当我们传递命令行参数/参数时它检索为空。

当我单击带有参数的预览时,该报告运行良好,但在我发布后无法运行。

我的参数没有传递给水壶转换。

报告参数:ondate Kettle 命名参数:ONDATE(我已经在我的报告中映射了两者)

我错过了什么?

0 投票
1 回答
71 浏览

mysql - 如何在 2 个不同的 MySQL 服务器之间定期集成数据?

我目前有 2 个 MySQL 服务在不同的机器上运行。其中一个是暂存环境(A),另一个是生产环境(B)。我需要做的是从(A)获取数据并根据条件更新/插入B。如果 MySQL 有 Linked 选项,那么我可以简单地创建一个为我完成工作的存储过程,这将解决我的整个问题。不幸的是,像 MySQL 这样的伟大产品没有这个必要的未来。

但是,由于我无法编写一个程序来执行此操作,我可以使用什么应用程序来为我进行集成?请注意,这种集成需要是自动的,因此可以每天甚至每小时完成一次。

我的问题是有一个集成应用程序可以自动将 MySQL 服务器上的数据集成到另一个服务器上吗?

谢谢

0 投票
2 回答
1069 浏览

pentaho - 使用 pentaho 数据集成加载事实表

我正在使用 pentaho DI 将数据插入事实表。事情是我从中填充事实表的表,其中包含 10000 条记录并且经常更改。使用数据库查找和插入更新我能够正确加载我的事实表一次。但是当新记录被添加到我的源表中(比如它变成 15000)并且我再次将记录插入到事实表中时,这 15000 条记录再次添加到我的事实表中。我想要的是添加事实表中不存在的新 5000 条记录。请建议我需要执行哪些转换才能实现这一点。

0 投票
1 回答
773 浏览

sql - Pentaho 命名参数错误

我正在使用 pdi 4.3.0。我在使用命名参数时遇到问题。我有三个转变。1.转型1

2. 转型2

3.转型3

现在我用工作来执行这些转换。

T3未知列“名称”上总是出现错误