我遇到了一个问题,我不知道哪一种技术最适合实施。如果你们能根据你们的经验给我一些建议,我将不胜感激。我想从10-15个CSV文件中加载数据,每个文件都是相当大的5-10 GBs。在加载数据时,我的意思是将CSV文件转换为XML,然后使用这个XML在Oracle中填充大约6-7个阶段表。需要填充数据,以便XML元素以及表中的行最终来自多个CSV文件。例如,元素A将有来自CSV文件1、文件2和文件3等的数据的子元素。
我有一个建立在Apache之上的框架,在Linux上的Jboss。Oracle 10G是数据库服务器。我正在考虑的选择,
提前谢谢。如果有人能给我指明正确的方向,或者从他/她的个人经历中给我一些深刻的见解,这将帮助我做出明智的决定。
你好,-v-
PS: CSV文件相当简单,每个列大约有40列。对象的深度或文件之间的关系将在2到3之间。
发布于 2012-10-25 06:22:19
除非您可以使用一些成熟的ETL工具(例如Informatica PowerCenter、宾得荷数据集成),否则我建议第四种解决方案--它很简单,性能应该很好,因为甲骨文将处理任务中最复杂的部分。
发布于 2013-01-12 21:56:34
在Informatica PowerCenter中,您可以导入/导出XML的+5GB。作为马立克的回应,试一试,因为它工作得相当快。如果您不熟悉这个工具,那么这里是一个简短的介绍。
发布于 2013-01-21 23:24:41
创建一个进程/脚本,它将调用一个过程将csv文件加载到外部Oracle表,并创建另一个脚本将其加载到目标表。
您还可以添加cron作业来调用这些脚本,这些脚本将跟踪传入的csv文件到目录中,处理它并将csv文件移动到输出/处理文件夹。
异常也可以通过记录或发送电子邮件来相应处理。祝好运。
https://stackoverflow.com/questions/13061800
复制相似问题