ID1-Adress1-NumberPhone1
ID1-Adress2-NumberPhone2
ID1-Adress3-NumberPhone3
ID2-Adress1-NumberPhone1
ID2-Adress2-NumberPhone2
ID3-Adress1 NumberPhone1
...
ID1-Adress2-NumberPhone2
ID1-Adress3-NumberPhone3
ID2-Adress1-NumberPhone1
ID2-Adress2-NumberPhone2
您可以查看多行示例。在本例中,输入文件的格式如下(与您的情况类似):
BEGIN
INFO,UK21341EAH45,customer1
AMNT,978,98.34
END
BEGIN
INFO,UK21341EAH46,customer2
AMNT,112,18.12
END
...
自定义读取器用于聚合跨多行的项。在本例中,(逻辑)项由begin
和end
(物理)记录分隔。您可以查看MultilineTradeItemReader并使其适合您的情况。
希望这有帮助。
CompositeItemWriter:当我需要将项目平均地分给Writer时,似乎会将所有读取的项目传递给所有的Writer。 BacktoBackPatternClassifier:我并不真正需要分类器,因为我是均匀地拆分项目。 有没有另一种方式,让一个读者和多个作者? 或者我可以在Writer中手动创建线程?
问题内容: 我有这个网页的csv档案。我想阅读下载文件中的某些列(可以在右上角下载csv版本)。 假设我要2列: 59在标题中是 60在标题中是。 但是,由于某些原因,网页的作者有时决定四处移动列。 最后,我想要这样的东西,请记住,价值可能会丢失。 如果这些列保持正确的名称,这将防止我的程序在将来再次更改列时出错。 到目前为止,我已经尝试过各种使用模块的方法,最近都尝试过使用该模块。两者都没有运气
当使用Spark sql读取jdbc数据时,Spark默认只会启动1个分区。但是当表太大时,Spark读取速度会很慢。 我知道有两种方法可以制作分区: 1.在选项中设置分区列、lowerBound、upperBound和num分区; 2.在选项中设置偏移数组; 但我的情况是: 我的jdbc表没有INT列,或者列字符串可以很容易地用这两种方式的偏移量分隔。 这两种方法在我的情况下行不通,还有其他方法
问题内容: 我有一个大的CLOB(大于32kB),我想使用StringBuilder读取为String。如何以最有效的方式做到这一点?我不能将“ int length”构造函数用于StringBuilder,因为我的CLOB的长度比“ int”长,并且需要一个“ long”值。 我对Java I / O类不太满意,并希望获得一些指导。 编辑 - 我尝试使用clobToString()的以下代码:
我正在创建一个Spring批处理作业,将数据从给定的CSV文件填充到数据库表中。我创建了一个定制的FlatFileItemReader。我的问题是read()方法只被调用一次,所以只有CSV文件的第一行被插入到数据库中。 myModelCsvReader 欢迎任何一致意见。感谢//扩展FlatFileItemReader后的thereader
在Spring批处理中,我试图读取CSV文件,并希望将每一行分配给一个单独的线程并对其进行处理。我试图通过使用TaskExecutor来实现它,但所有线程都在一次拾取同一行。我还尝试使用Partioner实现这个概念,同样的事情也发生了。请参阅下面我的配置Xml。 步骤说明 我尝试过不同类型的任务执行器,但它们的行为方式都是一样的。如何将每一行分配给单独的线程?