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