HDFSConnector
访问HDFS (Hadoop分布式文件系统)来上传、下载或删除文件和文件夹;或者列出来自HDFS服务的文件夹的内容。
典型的使用
- 通过上传、下载和删除文件和文件夹来管理HDFS上的数据集
- 将文件的内容(如XML、点云或光栅)导入或移出FME中的属性
- 方法读取下载的HDFS数据FeatureReader,或上载由。编写的数据FeatureWriter对HDFS
- 从HDFS中检索文件和文件夹名、路径、链接和其他信息,以便在工作空间的其他地方使用。
它是如何工作的?
HDFSConnector使用您的HDFS帐户凭据(通过以前定义的FME web连接,或者通过从transformer设置新的FME web连接)访问文件存储服务。
根据您的操作选择,它将上传或下载文件、文件夹和属性;列出来自服务的信息;或从服务中删除项。在上传时,路径属性被添加到输出特性中。在列表操作中,文件/文件夹信息作为属性添加。
在本例中,HDFSConnector用于从HDFS下载Esri地理数据库。在创建到HDFS帐户的有效web连接(可以在HDFS帐户参数中完成)并浏览到geodatabase文件夹之后,将检索HDFS路径,并选择下载的目的地。
一个FeatureReader被添加到读取新下载的数据集。在这里,PostalAddress功能类型将在工作区中的其他地方进一步处理。
通过在工作区中执行下载,每次运行工作区时都会刷新geodatabase。
在工作区的这个示例部分中,HDFSConnector用于从HDFS下载一个光栅正投影到一个属性中。
从HDFS读取文件,并将内容存储为一个blob属性。然后一个RasterReplacer用于将blob解释为可用的光栅格式。
这两个转换器的组合避免了将映像下载到本地存储并重新读取它。可以对点云文件使用类似的技术PointCloudReplacer变压器。
使用笔记
- 此转换器不能用于在不同的HDFS位置之间直接移动或复制文件。但是,可以使用多个hdfsconnector来完成这些任务。
- 的FeatureReader可以直接访问HDFS(不使用HDFSConnector),但是不会创建数据集的本地副本。
配置
输入端口
这个转换器接受任何特性。
输出端口
此转换器的输出将根据执行的HDFS操作而变化。
- 后一个上传动作,文件的HDFS路径和ID将被保存到一个属性中。
- 一个下载操作可以保存到文件、文件夹或属性中。
- 一个删除动作没有输出端口。
- 一个列表action将为在指定路径中找到的每个文件/文件夹输出一个新特性。每个新特性都有一些属性,列出了关于对象的各种信息。
参数
HDFS行动 | 要执行的操作的类型。选择包括:
|
HDFS帐户 | 对HDFS帐户执行操作需要使用Web连接使用三种身份验证机制中的一种(简单、令牌和Kerberos)。要创建HDFS连接,请单击HDFS帐户下拉框并选择添加网络连接。 然后可以通过工具> FME选项> Web Connections管理连接。 |
其余可用的参数取决于请求> HDFS操作参数的值。每个HDFS操作的参数如下所示。
HDFS路径
路径删除 | 要删除的HDFS上的文件或文件夹的路径。如果作为web连接提供了有效的凭据,则可以浏览到某个位置。 |
HDFS源
从路径下载 |
要下载的文件/文件夹的HDFS路径。如果作为web连接提供了有效的凭据,则可以浏览到某个位置。 |
目的地
下载 | 选择是否将下载的数据存储在文件、文件夹或属性中。
|
下载到文件夹 | 指定将存储下载文件的文件夹的路径。下载为文件或文件夹有效。 |
包括子文件夹 | 选择是否下载HDFS源文件的子文件夹。仅作为文件夹下载有效。 |
下载到属性 | 指定将存储下载文件的内容的属性。仅作为属性下载有效。 注意:FME将尝试将属性的内容转换为UTF-8字符串。如果失败,属性的内容将被创建为原始二进制文件。要确保始终保留原始字节并且从不转换为UTF-8,请使用Download作为文件。 |
HDFS路径
列出路径上的内容 | 在HDFS上列出内容的文件夹路径。如果作为web连接提供了有效的凭据,则可以浏览到某个位置。 |
输出属性
提供了默认属性名,并且可能会被覆盖。
文件或文件夹名称 |
指定在HDFS上保存对象名称的属性。 |
文件或文件夹ID |
指定在HDFS上保存对象ID的属性。 |
文件或文件夹链接 |
指定用于保存到HDFS上的对象的链接的属性。 |
文件大小 |
指定在HDFS上保存文件对象大小的属性。 |
最后修改 |
指定在HDFS上保存对象的最后修改日期的属性。 |
文件或文件夹标志 |
指定在HDFS上保存对象的类型(文件或文件夹)的属性。 |
相对路径 |
指定在HDFS上保存对象的相对路径的属性。 |
文件的最后访问 |
指定在HDFS上保存文件对象的最后访问日期的属性。 |
文件块大小 |
指定在HDFS上保存文件对象的块大小的属性。 |
业主集团 |
指定属性来保存HDFS上对象所属的组的名称。 |
所有者用户 |
指定属性来保存HDFS上对象所属的用户名。 |
八进制权限 |
指定在HDFS上保存对象的八进制权限代码的属性。 |
文件复制数 |
指定在HDFS上保存文件对象的复制数量的属性。 |
源
上传 |
要上载的数据的类型。
在处理大型对象时,文件是比属性更好的选择,因为数据将直接从磁盘流,而不需要将对象完全存储在某个特性的内存中。 HDFS将特定文件夹中的同名文件上传视为重复文件,因此可以将多个同名文件上传到特定文件夹。 当需要从文件夹上传内容时,最好是作为文件夹上传,而不是设置固定的路径并将多个特性发送到连接器以作为文件上传。 |
文件上传 |
如果Upload被设置为file,则要上传到HDFS的文件。 |
文件夹上传 |
如果上载设置为文件夹,则要上载到HDFS的文件夹。 |
包括子文件夹 |
选择是否上载要上载的文件夹的子文件夹。 |
属性上载为文件 |
要上载的数据,如果Upload设置为attribute,则由属性提供。 |
HDFS目的地
上传路径 | 要上载源文件的HDFS上的路径。要上载到根目录,输入“/”。 |
上传文件名 | 从要上载为文件的属性中提供的数据创建的文件的名称。名称必须包含一个文件名扩展名(例如.txt、.jpg、.doc)。 |
上传选项
如果目标文件存在 | 如果文件存在于上传目的地,请选择是否覆盖、追加或不执行任何操作。 |
文件/目录的权限 | 为上传对象设置的八进制权限(UNIX格式)值。如果为前一个参数选择“Append”,则此参数不可用。在本例中,对象将保留其原始权限设置。 |
输出属性
文件或文件夹Id |
指定output属性,该属性将存储刚刚上载的文件/文件夹的ID。 |
文件或文件夹路径 | 指定将在HDFS上存储文件路径的输出属性。 |
编辑变压器参数
使用一组菜单选项,可以通过引用工作区中的其他元素来分配transformer参数。更高级的功能,例如高级编辑器和算术编辑器,也可以在一些转换器中使用。要访问这些选项的菜单,请单击在可适用的参数旁边。有关更多信息,请参见变压器参数菜单选项。
定义值
有几种方法可以定义在转换器中使用的值。最简单的方法是简单地键入一个值或字符串,其中可以包括各种类型的函数,如属性引用、数学和字符串函数以及工作区参数。有许多工具和快捷方式可以帮助构造值,通常可以从value字段附近的下拉上下文菜单中获得。
使用文本编辑器
文本编辑器提供了一种方便的方法来构造来自各种数据源(如属性、参数和常量)的文本字符串(包括正则表达式),其中直接在参数中使用结果。
使用算术编辑器
算术编辑器提供了一种方便的方法来构造来自各种数据源(如属性、参数和功能函数)的数学表达式,其中结果直接在参数中使用。
有条件的值
根据通过或失败的一个或多个测试条件设置值。
内容
表达式和字符串可以包括许多函数、字符、参数等。
当设置值时——无论是直接在参数中输入还是使用某个编辑器构造——包含字符串、数学、日期/时间或FME功能函数的字符串和表达式将对这些函数求值。因此,这些函数的名称(形式为@<function_name不应将>)用作文字字符串值。
参考
处理行为 |
|
功能持有 |
没有 |
依赖关系 | HDFS帐户 |
FME授权级别 | 基本版及以上版本 |
别名 | |
历史 | FME 2018.0发布: |
类别 |
FME社亚搏国际在线官网区
FME社区是演示亚搏国际在线官网、操作指南、文章、常见问题和更多内容的地方。获取问题的答案,向其他用户学习,建议、投票和评论新功能。
搜索所有关于HDFSConnector的结果在FME社区。亚搏国际在线官网