0

我正在为我的团队做一个指标项目。我必须将几个不同的报告加载到一个中央存储库中,然后根据这些数据创建表格和报告。

数据来源是:

  1. CSV 文件
  2. PDF 文件
  3. 临时/手动数据。

我在玩 Talend 和 MySQL。我对如何加载 CSV 文件有点困惑。我应该有一组目录和一个或多个加载文件的计划任务吗?

另一个想法是编写一个自定义文件处理器,它将根据命名约定加载文件。你觉得呢?你有没有什么想法?

4

1 回答 1

1

“PDF”很复杂。因为它是pdf ......“临时/手动数据”需要更多细节。
但是,如果我们专注于 csv 并且您的问题仅在我正确的情况下与这些人有关,我会通过编写一个在我的 mySQL DB 中调用 SP 的应用程序来做到这一点,将完整路径移交给 csv(以及任何其他数据,例如表的“用户友好名称”(如果需要) - 或您想要存储的任何其他元数据)使用mySQL Load Data执行导入。
原因是,导入 csv 后“业务逻辑”中可能有很多规则,根据不断变化的业务需求维护应用程序比一直更改数据库行为更容易,而且,如果出现严重错误我数据库是安全的,只有“导入管理器应用程序”失败 - 因为我不必将它和 csvs 都存储在我的数据库所在的同一系统上。
数据库,关系数据库基本上是关于存储数据,并基于“集合论”快速检索数据,而不是关心数据如何进入系统。

因此,在开始实施任何事情之前,请考虑以下问题:

  • 处理后的 csv 会发生什么?可以删除吗?应该移动到例如“已处理”文件夹吗?应该留在/留在原处吗?
  • 如果应该保持原样,我应该怎么做才能知道我已经处理了文件?(例如,设置“准备存档”标志?触摸“最后修改”日期并将其设置为 1950.01.01?向文件添加额外属性?
  • 如果 csv 导入失败(例如文件中的无效数据,或不应包含 NULL 的 NULL 值),我该怎么办?显示错误?将 csv 标记为不可用?发送电子邮件?移动到“processing_failed”文件夹?
  • 如果输入文件夹中的文件数变大怎么办?
  • 如果业务逻辑更改或 csv 格式更改,我如何轻松更改导入/处理/等?

等等。仔细考虑您拥有的所有选项并做出决定。

我希望我回答了你的问题;)

于 2013-05-02T20:30:05.830 回答