【问题标题】:Programmatic data conversion strategy程序化数据转换策略
【发布时间】:2013-08-09 23:08:04
【问题描述】:

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

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

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

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

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

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

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

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

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

【问题讨论】:

  • 偏爱轻巧简洁的原因是什么?在我看来,您需要功能更全面的东西。我使用 Pentaho 数据集成。将我在此类事情上的工作效率提高了 10 倍。是的,有一个学习曲线,但如果你经常这样做,IMO 绝对值得。
  • 谢谢你的回复——我昨天实际上花了一个小时左右的时间涉足 Pentaho Kettle。它可以为我们工作。我担心的是,满足新客户数据转换要求的责任将落到开发人员手中,在这种情况下,首选使用代码工作(并且一个框架来完成繁重的工作并设置基本规则将是有益的)。然而,理想情况下,销售工程师、devops 或其他人将构建转换,而 Kettle 将允许这样做。
  • 我想这将是一个培训问题。 ETL 工具是为分析师和非程序员使用而设计的,但它们还没有完全普及。您必须至少具备最低限度的开发技能,这是一种范式转变。这就是学习曲线。但如果他们能克服它,就像我说的那样,IMO 绝对值得。

标签: etl data-integration


【解决方案1】:

我不确定它是否完全适合,但您可以查看streamsets.com

它是一种用于数据移动和轻量级转换的开源工具。它允许您提供最少的输入架构(例如,我有 CSV 文件),因此您不必处理您提到的很多事情。

*完全披露我是 StreamSets 的工程师

【讨论】:

    猜你喜欢
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    • 2013-05-08
    • 1970-01-01
    相关资源
    最近更新 更多