嗨!各位小伙伴们大家好,今天我们一起学习怎么用MapReduce计算圆周率和单词统计吧!!!
我们开始喽~~~
那我们如何使用上述的测试包, 计算圆周率呢?
# 建议cd先进入到Hadoop提供的MR的测试包所在的路径下:
cd /export/server/hadoop/share/hadoop/mapreduce
# 执行MR包(MR任务的)格式:
yarn jar hadoop-mapreduce-examples-3.3.0.jar pi 2 50
# 上述格式解释:
yarn jar 固定格式, 说明要把某个jar包交给yarn调度执行.
hadoop-mapreduce-examples-3.3.0.jar Hadoop提供的MR任务的测试包
pi 要执行的任务名
2 表示MapTask的任务数, 即: 几个线程来做这个事儿.
50 投点数, 越大, 计算结果越精准.
# 扩展: MR计算圆周率底层用的是 蒙特卡洛算法.
如何使用上述的测试包, 计算: 单词的次数
# 建议cd先进入到Hadoop提供的MR的测试包所在的路径下:
cd /export/server/hadoop/share/hadoop/mapreduce
# 执行MR包(MR任务的)格式:
yarn jar hadoop-mapreduce-examples-3.3.0.jar wordcount 数据源文件路径 目的地目录路径
# 上述格式解释:
数据源文件路径 # 必须是HDFS的文件路径, 即: 要进行单词统计的文件(绝对)路径
目的地目录路径 # 必须是HDFS的目录路径, 且该目录必须不存在, 因为MR结果是 覆盖写入.
# 细节: HDFS只支持 绝对路径, 不支持相对路径, 且HDFS的路径和Linux一样, 都是 /开头的.
# 示例
yarn jar hadoop-mapreduce-examples-3.3.0.jar wordcount hdfs://node1:8020/input/word.txt hdfs://node1:8020/output
# 上述的 hdfs://node1:8020/ 是完整写法, 8020是HDFS的客户端地址, 可以简写为:
yarn jar hadoop-mapreduce-examples-3.3.0.jar wordcount /input/word.txt /output