07-天亮大数据系列教程之streaming运行流程与shell实现wordcount
2017-11-23 17:55
447 查看
目录
1、streaming运行流程
2、streaming任务提交与shell实现wordcount
3、常用参数支持
详情
1、streaming运行流程
Java标准版运行流程
streaming运行流程
在worker处存在差异,通过stdin/stdout将PipeMapper和StreamingMapper打通
2、streaming任务提交与shell实现wordcount
步骤实现
数据准备
map编写
reduce编写
driver不再需要写了…….
yarn jar提交
结果查看
步骤详情
数据准备
hdfs目录
shell map编写
shell reduce编写
shell运行
本地测试
集群执行模板
样例(shell实现wordcount案例)
输出效果
3、常用参数支持
通用系统参数传递
设置job名称 : -Dmapreduce.job.name=”jobName”
是否压缩输出:-Dmapred.output.compress=true
压缩格式设置:-Dmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec
设置reduce数量:-Dmapred.reduce.tasks=1
批量上传文件:-files,此为hadoop generic参数,要放到参数的最前边跟-D一样传输
设置map的输出分隔符:-Dstream.map.output.field.separator =\t
设置map输出的时候key的组成:-Dstream.num.map.output.key.fields = 4
设置自定义的比较器: -Dmapreduce.job.output.key.comparator.class = org.apache.hadoop.mapreduce.lib.partition.KeyFieldBasedComparator
streamingy应用参数传递
上传一个文件:-file , 此为streaming参数
设定mapper执行文件:-mapper
设定reducer执行文件:-reducer
设定输入文件目录:-input
设定输出文件目录 : -output
设定自定义分区器: -partitioner=org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner
1、streaming运行流程
2、streaming任务提交与shell实现wordcount
3、常用参数支持
详情
1、streaming运行流程
Java标准版运行流程
streaming运行流程
在worker处存在差异,通过stdin/stdout将PipeMapper和StreamingMapper打通
2、streaming任务提交与shell实现wordcount
步骤实现
数据准备
map编写
reduce编写
driver不再需要写了…….
yarn jar提交
结果查看
步骤详情
数据准备
hdfs目录
shell map编写
shell reduce编写
shell运行
本地测试
集群执行模板
通用模板:yarn jar streaming_jar_path.jar [genericOptions] [streamingOptions] 细化模板 :yarn jar streaming_jar_path.jar \ -D configKey =configValue \ -input inputDirs \ -output outputDirs \ -mapper scriptMapper \ -reducer scriptReducer \ -file uploadFile
样例(shell实现wordcount案例)
yarn jar /usr/hdp/2.4.3.0-227/hadoop-mapreduce/hadoop-streaming.jar \ -Dmapred.output.compress=false \ -Dmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec \ -Dmapred.reduce.tasks=1 \ -input /tmp/tianliangedu/input \ -output /tmp/tianliangedu/output73 \ -mapper "sh mapper_shell.sh" \ -reducer "sh reducer_shell.sh" \ -file mapper_shell.sh \ -file reducer_shell.sh
输出效果
3、常用参数支持
通用系统参数传递
设置job名称 : -Dmapreduce.job.name=”jobName”
是否压缩输出:-Dmapred.output.compress=true
压缩格式设置:-Dmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec
设置reduce数量:-Dmapred.reduce.tasks=1
批量上传文件:-files,此为hadoop generic参数,要放到参数的最前边跟-D一样传输
yarn jar /usr/hdp/2.4.3.0-227/hadoop-mapreduce/hadoop-streaming.jar \ -files mapper_shell.sh,reducer_shell.sh \ -Dmapred.output.compress=false \ -Dmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec \ -Dmapred.reduce.tasks=1 \ -Dstream.map.output.field.separator=\001 \ -input /tmp/tianliangedu/input \ -output /tmp/tianliangedu/output76 \ -mapper "sh mapper_shell.sh" \ -reducer "sh reducer_shell.sh" \
设置map的输出分隔符:-Dstream.map.output.field.separator =\t
设置map输出的时候key的组成:-Dstream.num.map.output.key.fields = 4
设置自定义的比较器: -Dmapreduce.job.output.key.comparator.class = org.apache.hadoop.mapreduce.lib.partition.KeyFieldBasedComparator
streamingy应用参数传递
上传一个文件:-file , 此为streaming参数
设定mapper执行文件:-mapper
设定reducer执行文件:-reducer
设定输入文件目录:-input
设定输出文件目录 : -output
设定自定义分区器: -partitioner=org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner
相关文章推荐
- 03-天亮大数据系列教程之分布式计算框架Map/Reduce运行流程与应用
- 08-天亮大数据系列教程之python streaming编程
- Flume+Kakfa+Spark Streaming整合(运行WordCount小例子)
- 利用shell实现WordCount
- hive实现wordcount流程
- Ubuntu 14.04下jdkHadoop2.8集群安装配置教程并运行wordcount实例
- Map-Reduce下使用Streaming实现 WordCount
- Eclipse重写Wordcount类实现处理中文字符,利用hadoop Eclipse插件远程调试hadoop运行WordCount程序
- 【c++系列】map容器实现的word count
- java实现kafka整合spark streaming完成wordCount,updateStateByKey完成实时状态更新
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群-配置Hadoop伪分布模式并运行Wordcount(2)
- Python+Hadoop Streaming实现MapReduce(word count)
- DStream操作实战:1.SparkStreaming接受socket数据,实现单词计数WordCount
- 在idea上用SparkStreaming实现从远程socket读取数据并完成Wordcount
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群-配置Hadoop伪分布模式并运行Wordcount示例(1)
- 09-天亮大数据系列教程之hive之udf/udaf/udtf
- shell 实现word count
- Python+Hadoop Streaming实现MapReduce(word count)
- 10-天亮大数据系列教程之virtualbox_nat模式下客户端链接主机端
- 05-天亮大数据系列教程之公司虚拟化架构与Gitlab搭建