目的:使用tFileList组件,读取文件夹下的所有文件,输出每个文件内的数据

组件:tFileList,tFileInputDelimited,tLogRow

1.tFileList连接时使用迭代连接

taLend入门_组件_tFlieList

 

2.设置读取文件路径,文件列表类型选择“文件”

 taLend入门_组件_tFlieList

 

3.设置tFileInputDelimited

3.1读取的文件名,使用全局变量的方法:((String)globalMap.get("tFileList_1_CURRENT_FILEPATH")),其中tFileList_1是组件名,CURRENT_FILEPATH是迭代时的当前文件名,属于全局变量(全局变量查询官方文档)

3.2 分隔符设定:取入csv文件,在tlogrow输出中,可以看到,是以","为分隔符的,所以,建议设置","

3.3 schema设置,取入文件的字段名需要在这里设置,否则,会提示“schema未定义”,导致tlogrow无法输出内容

taLend入门_组件_tFlieList

taLend入门_组件_tFlieList

 

4.取入文件及文件格式

 taLend入门_组件_tFlieList

taLend入门_组件_tFlieList

 

taLend入门_组件_tFlieList

之所以修改了字段名,是输出前的猜想,我认为他会自动匹配不同的字段进行读取,运行结果证明是错的

5.run

taLend入门_组件_tFlieList

 

结果很明显,age列是空的,而原本在age列的数据,依然出现在了id列

所以,tFileInputDelimited在读取文件时,不识别所读取的文件内的文件名,他要求读取文件内容格式统一:例如字段位置和字段数量,而在schema中的字段设置,则是人为的将数据和字段名进行一一匹配

相关文章:

  • 2021-09-24
  • 2021-05-05
  • 2022-01-17
  • 2021-12-10
  • 2022-12-23
  • 2021-11-06
  • 2021-11-22
  • 2022-12-23
猜你喜欢
  • 2021-09-02
  • 2021-04-11
  • 2021-04-07
  • 2022-01-19
  • 2021-10-01
  • 2021-04-30
  • 2021-10-16
相关资源
相似解决方案