您的位置:首页 > 其它

3.24 58 数据挖掘intern

2016-03-24 20:42 225 查看
1,

input= uid1 house: 1

uid1 car: 1

uid1 recruit: 2

uid1 house: 2

uid2 house: 1

uid2: car: 3

...

注:日志文件格式为:同一个uid的信息显示完了再显示下一个uid

用python编程实现reduce并按照如下进行输出:

output: uid1 house: 3 car: 1 recruit: 2

uid2 house: 1 car: 3

....

分析:输入为流式的,每个过程涉及两个uid变量,统计一个uid变量,并暂时存储,如果下一个变量不是这个uid变量,则将统计结果进行输出,释放该内存。开始统计下一个uid变量。

程序:

2, 二叉树的层序遍历

3,Map-Reduce框架的思想

shuffle: http://langyu.iteye.com/blog/992916 http://www.csdn.net/article/2013-01-07/2813477-confused-about-mapreduce
单词词频统计:http://www.tuicool.com/articles/uE7J7j
http://my.oschina.net/sanpeterguo/blog/215922 http://blog.csdn.net/jthink_/article/details/42745699 http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00141861202544241651579c69d4399a9aa135afef28c44000
为什么讲mapreduce时没有讲shuffle

以下是 ubutu 14.04 LTS X64 + hadoop 2.7.2 安装试用过程,不完全成功

04/13/2016

Ubuntu环境下单机模式安装hadoop,并用自带WordCount示例验证:
http://www.cnblogs.com/kinglau/p/3794433.html 已完成

注意用的例子是: bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.2-sources.jar org.apache.hadoop.examples.WordCount input output

其中修改的一个脚本的位置:/usr/local/hadoop/etc/hadoop/hadoop-env.sh(和hadoop 2.6.2等其他版本不同,没有conf文件夹)

启用ssh-agent:

$eval `ssh-agent `

(反引号)

streaming.jar包在hadoop 2.7.2中的位置:

share/hadoop/tools/lib/hadoop-streaming-2.7.2.jar

参照帖子:http://blog.csdn.net/hitwengqi/article/details/8008203

第六步:6.设定*-site.xml

几个xml文件在hadoop 2.7.2中的位置:

./etc/hadoop/core-site.xml

./etc/hadoop/hdfs-site.xml

./etc/hadoop/mapred-site.xml.template 复制该文件,并命名为mapred-site.xml

参考:http://zhidao.baidu.com/link?url=IfVWGBxAl8uCOPXf5GR5gcQSGzJszWdu9pRBLsUdWnA7R1kJTjyFy4D0L7WoR3kMuNxThjm7_OTMOb2kPLAg1zye9f-OeEPFnnLgXxgwwva

搭建hadoop2.4.1版本中/etc/hadoop/中找不到mapred-site.xml文件

默认情况下,/usr/local/hadoop/etc/hadoop/文件夹下有mapred.xml.template文件,我们要复制该文件,并命名为mapred.xml,该文件用于指定MapReduce使用的框架。

复制并重命名

cp mapred-site.xml.template mapred-site.xml

编辑器打开此新建文件

sudo gedit mapred-site.xml

然后编辑mapred-site.xml

以后包含了如何编辑文件并另存为的问题。

提示hadoop命令未找到的解决办法:(两点)

1,

vim /etc/profile

加入

export HADOOP_HOME=你的hadoop安装路径

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

然后记得source /etc/profile一下

作者:唐易

链接:http://www.zhihu.com/question/21170241/answer/66720814

2, 输入hadoop文件命令的时候总是提示hadoop命令未找到,发现应该输入bin/hadoop所有的hadoop命令由bin/ hadoop脚本调用。

第八步,8.启动Hadoop中的 hadoop@ubuntu:/usr/local/hadoop/bin$ start-all.sh 首先,在hadoop 2.7.2中,目录应该是sbin/不是bin/;其次,命令应该是
.
/start-all
.sh或者


sh  start-all.sh




进行到上面这一步的时候会报错:

16/04/14 09:13:00 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

是本地库兼容的问题,32位和64位

目前还未解决

最终页面: localhost:8088在浏览器能看到运行情况

最终要实现的功能:http://blog.csdn.net/jiedushi/article/details/7390015

hadoopusr@karl-K42Jv:/usr/local/hadoop$ bin/hadoop jar share/hadoop/tools/lib/hadoop-streaming-2.7.2.jar -files /home/karl/ML/codes/MR/map.py -files /home/karl/ML/codes/MR/red.py -mapper "python /home/karl/ML/codes/MR/map.py" -reducer "python /home/karl/ML/codes/MR/red.py"
-input /home/karl/ML/codes/MR/1.log -output /home/karl/ML/codes/MR/test2

能够运行

但是报错:

16/04/14 22:09:37 DEBUG security.UserGroupInformation: PrivilegedActionException as:hadoopusr (auth:SIMPLE) cause:ExitCodeException exitCode=1: chmod: 无法访问"/usr/local/hadoop/tmp/mapred/staging/hadoopusr513177568/.staging/job_local513177568_0001": 没有那个文件或目录

且output底下没有内容

关闭yarn: hadoopusr@karl-K42Jv:/usr/local/hadoop$ ./sbin/stop-yarn.sh

./sbin/mr-jobhistory-daemon.sh stop historyserver


关闭hadoop: hadoopusr@karl-K42Jv:/usr/local/hadoop$ sh ./sbin stop-all.sh

退出hadoopusr用户: hadoopusr@karl-K42Jv:/usr/local/hadoop$ exit

这时就可以完全关闭了,不会提示 ”该终端中仍然有一个进程在运行。。。“
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: