gpt4 book ai didi

ruby - 高性能 ETL 平面文件提取的更好解决方案?

转载 作者:太空宇宙 更新时间:2023-11-03 16:32:47 27 4
gpt4 key购买 nike

<分区>

我有一个结构如下的数据集:

[TIMESTAMP] FIXED POSITION       DATA STRING
[TIMESTAMP] FIXED POSITION DATA STRING
[TIMESTAMP] tag1=9324, tag2=19, tag3=55, etc
[TIMESTAMP] FIXED POSITION DATA STRING

这两种类型的记录混合在一起,基于标签的字段定期包含摘要数据。对于单个文件,这些数据文件可能高达 1000 万行。此外,一些固定位置行可能有几千字节长 - 导致我在处理它们时出现内存管理问题。

我需要从头开始处理文件,当我点击摘要条目时将每个条目分组,并记录这些摘要条目以及来自固定位置条目的某些字段的聚合。具体地,固定位置段的一个特定部分包含一个4位的状态码。我需要将该数据添加到摘要记录 - 自上次摘要记录以来出现的每个摘要代码的出现次数。每个摘要条目(包括聚合数据和时间戳的字段)都应转换为 CSV 中的一行。

我目前仅使用 ruby​​ 代码/标准库来执行此操作。对于较小的数据集还好,但对于较大的数据集,性能会迅速下降。在我看来,这像是一个常见的 ETL 类型问题。稍后我将对这些数据执行更复杂类型的操作,并且似乎不断地重新访问这些日志文件以对它们进行更复杂的报告。

是否有现有的 ETL 工具或库(首选 Ruby)

  1. 高性能混合(正则表达式/固定位置)提取效果好。
  2. 易于学习。
  3. 抽象内存管理。
  4. 是免费/开源或低成本(低于 200 美元)商业。

我愿意接受关于使用什么来解决这个问题的替代建议 - 我只是在寻找比原始标准库 ruby​​ 代码更好的解决方案。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com