kettle 获取指定文件_kettle读取文件目录下的数据结构一致的所有数据文件信息和内容...

为了避免文本文件在导出的数据时过大,分别导出在多个文件文本中。怎么利用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 ——根路径

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很高兴能够跟你聊天。关于你问的 kettle 导出的 xml 数据结构解析,可以通过 XML 解析器来解析 xml 数据。有多种 XML 解析器可以使用,比如 SAX 解析器、DOM 解析器、JAXP 解析器等等。 ### 回答2: kettle 导出的 XML 数据结构主要用于描述 ETL(Extract, Transform, Load)过程中的任务和转换。以下是对 kettle 导出的 XML 数据结构解析的简要说明。 1. 转换描述:XML 数据结构中的主要部分是描述转换的元素和步骤。转换是由一系列连续的步骤(steps)组成的。每个步骤描述了一个特定的数据处理操作,如从数据库中读取数据、执行转换、写入目标表等。每个步骤都有一个唯一的标识符和一组属性。 2. 连接描述:转换中的步骤之间通过连接(hops)进行关联。连接描述了步骤之间的数据流方向和转换规则。每个连接都有一个源步骤和目标步骤的标识符,并可以包含一组条件或规则。 3. 输入输出描述:每个步骤都有相应的输入和输出描述。输入描述定义了一个步骤的输入数据来源,可以是之前步骤的输出或外部数据源。输出描述定义了一个步骤的输出数据目标,可以是下一个步骤的输入或输出到外部。 4. 数据字段描述:每个步骤的输入和输出描述中都包含一个数据字段列表。数据字段描述每个字段的名称、类型、长度、格式等。这些字段用于描述数据的结构和类型,并在步骤之间进行数据传递和转换。 总之,kettle 导出的 XML 数据结构是一个详细描述 ETL 过程中任务和转换的文档。它包含了转换的元素、步骤、连接以及输入输出描述和数据字段描述等信息。通过解析这个 XML 数据结构,我们可以了解和操作 ETL 过程中的各个步骤和数据处理规则。 ### 回答3: Kettle是一款开源的ETL工具,常用于数据抽取、转换和加载。其中,导出的XML数据结构Kettle的作业和转换定义文件Kettle的XML数据结构具有以下特点: 1. 根节点:XML文件的根节点通常是"job"(表示作业定义文件)或"transformation"(表示转换定义文件),代表着整个XML文件的起始。 2. 节点结构:XML文件中的每个节点代表着Kettle中的一个组件,包括作业步骤(job entry)和转换步骤(transformation step)。每个组件都被嵌套在父节点内,形成层次结构。 3. 节点属性:每个节点都包含一些属性,用于描述该组件的相关信息,例如组件的名称、类型、位置、参数设置等。 4. 连接关系:Kettle中的组件之间可以通过连接关系进行数据传递。在XML中,连接关系通过在源组件和目标组件之间添加"hop"节点来表示,每个"hop"节点包含源组件和目标组件的引用。 5. 参数设置:对于每个组件,XML文件中都包含了它们的参数设置、输入输出字段映射等详细信息,用于指导Kettle的执行过程。 通过解析Kettle导出的XML数据结构,我们可以获得作业或转换的整体结构、各个组件的定义、属性设置和连接关系,以及每个组件的参数设置和输入输出字段映射等信息。这些信息能够帮助我们理解和分析Kettle作业或转换的执行流程,为后续的优化和调试工作提供指导。同时,通过解析XML数据结构,我们还可以将Kettle作业或转换的定义导入到其他系统中,实现作业或转换的自动化部署和执行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值