hadoop参数配置

本文介绍了在Hadoop Streaming中如何进行参数配置,包括内存限制、mapper、输入输出路径、键值比较器、分区器、分隔符设置、任务数量以及缓存档案等,旨在优化MapReduce作业的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

${HADOOP_PATH}/hadoop streaming \
        -D stream.memory.limit=3000\
        -mapper  "cat" \
        -input   ${HADOOP_TEST_IN_PATH} \
        -output  ${HADOOP_TEST_OUT_PATH} \
        -jobconf mapred.output.key.comparator.class=org.apache.hadoop.mapred.lib.KeyFieldBasedComparator \
        -partitioner org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner \
        -jobconf mapred.textoutputformat.ignoreseparator=true \
        -jonconf stream.map.output.field.separator="\t" \ #设置map输出中key和value的分隔符 
        -jobconf stream.num.map.output.key.fields=2 \ # 设置map程序分隔符的位置,该位置之前的部分作为key,之后的部分作为value 
        -jobconf mapred.text.key.comparator.options='-k1,1 -k2,2n' \#maper按照第一列和第二列进行排序,其中第二列按照数字排序,默认按照字符排序
        -jobconf num.key.fields.for.partition=1 \#指定分桶时,key按照分隔符切割后,其中用于分桶key所占的列数(配合-partitioner org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner 使用)
       -jonconf stream.reduce.output.field.separator="\t" \#设置reduce输出中key和value的分隔符
        -jonconf stream.num.reduce.output.key.fields=2 \ #设置reduce程序分隔符的位置
        -jobconf mapred.job.name="test_hadoop" \ #hadoop命令
        -jobconf mapred.map.tasks=10000 \ #mapper的task数,如果不要reduce会发现有10000个结果
        -jobconf mapred.reduce.tasks=300 \#reducer的任务数
        -jobconf mapred.job.map.capacity=3000 \#map最大并行运行的task数
        -jobconf mapred.job.reduce.capacity=3000 \#reduce最大并行运行的task数
        -cacheArchive /share/python26.tar.gz#python26 \
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值