Csv Talend-处理大型分隔文件

Csv Talend-处理大型分隔文件,csv,talend,Csv,Talend,我有一个关于如何处理具有大量列(>3000)的分隔文件的问题。 我试图用标准的分隔文件输入组件提取字段,但创建模式需要几个小时,当我运行作业时,我得到一个错误,因为toString()方法超过了65535字节的限制。在这一点上,我可以运行的工作,但所有的列是混乱的,我不能真正与他们合作了 是否可以使用talend拆分该.csv文件?是否有其他可能的处理,可能是使用某种java代码?如果您有任何进一步的问题,请随时发表评论 干杯 要处理大分隔文件,我们需要为大数据设计的东西,我认为使用此命令将文件

我有一个关于如何处理具有大量列(>3000)的分隔文件的问题。 我试图用标准的分隔文件输入组件提取字段,但创建模式需要几个小时,当我运行作业时,我得到一个错误,因为toString()方法超过了65535字节的限制。在这一点上,我可以运行的工作,但所有的列是混乱的,我不能真正与他们合作了

是否可以使用talend拆分该.csv文件?是否有其他可能的处理,可能是使用某种java代码?如果您有任何进一步的问题,请随时发表评论


干杯

要处理大分隔文件,我们需要为大数据设计的东西,我认为使用此命令将文件加载到MongoDB集合是一个不错的选择,而无需在导入文件之前创建3k列集合:

mongoimport --db users --collection contacts --type csv --headerline --file /opt/backups/contacts.csv
之后,您可以使用ETL工具轻松地处理数据


看。

也许你可以和我一起去。它是用来处理各种极端情况和处理数据的

检查一下,看看是否适合你的需要

下面是一个使用CSV输入的简单项目:


披露:我是这个图书馆的作者。它是开源和免费的(Apache V2.0许可证)。

您可以在元数据中创建分隔文件的模式,对吗?我测试了包含数百万条记录的3k列,甚至不需要5分钟就可以加载所有数据类型的列名。显然,不能通过将每一行作为一个单元格来拆分该文件,它可能会超出talend中字符串的限制。但是您可以在Java中使用BufferedReader

来完成它,谢谢您的提示。我甚至不能通过Excel打开文件。我得到一个内存不足的错误。Excel只是没有超过1.6GB的已用内存,而且有很多可用内存,但他总是崩溃:/Edited答案,因为Oracle的列数有限,我建议使用MongoDB。我也考虑过这种处理方式。我使用的是Exasol数据库,在传输之前,我必须定义包含所有列的表。这就是为什么我在寻找某种在talend中使用talend或java组件的解决方案这就是为什么我建议使用Mongo db,因为您可以加载数据,而不必事先创建表,它将使用文件的第一行作为列名的标题
--headerline
。是的,我刚刚在您的代码行中看到了它,非常感谢。也许在这种情况下它不起作用,因为有些标题是由“”组成的。不过别担心,谢谢你的解决方案。谢谢你的建议,但我的回答更多地集中在如何通过talend或talend内部的任何开发来实现它。我不知道我是否愿意在塔伦德整合大学城。你有这方面的经验吗?