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
复制并重命名
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/;其次,命令应该是
进行到上面这一步的时候会报错:
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
关闭hadoop: hadoopusr@karl-K42Jv:/usr/local/hadoop$ sh ./sbin stop-all.sh
退出hadoopusr用户: hadoopusr@karl-K42Jv:/usr/local/hadoop$ exit
这时就可以完全关闭了,不会提示 ”该终端中仍然有一个进程在运行。。。“
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
这时就可以完全关闭了,不会提示 ”该终端中仍然有一个进程在运行。。。“
相关文章推荐
- Silicon Lab Ember zigbee学习杂谈----custom event
- 安卓应用程序框架研究(一):Activity组件的启动过程
- 学习JavaEE的每一天2016.3.24
- 通过数据得到拟合数据并制图
- css中一些常用选择器的介绍
- 直线分割平面、分割空间
- 堆排序
- 堆排序
- RPC学习(二):RPC的原理分析
- Yii2.0 插入多条记录操作中,旧的属性值影响插入操作的原因
- 层次遍历
- Python引用复制,参数传递,弱引用与垃圾回收
- ccf 201512-3 画图
- 表达式求值(四则运算) 后序法
- Struts2+Spring+Hibernat整合
- TCP协议中的三次握手和四次挥手(图解)
- x264_param_default_preset()源码分析
- document.getElementById(), getElementsByname(),getElementsByClassName(),getElementsByTagName()
- 函数名称修饰符__cdelcl __fastcall 与__stdcall
- 网易面试总结