taLend入门_组件_tFlieList

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

组件:tFileList,tFileInputDelimited,tLogRow

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

 

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

 

 

3.设置tFileInputDelimited

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

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

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

 

4.取入文件及文件格式

 

 

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

5.run

 

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章