Skip to main content

GetHDFSFileInfo

描述:

从HDFS中获取文件或目录的列表。该组件将创建包含HDFS文件或目录的信息数据流输出。该组件主要目的是提供类似HDFS客户端的功能:比如,count, du, ls, test, 等等。不同于ListHDFS组件, 该组件是无状态的,支持输入文件级别的信息连线

标签:

hadoop, HDFS, get, list, ingest, source, filesystem, 获取, 列表

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.

名字默认值允许值列表描述
Hadoop配置指定由逗号分隔符分隔的多个Hadoop配置文件。如果不设置,则Hadoop将搜索类路径(classpath)查找'core-site.xml' 和 'hdfs-site.xml'文件,或还原为默认配置。 为了使用 swebhdfs, 可查看 '高级设置' 的 PutHDFS 文档

支持表达式语言 (仅支持变量)
Kerberos证书服务控制器服务API:
KerberosCredentialsService
实现:
KeytabCredentialsService
指定用于Kerberos授权的证书服务配置
Kerberos Principal指定用于认证的Kerberos principal。 需要设置在 orchsym.properties 配置文件中设置 orchsym.kerberos.krb5.file

支持表达式语言 (仅支持变量)
Kerberos Keytab指定用于关联Principal认证的Kerberos keytab。 需要设置在 orchsym.properties 配置文件中设置 orchsym.kerberos.krb5.file

支持表达式语言 (仅支持变量)
Kerberos重新登录时长4 hours尝试Kerberos重新登录的时长。注:该参数以被弃用,并组件执行没有影响。现在重新登录将自动发生

支持表达式语言 (仅支持变量)
额外类路径指定将添加到类路径的并以逗号分隔的多个文件或目录。 当指定目录时,所有目录下的文件将被添加到类路径中,但并不迭代包含子目录中的文件
全路径指定用于获得信息的目录或文件的完整路径

支持表达式语言 (支持流属性和变量)
递归子目录
- 是
- 否
决定是否递归读取子目录中的文件
目录过滤仅匹配目录名的正则表达式获取,如果不设置,任何过滤都会被应用(需考虑性能)

支持表达式语言 (支持流属性和变量)
文件过滤仅匹配文件名的正则表达式获取,如果不设置,任何过滤都会被应用(需考虑性能)

支持表达式语言 (支持流属性和变量)
排除文件指定将忽略的文件名正则表达式匹配,如果不设置,则不应用任何过滤(需考虑性能)

支持表达式语言 (支持流属性和变量)
忽略.目录忽略
- 忽略
- 不
如果忽略,则以点(“.”)开头的目录将被忽略
忽略.文件忽略
- 忽略
- 不
如果忽略,则以点(“.”)开头的文件将被忽略
结果编组全部
- 全部将全部结果编组到一个单独的数据流输出
- 父目录编组将具有相同父目录的HDFS对象编入一组。组件将根据每个目录(包括递归目录)生成相应的数据流。 如果不《递归子目录》,则效果同“全部”设置
- 单独对结果不进行编组,每个HDFS对象将生成单独的数据流输出
指定读取的HDFS对象的编组策略
目标输出作为内容
- 作为属性获得的HDFS对象细节将作为属性设置到数据流上。警告:如果扫描成千上万的文件对象时,将生成数量巨大的属性和值可能影响到数据流输出以及GC或内存栈使用,则此种情况应该使用'内容'作为目标
- 作为内容获得的HDFS对象细节将以JSON格式的数据流输出
指定结果的目标输出方式

连线:

名字描述
success所有成功读取到的文件数据将输出到此连线
not found如果未找到文件对象,原始输入数据流将输出到此连线
failure所有试图访问HDFS失败的数据将路由到此连线
original原始输入数据流输出到此连线

读取属性:

未提供。

写入属性:

名字描述
hdfs.objectNameHDFS文件名或目录名
hdfs.path在HDFS中的对象父目录的绝对路径。例如:文件对象在目录'foo'中, 并在父目录 '/bar'下,则 'hdfs.objectName'属性的值为'foo', 该 'hdfs.path'属性的值为 '/bar'
hdfs.type文件对象的类型. 可能的值是: 目录(directory), 文件(file), 链接(link)
hdfs.owner在HDFS中的拥有该对象的用户名
hdfs.group在HDFS中的拥有该对象的用户组
hdfs.lastModified在HDFS中的对象的修改时间(毫秒数)
hdfs.length对于文件:表示文件对象的字节数,对于目录:返回目录的存储空间
hdfs.count.files对于目录类型对象,则返回该目录下所有文件数,对于其他对象类型,则没有值
hdfs.count.dirs对于目录类型对象,则返回该目录下子目录数(包括自己),对于其他对象类型,则没有值
hdfs.replication文件的HDFS副本的数量
hdfs.permissions在HDFS中的对象的权限。由3个字符拥有者,3个字符的组和3个字符的其他组构造,比如 rw-rw-r--
hdfs.status文件或目录不能访问或读取的状态信息列表, 如果没有错误,将不会状态值
hdfs.full.tree当《目标输出》为属性时,返回以JSON格式的HDFS目录树结构。警告:如果扫描成千上万的文件对象时,将生成数量巨大的属性和值可能影响到数据流输出以及GC或内存栈使用,则此种情况应该使用'内容'作为目标

状态管理:

该组件不保存状态。

限制:

该组件没有限制

输入流要求:

组件允许提供输入流。

系统资源考量:

未提供。

参考:

FetchHDFS, GetHDFS, ListHDFS, PutHDFS