您正在查看的是RapidMiner Radoop 9.2 -版本文档查看最新版本
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财产决定样本量。 |
样本大小 | Nest输出上Hadoop数据集的样本量;Zero使用完整的样本。此选项仅在以下情况下可用改变样本量检查。 |
Hive文件格式/ impala文件格式 | 定义在巢内使用的Hive表的存储格式。此设置适用于临时和永久Hive表,尽管您可以使用在Hive存储而且读CSV运营商.默认情况下,不指定存储格式,Radoop使用Hive服务器或Impala默认设置(通常是TEXTFILE格式)。可以显式地将TEXTFILE定义为格式,这种格式的优点是为分布式文件系统提供人类可读的数据。如果您想使用更高级的文件格式来优化性能(更小的大小和更快的处理),请更改此参数。 |
只连接黑斑羚:重新加载impala元数据(高级参数) | 如果没有指定表,则调用将使所选表或整个数据库上的元数据语句无效。这将从Hive metastore中重新加载Impala中的元数据,这样您就可以在进程中使用所有Hive表和视图。 |
只连接黑斑羚:要重新加载的表(高级参数) | 如果没有指定表,则调用使某些表或整个数据库上的元数据失效。如果数据库包含大量表,请考虑设置此参数。 |
清洗(高级参数) | 定义在进程结束后Radoop是否应该删除临时对象。默认行为(true/checked)删除对象,这是强烈推荐的,因为您的集群很快就会被临时对象填满。您可能希望在短时间内取消选中此选项,例如调试流程。你可以事后很容易删除这些对象. |
自动转换(高级参数) | 如果为true/checked(默认值),则数据集在Radoop巢输入端口(存储在操作内存中)立即推送到集群。数据被写入一个临时Hive表,并准备在巢内作为操作符输入。如果设置为false/未选中,则只有套内的操作符将数据写入集群(通常当它们在输入端口上使用数据时)。在这种情况下,您还可以操作嵌套内的内存数据集,但很少需要这样做。 |
Radoop Nest输入
Radoop允许在同一个进程中结合基于内存的操作符和基于集群的操作符。在其输入端口上,Radoop巢将数据从客户端操作内存导入集群。巢内的操作者消费和生产HadoopExampleSet对象(标准ExampleSet对象的基于集群的变体)。HadoopExampleSet将数据存储在Hive中,在一个临时或永久的表或视图中,并且在客户端操作内存中占用最小。当然,您也可以处理已经驻留在集群中的数据,或者直接将数据导入到集群,这样就不必使用任何Radoop Nest输入端口。相反,只需访问或导入子流程中的数据。下面是其中一个子进程的示例Radoop巢.
Radoop Nest输出
Radoop巢可以有任意数量的输出端口,将基于内存的exampleeset对象直接传递到进程输出端口或套外的下一个RapidMiner操作符的输入端口。你可以在里面连接一个运算符Radoop巢到套的输出端口。Radoop从HadoopExampleSet输出中获取数据或数据样本到客户机的操作内存中,然后在进程流中进一步作为基于内存的ExampleSet传播。因为数据示例必须适合操作内存,所以您可能希望处理聚合数据(在集群上发生聚合之后)。属性可以限制所取数据样例的行数sample_size.overall财产或者是样本大小套的参数。
运行进程
进程可以使用运行按钮。操作符左下角的状态图标和进度指示器可以提供有关流程执行的帮助。但是请注意,可以同时有更多具有活动进度指示器的操作符。这是因为Radoop操作符通常只创建Hive视图,并延迟计算。由于计算量大,分布式作业(例如MapReduce作业)只有在HadoopExampleSet被物化时才会发生(为它生成一个Hive表,并将数据(有时是临时的)写入HDFS)。只有在必要时或优化器算法决定这样做时才会这样做。
RapidMiner-to-Hive数据类型转换
条款属性而且列在本文档中是可互换的,因为RapidMiner中的属性可以是Hive表或集群视图的列,反之亦然。下面两个表对应RapidMiner和Hive的数据类型。
第一个表显示了在ExampleSet导入期间发生的转换;第二个表显示了当数据从集群提取到操作内存时发生的转换。类中的表名和属性名可能略有变化Radoop巢—标识符自动转换为小写,特殊字符替换为下划线,为了避免与Hive中的某些保留字冲突,在某些术语后会附加下划线后缀。例如,在RapidMiner中名称为“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上使用更多的空间。类似地,有断点的总运行时间可能比没有断点的流程完成所需的时间要长。可以将此视为标准调试开销。