您正在查看9.7 -版本的RapidMiner Radoop文档点击这里查看最新版本
RapidMiner Radoop基础
安装RapidMiner Radoop扩展后,您可以看到Hadoop数据观点:
的Hadoop数据view是管理Hadoop集群上数据的强大工具。在这几页的后面,它是详细讨论.
本节描述设计在Hadoop集群上运行的进程所需的主要概念。由于Apache Hive是解决方案的一部分,这些解释通常引用基本的Hive概念,如表或列。如果您不熟悉Hive,可以将其视为Hadoop之上的(分布式)关系数据库或数据仓库基础设施。它理解SQL并将输入转换为分布式作业。
了解Radoop Nest操作符
Radoop巢是RapidMiner Radoop中最重要的构建块。每个进程必须至少包含一个Radoop巢(元)算子;它指定到Hadoop集群的连接。
Radoop操作符的任何子进程内部的Radoop巢描述在该Hadoop集群上运行的进程;所有的内容外巢(由RapidMiner Studio操作器处理)在内存中处理。当您设计流程时,您不会注意到这两组操作符在其基本结构(输入、输出和参数)方面有任何区别。大多数Radoop操作符都有对应的RapidMiner Studio。两者之间的主要区别在于,Radoop操作符的内存占用最小,并且始终在集群上保存和处理数据。
Radoop Nest参数
中定义集群连接详细信息连接的参数。Radoop巢操作符。如果更改此参数,客户端将立即测试连接(由右下角的进度条指示),并在连接测试失败时发出警告。
的附加参数Radoop巢接线员:
参数 | 描述 |
---|---|
表前缀 | 在进程运行期间,Radoop在Hive中创建临时对象。对象名称以该参数定义的前缀开头。方法为该参数设置默认值,您可以在流程设计期间允许用户指定前缀table.prefix全球房地产. |
改变样本量 | 覆盖此子流程的输出样本大小。通过deafult,该参数被设置为false,这意味着sample_size.overall财产确定样本大小。 |
样本大小 | Hadoop数据集在Nest输出上的样本量;零使用完整的样本。此选项仅在以下情况下可用改变样本量检查。 |
Hive文件格式/ impala文件格式 | 定义Hive表在巢内使用的存储格式。此设置适用于临时和永久Hive表,尽管您可以使用Hive存储和读CSV运营商.默认情况下,没有指定存储格式,Radoop使用Hive服务器或Impala的默认设置(通常为TEXTFILE格式)。您可以显式地将TEXTFILE定义为格式,它的优点是可以向分布式文件系统提供人类可读的数据。如果您希望使用更高级的文件格式来优化性能(更小的大小和更快的处理速度),请更改此参数。 |
只连接黑斑羚:重载impala元数据(高级参数) | 如果未指定表,则对所选表或整个数据库调用无效元数据语句。这将从Hive metastore中重新加载Impala中的元数据,以便您可以在您的进程中使用所有Hive表和视图。 |
只连接黑斑羚:要重新加载的表(高级参数) | 如果未指定表,则在某些表或整个数据库上调用invalidate元数据。如果数据库包含大量表,请考虑设置此参数。 |
清洗(高级参数) | 定义在进程结束后Radoop是否应该删除临时对象。默认行为(true/checked)删除对象,强烈建议这样做,因为您的集群可能很快就会被临时对象填满。您可能希望在短时间内取消选中此选项,例如调试进程。你可以之后很容易删除这些对象. |
自动转换(高级参数) | 如果为true/checked(默认值),则在Radoop巢输入端口(并存储在操作内存中)被立即推送到集群。数据被写入一个临时Hive表,并准备好在巢内作为操作符输入。如果设置为false/unchecked,则只有嵌套内的操作符将数据写入集群(通常当它们在其输入端口上使用数据时)。在这种情况下,您还可以对嵌套中的内存数据集进行操作,但您很少需要这样做。 |
Radoop Nest输入
Radoop允许您在同一进程中组合基于内存和基于集群的操作符。在它的输入端,Radoop巢将数据从客户端操作内存导入到集群。巢内的操作符消费和生产HadoopExampleSet对象(标准ExampleSet对象的基于集群的变体)。HadoopExampleSet将数据存储在Hive中,在临时或永久表或视图中,并且对客户端的操作内存占用最小。当然,您也可以处理已经驻留在集群上的数据,或者直接将数据导入到集群,这样您就不必使用任何Radoop Nest输入端口。相反,只需在子流程中访问或导入数据。下面是子流程内部的示例Radoop巢.
Radoop Nest输出
Radoop巢可以有任意数量的输出端口,以将基于内存的ExampleSet对象直接传递到进程输出端口或到下一个RapidMiner操作符的输入端口。你可以在里面接通接线员Radoop巢到巢的输出端口。Radoop从HadoopExampleSet输出获取数据或数据样本到客户端的操作内存,然后作为基于内存的ExampleSet在流程流上进一步传播。由于数据样本必须适合操作内存,因此您可能希望处理聚合数据(在集群上发生聚合之后)。方法限制获取的数据样本的行数sample_size.overall财产或者是样本大小巢的参数。
运行进程
可以使用运行按钮中的主工具栏。操作员左下角的状态图标和进度指示器可以提供有关流程执行的帮助。但是请注意,可以同时有多个具有活动进度指示器的操作符。这是因为Radoop操作符通常只创建Hive视图,并延迟计算。由于密集的计算,分布式作业(例如,MapReduce作业)只有在HadoopExampleSet物化时才会发生(为它生成一个Hive表,并将(有时是临时的)数据写入HDFS)。只有在必要时或优化器算法决定这样做时才会这样做。
rapidminer到hive数据类型转换
条款属性和列在本文中是可互换的,因为RapidMiner中的属性可以是集群上Hive表或视图的列,反之亦然。下面两个表匹配RapidMiner和Hive数据类型。
第一个表显示了在导入ExampleSet期间发生的转换;第二个表显示了当数据从集群获取到操作内存时发生的转换。注意,表名和属性名可能会在Radoop巢—标识符自动转换为小写,特殊字符被“_”替换,并且为了避免与Hive中的某些保留字冲突,在部分术语后添加了“_”后缀。例如,在RapidMiner中名为“Column”的属性在属性中变成“column_”Radoop巢(因为“COLUMN”是Hive Query Language中的关键字)。通过检查元数据传播,您可以在设计时轻松地跟踪这些更改。
转换为Hive数据类型
RapidMiner数据类型 | Hive数据类型 |
---|---|
整数 | 长整型数字 |
真正的 | 双 |
数值 | 双 |
二名式命名法 | 字符串或布尔值 |
多词学名 | 字符串 |
名义上的 | 字符串 |
日期 | 字符串 |
其他 | 字符串 |
转换为RapidMiner数据类型
Hive数据类型 | RapidMiner数据类型 |
---|---|
非常小的整数 | 整数 |
短整型 | 整数 |
int | 整数 |
长整型数字 | 整数 |
小数 | 真正的 |
浮动 | 真正的 |
双 | 真正的 |
布尔 | 二名式命名法 |
字符串 | 名义上的 |
其他 | 名义上的 |
RapidMiner维护一个名义上的映射用于标称属性。这个内部数据结构将标称(字符串)值映射为双精度值,以便有效地使用内存。由于嵌套内的进程在集群上运行,并且必须具有最小的操作内存占用,因此Radoop不维护此结构(尽管它为二名式命名法属性).然而,当Radoop巢在其输出端口上提供从集群获取的数据集,标称映射可以由流程的后续操作符重新构建。为此,请注意核心操作符帮助文本中标称属性的使用说明。二名属性的标称映射还指示哪个字符串值被认为是两个可能字符串值中的正值。
RapidMiner Radoop操作符
除了…之外Radoop巢,它是Hadoop集群上子进程的容器,有许多RapidMiner Radoop操作符可以在Radoop巢.这些经营者可分为以下几类:
- 数据访问
- 混合
- 清洗
- 建模
- 得分
- 验证
- 实用程序
对这些组进行了更详细的描述描述操作符的部分.
断点
在流程设计期间,您可能希望检查中间结果。为此,您可以在任何操作符之前或之后定义断点,并检查输入或输出端口上的对象。中的操作符Radoop巢,因为它们将数据存储在集群上,所以您可以为每个HadoopExampleSet对象获取数据样本到操作内存中,并以与任何其他ExampleSet对象相同的方式检查它。中显示的元数据和数据图表和先进的图表面板提供高度可配置的工具来可视化数据。控件来控制这些数据样本的最大大小样本量断点财产。
请注意,使用断点会导致在断点暂停进程的位置将数据物化到集群上。这意味着计算可能比没有断点时更早地进行,并且可能在HDFS上使用更多的空间。类似地,带有断点的总运行时间可能比进程在没有断点时完成所需的时间更长。将此视为标准的调试开销。