kettle读取文件目录下的数据结构一致的所有数据文件信息和内容
2014-11-23 23:46
911 查看
为了避免文本文件在导出的数据时过大,分别导出在多个文件文本中。怎么利用kettle读取文件目录下的数据结构一致的所有数据文件信息和内容?如下图所示:
其实在kettle中有step为Get File Names 和Text Input两个步骤,可以通过设置这两个步骤的属性来实现在文件目录下读取指定文件后缀名的文件的信息和数据。
通过这样的设置文件信息(文件名,大小,路径等)可以是一个流变量 ( Stream Variable),并且从上一个步骤中获取相应的值,这样就提供了无限的灵活性;
具体的属性设置如下:
Get File Names:选择一个文件目录,并设定目录下文件名的正则表达式。这里选择的是txt类型数据文件,因此正则表达式设为customers-.*\.txt$,选取F:\test目录下所有customers-开头并且后缀为.txt的文件
文本文件输入:下方从上一步骤获取文件名,步骤读取的文件名来自Get File Names步骤,在输入里的字段被当作文件名填写Get File Names输出的字段uri。
若是单纯的读取文件目录下指定文件数据,就不需要那么麻烦设置,直接在文本文件输入步骤中文件和规则表达式中按上图所示填写就可以了。
这里需要说明通过这种设置后文本文件输入中字段选项无法自动获取字段。不过可以先不设置从前一步骤获取文件名,利用这个步骤的自身属性先获取字段,然后再设置。
附:Pentaho Kettle Steps: Get File Names
获取文件相关信息字段信息如下
filename - 包括文件名称以及扩展名,以及文件路径的整体
short_filename - 仅仅包括文件名称以及扩展名称
path - 仅仅包括文件的路径
type ——类型:file/folder
exists
ishidden ——是否隐藏
isreadable ——是否只读
iswriteable ——是否可写
lastmodifiedtime —— 修改时间
size ——大小
extension ——扩展名
uri ——文件/目录的绝对路径
rooturi ——根路径
相关文章推荐
- kettle读取文件目录下的数据结构一致的所有数据文件信息和内容
- kettle读取文件目录下的数据结构一致的所有数据文件信息和内容
- Android读取assets目录下文件数据内容
- 使用linux c 目录操作函数,读取任一目录下的所有目录信息文件信息
- php读取目录所有文件信息dir示例
- php 读取目录所有文件信息dir()
- Android读取assets目录下文件数据内容
- 从文件夹目录下导入所有指定文件类型的数据内容到数据库表
- Android读取assets目录下文件数据内容
- c# 根据读取的配置信息删除某个目录及下所有文件
- Android读取assets目录下文件数据内容
- php读取目录所有文件信息dir示例
- Android读取assets目录下文件数据内容
- php读取目录所有文件信息实现代码
- PHP读取目录下所有文件,并通过ajax返回json格式的数据
- php 读取目录所有文件信息dir()
- java读取目录下所有csv文件数据,存入三维数组并返回
- C#递归读取目录里所有文件(包括子目录)及其文件操作
- UNIX环境高级编程学习之第六章系统数据文件和信息-取所有组名、GID
- VC下读取文件夹目录 + 读取该目录下所有指定文件 + 把所有读取结果输出到CListBox并智能设置水平滚动条宽度