资源简介
用MapReduce实现KMeans算法,数据的读写都是在HDFS上进行的,在伪分布下运行没有问题。文档中有具体说明。
代码片段和文件信息
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
public class CenterInitial {
public void run(String[] args) throws IOException
{
String[] clist;
int k = 10;
String string = ““;
String inpath = args[0]+“/cluster“; //cluster
String outpath = args[1]+“/center“; //center
Configuration conf1 = new Configuration(); //读取hadoop文件系统的配置
conf1.set(“hadoop.job.ugi“ “hadoophadoop“);
FileSystem fs = FileSystem.get(URI.create(inpath)conf1); //FileSystem是用户操作HDFS的核心类,它获得URI对应的HDFS文件系统
FSDataInputStream in = null;
ByteArrayOutputStream out = new ByteArrayOutputStream();
try{
in = fs.open( new Path(inpath) );
IOUtils.copyBytes(inout50false); //用Hadoop的IOUtils工具方法来让这个文件的指定字节复制到标准输出流上
clist = out.toString().split(“ “);
} finally {
IOUtils.closeStream(in);
}
FileSystem filesystem = FileSystem.get(URI.create(outpath) conf1);
for(int i=0;i {
int j=(int) (Math.random()*100) % clist.length;
if(string.contains(clist[j])) // choose the same one
{
k++;
continue;
}
string = string + clist[j].replace(“ “ ““) + “ “;
}
OutputStream out2 = filesystem.create(new Path(outpath) );
IOUtils.copyBytes(new ByteArrayInputStream(string.getBytes()) out2 4096true); //write string
System.out.println(string);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2533 2012-06-19 08:31 KMeans\.classpath
文件 417 2012-06-19 08:31 KMeans\.project
文件 2972 2012-06-19 08:38 KMeans\bin\CenterInitial.class
文件 4558 2012-06-19 10:09 KMeans\bin\KMapper.class
文件 2508 2012-06-19 10:34 KMeans\bin\KMeans.class
文件 3445 2012-06-19 10:06 KMeans\bin\KReducer.class
文件 3306 2012-06-19 10:31 KMeans\bin\NewCenter.class
文件 1741 2012-06-19 08:38 KMeans\src\CenterInitial.java
文件 2278 2012-06-19 10:09 KMeans\src\KMapper.java
文件 1385 2012-06-19 10:34 KMeans\src\KMeans.java
文件 1051 2012-06-19 10:06 KMeans\src\KReducer.java
文件 1767 2012-06-19 10:31 KMeans\src\NewCenter.java
文件 371 2012-06-20 21:49 KMeans\说明.txt
..AD... 0 2012-06-19 10:08 KMeans\bin
..AD... 0 2012-06-20 21:49 KMeans\src
..AD... 0 2012-06-20 21:49 KMeans
----------- --------- ---------- ----- ----
28332 16
相关资源
- idea2017的sublime3 monokai配色
- JS脚本集合 大全 JS脚本集合 大全
- Struts框架的三个项目
- 微信小程序支付
- 面试需要了解的东西.docx
- maven+ssm框架demo
- ssm酒店管理系统基础后台控制源码+资
- 叶子猿 jvm教学视频高清110集教学视频
- 员工管理系统,增删改查
- 客户端与服务器的对话程序,有UI界面
- MyEclipse10.0
- 简易聊天室源码
- Spring Boot和ajax实现信息查询页面
- 秒杀系统企业级实战应用真实工业界
- 最新4.8版本的My97DatePicker日期控件
- 各种加密解密签名验证
- layui的表格table选中数据后更改本行的
- Weblogic漏洞扫描工具
- 机器学习Kmeans实验报告
- springboot+shiro代码demo
-
Hba
se+Spring boot实战分布式文件存储 - 基于netty编写的socket服务端
- 基于管道过滤器风格的单词排序程序
- ajaxfileupload.js
- 基于mapreduce的并行算法的设计 课件
- 桥接模式的运用
- 毕业课题管理系统
- 极客学院2048游戏项目开发视频及源代
- Demo-docx4j-word.zip
- 安卓视频播放器源码
评论
共有 条评论