您正在查看的是RapidMiner Radoop 9.2 -版本文档查看最新版本
数据加载指南
理想情况下,您的数据已经驻留在集群上。如果是这种情况,导入并不意味着数据的移动,而是指允许Radoop访问数据的对象创建。如果尚未在您的集群上,导入涉及从客户端机器复制数据。在这两种情况下,数据导入都可以作为Radoop过程的一部分。
本节使用以下操作符:
- 读CSV
- 读数据库
- 在Hive存储
- 添加到Hive
- 从Hive检索
每一个都在上下文中简要描述;有关更多详细信息,请参见运营商或操作符帮助文本。
RapidMiner Radoop主要使用蜂巢作为Hadoop之上的数据仓库层。要将数据结构定义为流程中的输入,请使用Radoop的操作符和向导。易于使用的界面有助于管理数据库对象,而可视化工具可以让您快速浏览它们。
导入场景
在设计导入流程时,可以从以下基本场景中进行选择:
为HDFS、Amazon S3或Azure HDInsight上的数据定义Hive外部表。不涉及数据移动。
为HDFS上的数据定义一个Hive-managed表。源数据将复制到Hive管理的HDFS目录结构中。可以为目标表指定自定义存储格式。
为客户端机器上的本地数据定义一个Hive-managed表。本地机的数据会被复制到HDFS中,进入Hive管理的目录结构中。请注意,这可能是最慢的选项。
关于导入的执行,有两个选项:
选项 | 描述 |
---|---|
立即启动导入 | 打开导入配置向导在Hadoop数据视图,描述源和目标对象,然后立即启动导入。这只建议用于外部表(立即创建)或较小的HDFS或本地源。导入配置未保存,Radoop客户端等待操作完成。进度条显示操作进度。 |
创建导入流程 | 使用设计视图以创建包含一个或多个数据导入操作的流程。使用一个操作符从Radoop /数据访问/读取运营商集团。的读CSV操作符打开导入配置向导.的读数据库操作员打开一个类似的导入向导,用于配置从客户端访问的外部数据库(通过客户端机器的数据流)导入数据。导入操作是在运行流程时执行的。如果您希望重用配置、定期导入、调度或与其他人共享导入过程,请选择此选项。 |
当您将一个进程的数据集(ExampleSet)从客户机的操作内存加载到集群中时,还有第三个选项可供使用。自动完成Radoop巢operator chain—每个连接到它的任何输入端口的exampleeset都被推到集群中,并自动对需要数据集作为输入的巢内的任何操作符可用。
使用导入向导
访问导入向导的最简单方法是从Hadoop数据视图。完成这些步骤后,RapidMiner Radoop立即将数据导入集群。如果定义了多个集群连接,向导会提示输入要用于导入的连接。导入时间取决于数据的大小和到集群的连接。
请注意:本地源和集群上的文件或目录的处理过程基本相同。
有两种方式打开导入向导:
从Hadoop数据观点:
创建一个新进程读CSV的运算符。Radoop巢接线员,然后点击导入配置向导在参数面板。在这种情况下,完成这些步骤只定义了操作符的导入参数;在运行流程时执行导入。
保存流程时,Radoop将使用向导定义的配置保存在流程文件中。如果稍后要重复导入,最好创建一个流程。
向导引导您完成以下步骤来描述源文件并在Hive(和RapidMiner)上定义目标结构。
1 / 4
设置样本数据量并识别文件系统。的样本数据量指定在步骤2和步骤3中显示为数据示例的行数。选择本地,HDFS, Amazon S3或Azure HDInsight (Blob / Data Lake)文件系统。
本地文件系统
选中后,将为您提供一个打开文件浏览器的按钮。点击选择本地文件并选择输入文件或目录。点击下一个继续到步骤2.
Hadoop分布式文件系统
选中后,将为您提供一个打开文件浏览器的按钮。点击选择“HDFS文件/目录”并选择输入文件或目录。对于HDFS源,您可能想要创建一个外部表,而不是通过检查创建外部表…复选框。对于外部表,选择源目录;这个目录中的文件内容将是外部表的内容。对于非外部(托管)表,可以选择单个文件或完整目录作为源。
点击下一个继续到步骤2.
Amazon Simple Storage System (S3)
指定S3路径而且文件格式.请根据向导中的说明输入路径。选择列出的标准文件格式之一。或者,选择Custom Format并完成输入和输出字段(例如,类名如org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat)。
然后可以测试连接并查看测试结果的日志。点击下一个继续到步骤2.
Azure HDInsight存储系统(Blob / Data Lake)
指定存储类型,路径而且文件格式.根据向导提示,输入与选择的“存储类型”匹配的路径。选择列出的标准文件格式之一。或者,选择Custom Format并完成输入和输出字段(例如,类名如org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat)。
然后可以测试连接并查看测试结果的日志。点击下一个继续到步骤2.
2 . 4步
配置输入数据的格式。选择编码、列分隔符(如果需要使用正则表达式)和其他选项,比如从第一行读取属性/列名。属性中的设置,然后可以预览已解析的数据数据预览窗格。当满意时,继续执行下一步。
3 / 4步骤
RapidMiner使用强类型属性。这一步帮助定义在Hive上创建的表的属性。该表对应于HadoopExampleSet。表的列是这个示例集中的属性。向导根据在文件开头找到的值猜测属性类型。允许的数据类型是:真正的,整数,名义上的而且二名式命名法.RapidMiner Radoop在Hive中存储实数和整数属性作为DOUBLE和BIGINT列;名义属性存储为STRING列;双名属性存储为STRING或BOOLEAN列。Radoop不显式地支持其他类型,但是您可以加载,例如,DATE函数值到一个标称属性中,没有任何问题。您可以稍后使用操作符处理它们(例如,使用生成属性),也可以在它们上使用Hive的众多DATE函数。
你也可以指定角色属性,定义单个操作符如何使用这些属性。属性可以在稍后的过程中设置这些角色设置角色操作符。
4 / 4步骤
在最后一步中,为目标Hive表选择一个名称,并可选择更改存储格式。中打开向导参数a面板读CSV操作符时,还可以选择将数据存储在临时表还是永久表中。如果希望立即使用其他Radoop操作符处理数据,并且以后不需要这种格式的原始数据,则选择temporary。(在任何情况下,您都可以使用在Hive存储操作符。)
您可以选择更改默认存储格式类定义的永久表的Fileformat蜂巢属性来设置(或作为参数)自定义存储选择。您可以使用分区,这可以在分区列上进行过滤时增强查询性能。特殊的存储格式可能会减少所需的空间并提高性能,但请注意,选择特殊的格式可能会增加导入运行时间,因为转换可能需要额外的开销。请参阅蜂巢的文档存储类型的详细信息。
将数据导入集群后,可以使用Hadoop数据视图.方法可以在流程中访问导入的数据从Hive检索操作符。右键单击此视图中的对象并单击创建流程:检索立即创建一个新的Radoop进程,该进程使用这些数据作为输入。
属性的参数定义向导读CSV的运算符设计视图中,可以立即查看出现在操作符输出端口上的元数据(就像使用从Hive检索在选择您创建的输入表后使用。
读取数据库
Radoop还可以将数据从数据库传输到集群。客户端从定义的数据库连接中读取数据,并立即将数据推入集群。源可以是数据库对象,也可以是在参数中定义的查询结果。操作员支持连接到MySQL, PostgreSQL, Sybase, Oracle, HISQLDB, Ingres, Microsoft SQL Server或任何其他使用ODBC桥接的数据库。
请注意:对于某些数据库系统,该软件可能不包含闭源JDBC驱动程序。在这种情况下,请下载驱动文件并按照以下步骤进行配置这些指令.
从内存中加载
为了从客户端操作内存中加载数据,将一个RapidMiner核心操作符(它在输出中传递一个ExampleSet对象)连接到一个Radoop巢操作符的输入。将下发的数据集推送到集群中;处理继续在巢内进行。中更详细地描述了这个概念Radoop基础知识.
通过Hive访问数据
与在Hive存储操作符,您可以在流程中保存当前数据集。因为a里面的数据Radoop巢始终驻留在集群上,存储有效地意味着将结构和数据本身保存在Hive表中以供以后使用(也就是说,在流程完成后它不会被删除)。存储过程不消耗时间,尽管延迟计算可能必须在它完成之前完成。
使用从Hive检索操作员访问Hive表。它在输出端口上传递来自所选表的数据。的输出连接Radoop操作符输出端口之前,数据一直驻留在集群中Radoop巢.在这种情况下,将数据中的一个样本提取到客户机的操作内存中。
如果目标表还不存在,添加到Hive类似于在Hive存储操作符。如果存在,操作符首先检查表的结构是否与其输入端口上的数据集的结构相同。如果匹配,则将数据追加到当前目标表。如果结构不同,系统将抛出设计时和运行时错误。