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对象的编组策略 |
目标输出 | 作为内容 | - 作为属性 - 作为内容 | 指定结果的目标输出方式 |
连线:
名字 | 描述 |
---|---|
success | 所有成功读取到的文件数据将输出到此连线 |
not found | 如果未找到文件对象,原始输入数据流将输出到此连线 |
failure | 所有试图访问HDFS失败的数据将路由到此连线 |
original | 原始输入数据流输出到此连线 |
读取属性:
未提供。
写入属性:
名字 | 描述 |
---|---|
hdfs.objectName | HDFS文件名或目录名 |
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或内存栈使用,则此种情况应该使用'内容'作为目标 |
状态管理:
该组件不保存状态。
限制:
该组件没有限制
输入流要求:
组件允许提供输入流。
系统资源考量:
未提供。