PS:不会编码的数据类工程师定制海量数据分析套件(拖拽类数据分析(挖掘)工程师)
Radoop: Analyzing Big Data with RapidMiner and Hadoop
Radoop, an extension for the RapidMiner data mining tool which provides easy-to-use operators for running distributed processes on Hadoop.
Radoop是数据挖掘工具RapidMiner的一种扩展,为用户在hadoop进行分布式处理提供了良好的接口。
1介绍
数据海量增长
单机运算能力有限
分布式计算处理
在hadoop基础上,为了进行海量数据分析,对RapidMiner进行扩展,方便数据分析人员进行数据探索和挖掘
2背景
Google: GFS,MapReduce
Hadoop: HDFS, MapReduce
Apache Hive 是基于hadoop的数据仓库解决方案,它能够有效的处理海量数据。Hive拥有类似SQL的查询语言HQL和易于访问的JDBC接口,但是用户一般是通过命令行的方式进行Hive操作。
Mahout,运行在hadoop上的机器学习算法包。
Hadoop相关的项目在实际中大量应用,但是缺少易于使用的接口,并且很难学习。单机上的数据分析软件比较多,譬如RapidMiner,Weka和KNIME等。
3集成RapidMiner和Hadoop
为了将RapidMiner和Hadoop集成起来,创建扩展接口Radoop,它为RapidMiner提供其他的操作接口,可以在hadoop集群上运行任务;并且,可以重用hive和mahout中的某些数据分析功能。
3.1数据处理和I/O集成
在RapidMiner中,数据表是通过ExampleSet对象表示,主要存储在内存中。在Radoop中,数据表格存储在hive中,并且通过HadoopExampleSet对象进行描述。该对象中仅仅存储一些指针和设置,实际数据存储在hive中。因此,在Radoop处理中,不需要消耗大量的内存。
Radoop中实现Reader和Writer操作器,可以通过RapidMiner传递大数据文件。Reader和Writer操作器可以转化数据集中的每行数据,因此big CSV文件也可以被上传到HDFS以及可以通过命令行接口加载数据到Hive中。并且,可以在RapidMiner中通过Retrieve操作器访问数据。
3.2数据转化
数据分析项目中需要大量的精力进行数据预处理和清洗。80%的工作由数据预处理组成,20%由建模和评价过程组成。Radoop中支持很多数据转换工作,通过HQL脚本处理,主要包括选择属性,产生新的属性,过滤样本,排序,重命名和类型转换等等。它还支持聚合和表连接操作,并且可以通过UDF函数进行高级转换处理。
3.3数据挖掘和机器学习
Mahout实现了很多在hadoop上运行的机器学习算法。Radoop集成了RapidMiner和优化的模型,譬如Kmeans算法等等。
4用户界面
RadoopNest
Radoop过程从添加RadoopNest操作器开始
Radoop中集成了很多RapidMiner内置功能
5性能度量
实验1,从分布式文件系统中检索表,过滤部分数据,并且将结果写入分布式文件系统中。
Radoop操作流程