问题标签 [kiba-etl]

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 回答
126 浏览

etl - Tmdb::InvalidApiKeyError (Tmdb::InvalidApiKeyError)

当我使用 Kiba ELT 时,我遵循了 YouTube 中的教程以及所有者提供的教程。然而,我收到了这个错误:

这是我的 movies.etl 和 common.rb 配置:

0 投票
1 回答
167 浏览

csv - Kiba-etl 多路转换-多目的地

我正在尝试进行多重转换,将其分发到多个目的地。例如 :

添加到 .themoviedb 并将其转换为此

我想再次转换并将此文件推送到 s3 rating_movies.csv:movies1=9 movies=8

这应该是输出我该怎么做,然后将其推送到我的 s3 文件夹?

0 投票
1 回答
106 浏览

ruby - 应用转换后修改一系列行

应用转换后修改一系列行

我想编写一个 kiba 转换,允许我为特定数量的行插入相同的信息。在这种情况下,我有一个包含子标题的 xls 文件,并且该子标题也包含数据,如下所示:

为了提取相关数据,我使用下一个转换,它返回与提供的两个正则表达式中的至少一个匹配的行(日期或“客户”字)

这会给我下一个结果:

现在我有了我想要的信息,我需要为每个子行复制客户端和代码,并删除子标题

我能想到的唯一方法是直接在块上sourcepre_process块中进行,但需要之前使用的转换才能显示必要的数据,是否可以在源/pre_process 中使用转换类块?或在转换中操作多行?

0 投票
1 回答
117 浏览

ruby - 使用 Kiba:是否可以在同一个文件中定义和运行两个管道?使用中间目的地和第二来源

在需要进一步处理之前,我的处理有一个“浓缩”步骤:

来源:各种用户的原始事件/分析日志。

Transform:根据 UserID 将每一行插入一个哈希中。

目标/输出:内存中的哈希,例如:

现在,我没有必要将这些用户组存储在任何地方,我只想继续处理它们。Kiba 是否有使用中间目的地的通用模式?例如

我正在挖掘代码,似乎文件中的所有转换都应用于源,所以我想知道其他人是如何处理这个的,如果有的话。我可以保存到中间存储并运行另一个 ETL 脚本,但希望有一种更清洁的方式——我们正在计划很多这些“浓缩”步骤。

0 投票
1 回答
200 浏览

kiba-etl - 是否有使用 s3 存储桶和 csv 文件作为源且目标也在 s3 存储桶中的 Kiba ETL 作业示例实现?

我在 s3 中有 csv 文件,我想转换一些列并将结果放在另一个 s3 存储桶中,有时在同一个存储桶中但具有不同的文件夹。我可以使用 Kiba 实现它吗?我可能.. 在转换和其他东西之前,我需要先将 csv 数据存储在数据库中吗?

0 投票
1 回答
225 浏览

kiba-etl - 从数据库保存和加载 etl 管道

我目前的任务是制作一个 Rails 应用程序,其中用户可以从 rdbms(用于 mysql、pg 等)和 s3(用于 csv 和 json)创建连接。

用户可以添加 etl 作业。一个 etl 作业将来可以有多个管道,但现在只有一个。管道具有源、目标和多个转换。

在 UI 上,用户将拖动可以是 rdbms(mysql、pg 等)或文件(csv/json)的源和目标,并且配置形式将根据类型(文件的 rdbms 或 s3)而有所不同

之后,它可以添加转换。

关于以下内容的任何想法或指示

  • 在数据库中正确保存和加载源、目标和转换配置。
  • 不是从 etl 脚本而是从存储在数据库中的 etl 管道运行 etl
0 投票
1 回答
150 浏览

ruby-on-rails - 我可以在 Rails 服务中运行 Kiba 作业吗?

我正在从控制器内部调用的 rails 服务运行 kiba 作业。这是当前代码。

这就是我得到的

0 投票
2 回答
207 浏览

kiba-etl - 使用 Kiba-ETL 将表转换为集合的哈希

我正忙于处理 ETL 管道,但对于这个特殊问题,我需要获取一个数据表,并将每一列转换为一个集合 - 即一个唯一的数组。

我正在努力思考如何在 Kiba 框架内完成此任务。

这是我要实现的目标的本质:

来源

目的地

像这样的事情a)在Kiba可行,b)甚至建议在Kiba做吗?

任何帮助将不胜感激。

更新 - 部分解决。

我找到了部分解决方案。这个转换器类会将行表转换为集合的散列,但我不知道如何使用 ETL 目标获取该数据。我怀疑我正在以一种不打算使用的方式使用 Kiba。

0 投票
3 回答
325 浏览

amazon-s3 - ETL 到 csv 文件,拆分然后推送到 s3 以供 redshift 使用

刚开始接触 Kiba,没有发现任何明显的东西,但我可能只是在引导我内心的孩子(他通过盯着天花板寻找他们的鞋子)。

我想将一个非常大的表转储到 Amazon Redshift。似乎最快的方法是将一堆 CSV 文件写入 S3 存储桶,然后告诉 Redshift(通过COPY命令)将它们拉入。神奇的缩放 gremlins 将完成剩下的工作。

所以,我认为我希望 Kiba 为每 10k 行数据编写一个 CSV 文件,然后将其推送到 s3,然后开始写入一个新文件。最后,进行后处理调用COPY

那么,我可以“流水线化”这项工作还是应该是一个大的、嵌套的 Destination 类?

IE

source -> transform -> transform ... -> [ csv -> s3 ]{every 10000}; post-process

0 投票
1 回答
109 浏览

kiba-etl - 使用 kiba ETL 检查 CSV 文件标头的最佳位置

我需要检查一下:

  • 标题行存在
  • 标头包含一组特定的标头

这样做的最佳地点是什么。我有一些可能的解决方案,但不知道更惯用的解决方案

  • 在运行完整的 ETL 之前进行检查,例如在Kiba.parse块之前
  • pre_process入 ETL 内的块
  • 检查 ETL 源。我更喜欢这个,因为它更可重用(需要将必填字段作为参数传递)

请注意,即使我可以在一个transform块中检查 上可用的字段row,此解决方案似乎也不是很有效,因为它将为每一行运行。

任何提示表示赞赏