【发布时间】: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