3-Hadoop Streaming
Hive 性能测试

Hive join测试
• • •
select count(distint l.mobile) FROM mobile_list l JOIN hive_test h ON(l.mobile = h.mobile)
• 左侧小表连接 字典表100行 • 执行一次mapreduce 8分钟
的应 用情况
• 淘宝90%的业务跑在Hive上面 • 暴风影音95%以上都是跑在Hive上面 • Facebook Hive开源作者,大部分分析基
于Hive
测试环境
• 8个节点 * CPU 2.4G 2cores/8G内存
/500G
• 0.83亿行/共24G上网流量详单记录 • hdfs://node11/data/input3/
均只产生一阶段的mapreduce,HiveQL 转换为java mapreduce,性能优于其他 语言编写的mapreduce。 生性能压力的地方,需要合理使用。 HDFS,官方说法,性能差3~4倍。
• Hive 表连接、order by 排序、嵌套是产
• 可以操作Hbase,但性能不如直接放于
Hive查询的优化1
• 慎用order by • 如果实在是需要用到order by ,可以加
上limit n;这样也可以避免同一个reduce 去处理大量的数据
Hive查询的优化2
• 数据量大的表和数据量小的表做关联的
时候,把数据量小的表放到join前面。
• 原因是在 Join 操作的 Reduce 阶段,位
于 Join 操作符左边的表的内容会被加载 进内存,将条目少的表放在左边,可以 有效减少发生内存溢出错误的几率。
Hive操作Hbase
• select count(1)
hadoop命令及使用方法

hadoop命令及使用方法Hadoop是一个分布式计算框架,用于存储和处理大规模数据集。
下面是一些常用的Hadoop命令及其使用方法:1. hdfs命令:- hdfs dfs -ls <路径>:列出指定路径下的文件和目录。
- hdfs dfs -mkdir <路径>:创建一个新的目录。
- hdfs dfs -copyFromLocal <本地路径> <HDFS路径>:将本地文件复制到HDFS 上。
- hdfs dfs -copyToLocal <HDFS路径> <本地路径>:将HDFS上的文件复制到本地。
- hdfs dfs -cat <文件路径>:显示HDFS上的文件内容。
2. mapred命令:- mapred job -list:列出当前正在运行的MapReduce作业。
- mapred job -kill <job_id>:终止指定的MapReduce作业。
3. yarn命令:- yarn application -list:列出当前正在运行的应用程序。
- yarn application -kill <application_id>:终止指定的应用程序。
4. hadoop fs命令(与hdfs dfs命令功能相似):- hadoop fs -ls <路径>:列出指定路径下的文件和目录。
- hadoop fs -cat <文件路径>:显示HDFS上的文件内容。
- hadoop fs -mkdir <路径>:创建一个新的目录。
- hadoop fs -put <本地文件路径> <HDFS路径>:将本地文件复制到HDFS上。
- hadoop fs -get <HDFS路径> <本地文件路径>:将HDFS上的文件复制到本地。
hadoop使用场景

hadoop使用场景Hadoop使用场景Hadoop是一个开源的分布式计算框架,可以处理大规模数据集。
它的出现解决了传统计算机无法处理大规模数据的问题,因此被广泛应用于各种场景。
以下是Hadoop的一些使用场景:1. 大数据存储Hadoop的分布式文件系统HDFS可以存储大规模数据集,并在集群中进行数据备份和恢复。
它的数据可靠性和可扩展性是传统文件系统无法比拟的。
因此,许多大型企业和组织都将Hadoop用于大数据存储。
2. 数据处理和分析Hadoop的MapReduce框架使得分布式计算变得简单和高效。
它可以在集群中并行执行任务,处理大规模数据集。
许多企业使用Hadoop来处理和分析数据,以便发现数据中的模式和趋势,作出更好的业务决策。
3. 数据挖掘和机器学习Hadoop的机器学习库Mahout可以帮助企业在大规模数据集上训练机器学习模型。
许多企业使用Hadoop来分析客户行为、识别欺诈或评估风险等。
Mahout还可以用于推荐系统、分类和聚类等任务。
4. 日志分析许多企业使用Hadoop来分析日志,以便了解产品的使用情况、识别系统故障或发现安全问题。
Hadoop可以帮助企业处理大量的日志数据,从中提取有价值的信息。
5. 图像和音频处理Hadoop可以用于处理图像和音频数据。
许多企业使用Hadoop来分析图像和音频数据,以便识别图像中的物体、提取音频中的声音特征等。
这些信息可以用于图像搜索、音频识别等应用。
总结Hadoop是一个强大的分布式计算框架,可以处理大量的数据。
它被广泛应用于各种场景,包括大数据存储、数据处理和分析、数据挖掘和机器学习、日志分析、图像和音频处理等。
随着大数据的不断增长,Hadoop的使用场景会越来越多,对企业的业务决策和发展有着重要的意义。
Hadoop基础知识培训

存储+计算(HDFS2+Yarn)
集中存储和计算的主要瓶颈
Oracle IBM
EMC存储
scale-up(纵向扩展)
➢计算能力和机器数量成正比 ➢IO能力和机器数量成非正比
多,Intel,Cloudera,hortonworks,MapR • 硬件基于X86服务器,价格低,厂商多 • 可以自行维护,降低维护成本 • 在互联网有大规模成功案例(BAT)
总 结
• Hadoop平台在构建数据云(DAAS)平台有天 然的架构和成本的优势
成本投资估算:从存储要求计算所需硬件及系统软件资源(5000万用户 为例)
往HDFS中写入文件
• 首要的目标当然是数 据快速的并行处理。 为了实现这个目标, 我们需要竟可能多的 机器同时工作。
• Cient会和名称节点达 成协议(通常是TCP 协议)然后得到将要 拷贝数据的3个数据节 点列表。然后Client将 会把每块数据直接写 入数据节点中(通常 是TCP 协议)。名称 节点只负责提供数据 的位置和数据在族群 中的去处(文件系统 元数据)。
• 第二个和第三个数据 节点运输在同一个机 架中,这样他们之间 的传输就获得了高带 宽和低延时。只到这 个数据块被成功的写 入3个节点中,下一 个就才会开始。
• 如果名称节点死亡, 二级名称节点保留的 文件可用于恢复名称 节点。
• 每个数据节点既扮演者数据存储的角色又 冲当与他们主节点通信的守护进程。守护 进程隶属于Job Tracker,数据节点归属于 名称节点。
hadoop使用场景

hadoop使用场景Hadoop使用场景Hadoop作为一个开源的分布式计算框架,在大数据处理领域有着广泛的应用。
它的设计初衷是为了能够高效地处理大规模数据集,同时具有高容错性和可扩展性。
下面我们将详细介绍Hadoop的几个常见使用场景。
1. 数据存储和处理Hadoop最为常见的使用场景就是用于存储和处理海量的数据。
其分布式文件系统HDFS能够将数据分散存储在多台服务器上,并通过MapReduce编程模型实现数据的并行处理。
这使得Hadoop能够处理PB级别甚至更大规模的数据集,适用于各种类型的数据分析任务。
2. 日志分析在大型互联网公司中,每天都会产生海量的日志数据,包括用户访问记录、系统运行日志等。
Hadoop可以被用来对这些日志数据进行实时分析、监控和报告生成。
通过Hadoop的批处理能力,可以快速地对大量日志数据进行处理,提取有价值的信息,帮助企业做出合理的决策。
3. 搜索引擎搜索引擎需要处理大量的网页数据,并为用户提供快速准确的搜索结果。
Hadoop可以被用来构建搜索引擎的索引,通过分布式计算和并行处理来提高搜索效率。
同时,Hadoop还可以用于分布式爬虫程序的设计,帮助搜索引擎实时地获取最新的网页数据。
4. 机器学习在人工智能领域,机器学习是一个重要的研究方向,需要大量的数据来训练模型。
Hadoop提供了分布式计算的能力,可以加速机器学习算法的训练过程。
通过Hadoop可以快速处理海量的数据集,为机器学习模型提供更准确的训练数据,提高模型的准确度和泛化能力。
5. 实时数据分析除了批处理任务,Hadoop还可以支持实时数据分析。
通过与流处理框架如Apache Storm或Apache Flink的结合,Hadoop可以实现实时数据的处理和分析,帮助企业迅速响应市场变化,及时调整业务策略。
总结Hadoop作为一个强大的大数据处理工具,在各个领域都有着广泛的应用场景。
无论是数据存储和处理、日志分析、搜索引擎、机器学习还是实时数据分析,Hadoop都能够发挥其强大的计算能力和扩展性,帮助企业更好地利用和管理海量数据。
hadoop大数据技术基础 python版

Hadoop大数据技术基础 python版随着互联网技术的不断发展和数据量的爆炸式增长,大数据技术成为了当前互联网行业的热门话题之一。
Hadoop作为一种开源的大数据处理评台,其在大数据领域的应用日益广泛。
而Python作为一种简洁、易读、易学的编程语言,也在大数据分析与处理中扮演着不可或缺的角色。
本文将介绍Hadoop大数据技术的基础知识,并结合Python编程语言,分析其在大数据处理中的应用。
一、Hadoop大数据技术基础1. Hadoop简介Hadoop是一种用于存储和处理大规模数据的开源框架,它主要包括Hadoop分布式文件系统(HDFS)和MapReduce计算框架。
Hadoop分布式文件系统用于存储大规模数据,而MapReduce计算框架则用于分布式数据处理。
2. Hadoop生态系统除了HDFS和MapReduce之外,Hadoop生态系统还包括了许多其他组件,例如HBase、Hive、Pig、ZooKeeper等。
这些组件形成了一个完整的大数据处理评台,能够满足各种不同的大数据处理需求。
3. Hadoop集群Hadoop通过在多台服务器上构建集群来实现数据的存储和处理。
集群中的各个计算节点共同参与数据的存储和计算,从而实现了大规模数据的分布式处理。
二、Python在Hadoop大数据处理中的应用1. Hadoop StreamingHadoop Streaming是Hadoop提供的一个用于在MapReduce中使用任意编程语言的工具。
通过Hadoop Streaming,用户可以借助Python编写Map和Reduce的程序,从而实现对大规模数据的处理和分析。
2. Hadoop连接Python除了Hadoop Streaming外,Python还可以通过Hadoop提供的第三方库和接口来连接Hadoop集群,实现对Hadoop集群中数据的读取、存储和计算。
这为Python程序员在大数据处理领域提供了更多的可能性。
Hadoop试题试题库完整
Hadoop试题试题库完整1. 以下哪⼀项不属于Hadoop可以运⾏的模式___C___。
A. 单机(本地)模式B. 伪分布式模式C. 互联模式D. 分布式模式2. Hadoop的作者是下⾯哪⼀位__B____。
A. Martin FowlerB. Doug cuttingC. Kent BeckD. Grace Hopper3. 下列哪个程序通常与 NameNode 在同⼀个节点启动__D___。
A. TaskTrackerB. DataNodeC. SecondaryNameNodeD. Jobtracker4. HDFS 默认 Block Size的⼤⼩是___B___。
A.32MBB.64MBC.128MBD.256M5. 下列哪项通常是集群的最主要瓶颈____C__。
A. CPUB. ⽹络C. 磁盘IOD. 内存6. 下列关于MapReduce说法不正确的是_____C_。
A. MapReduce是⼀种计算框架B. MapReduce来源于google的学术论⽂C. MapReduce程序只能⽤java语⾔编写D. MapReduce隐藏了并⾏计算的细节,⽅便使⽤8. HDFS是基于流数据模式访问和处理超⼤⽂件的需求⽽开发的,具有⾼容错、⾼可靠性、⾼可扩展性、⾼吞吐率等特征,适合的读写任务是 __D____。
A.⼀次写⼊,少次读C.多次写⼊,多次读D.⼀次写⼊,多次读9. HBase依靠__A____存储底层数据。
A. HDFSB. HadoopC. MemoryD. MapReduce10. HBase依赖___D___提供强⼤的计算能⼒。
A. ZookeeperB. ChubbyC. RPCD. MapReduce11. HBase依赖___A___提供消息通信机制A. ZookeeperB. ChubbyC. RPCD. Socket12. 下⾯与HDFS类似的框架是___C____?A. NTFSB. FAT32C. GFSD. EXT313. 关于 SecondaryNameNode 下⾯哪项是正确的___C___。
简述hadoop安装步骤
简述hadoop安装步骤简述hadoop安装步骤安装步骤:1、安装虚拟机系统,并进⾏准备⼯作(可安装- ⼀个然后克隆)2.修改各个虚拟机的hostname和host3.创建⽤户组和⽤户4、配置虚拟机⽹络,使虚拟机系统之间以及和host主机之间可以通过相互ping通。
5.安装jdk和配置环境变量,检查是否配置成功6、配置ssh,实现节点间的⽆密码登录ssh node1/2指令验证时候成功7、master 配置hadoop,并将hadoop⽂件传输到node节点8、配置环境变量,并启动hadoop, 检查是否安装成功,执⾏wordcount检查是否成功。
⼆.HDFS作⽤是什么Hadoop分布式⽂件系统(HDFS)是指被设计成适合运⾏在通⽤硬件(commodity hardware)上的分布式⽂件系统(Distributed File System)。
它和现有的分布式⽂件系统有很多共同点。
但同时,它和其他的分布式⽂件系统的区别也是很明显的。
HDFS是⼀个⾼度容错性的系统,适合部署在廉价的机器上。
HDFS能提供⾼吞吐量的数据访问,⾮常适合⼤规模数据集上的应⽤。
HDFS放宽了⼀部分POSIX约束,来实现流式读取⽂件系统数据的⽬的。
HDFS在最开始是作为Apache Nutch搜索引擎项⽬的基础架构⽽开发的。
HDFS是Apache Hadoop Core项⽬的⼀部分。
HDFS有着⾼容错性(fault-tolerant)的特点,并且设计⽤来部署在低廉的(low-cost)硬件上。
⽽且它提供⾼吞吐量(high throughput)来访问应⽤程序的数据,适合那些有着超⼤数据集(large data set)的应⽤程序。
HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)⽂件系统中的数据。
三.常⽤的Hadoop FS Shell命令有哪些及其作⽤1.调⽤Hadoop的⽂件系统Shell(FileSystem Shell)的命令格式:语法:hadoop fs <args>:前提是位置位于hadoop/bin下,其中fs是参数,表⽰FS Shell,<args>是fs的⼦命令2.使⽤FS Shell命令⾏管理⽂件:mkdir -创建⽬录语法:hadoop fs -mkdir <paths>例⼦:hadoop fs -mkdir /user:在HDFS中创建"/user"⽬录hadoop fs -mkdir /user/hadoop:在HDFS中创建"/user/hadoop"⽬录hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2:在HDFS中同时创建"/user/hadoop/dir1"和"/user/hadoop/dir2",⽬录ls -查看列表⽂件语法:hadoop fs -ls <args>如果是⽂件,则按照如下格式返回⽂件信息:⽂件名<副本数> ⽂件⼤⼩修改⽇期修改时间权限⽤户ID 组ID如果是⽬录,则返回它直接⼦⽂件的⼀个列表cat -查看⽂件语法:hadoop fs -cat URI <URI...>:输出路径指定⽂件的内容例⼦:hadoop fs -cat /input2/file1.txt /input2/file2.txt:在HDFS中查看input2⽬录下的file1.txt和file2.txt的⽂件内容put -从本地⽂件系统中复制⼀个或多个⽂件到HDFS(外部命令)语法:hadoop fs -put <localsrc>...<dst>其中localsrc只能是本地⽂件,dst只能是HDFS⽂件,且不受fs.defaultFS属性影响。
基于HadoopStreaming的Last比对软件并行化的研究与实现
据切 分, 并保证并行化粒度 可控 。实验结 果表 明 , 在保证 与单机 运行结 果一致的情 况下, 这种方法 能有 效缩减软件
运行 时间, 具有较 高的加速 比。 关键词 : h a d o o p s t r e a mi n g ; 软 件并行化 ; l a s t 比对软件 文献 标志码 : A 中图分类号 : T P 3 1 1 . 5 2 d o i : 1 0 . 3 7 7 8 / j . i s s n . 1 0 0 2 . 8 3 3 1 . 1 3 0 7 . 0 1 6 1
d e pl o yi n g La s t s o twa f r e t o t he d i s t r i b u t e d c l u s t e r . I t wi l l b e e n s u r e d t o a ba l a n c e d a n d e f f e c t i v e d a t a s e g me n t a t i o n a s we l l
摘
要: 随 着 下一 代 测序 技 术 的到 来 , 单机 版 L a s t 比对 软件 已经 不 能 满足 海量 数据 的处 理 需求 。使 用 H a d o o p
S t r e a mi n g 技 术将 L a s t 比对软件 快速 部署 到云计 算环境 中, 解决 当前单机 版 L a s t 比对 软件 处理 大数 据 能力差 的 问
wa r e i s n o t g o o d e n o ug h f o r ma s s i v e da t a p r o c e s s i ng wh i l e Ha d o o p S t r e a mi n g t e c h n o l o g y c a n s o l v e t h e p r o b l e m b y r a p i dl y
hadoop的基本使用
hadoop的基本使用Hadoop的基本使用Hadoop是一种开源的分布式计算系统和数据处理框架,具有可靠性、高可扩展性和容错性等特点。
它能够处理大规模数据集,并能够在集群中进行并行计算。
本文将逐步介绍Hadoop的基本使用。
一、Hadoop的安装在开始使用Hadoop之前,首先需要进行安装。
以下是Hadoop的安装步骤:1. 下载Hadoop:首先,从Hadoop的官方网站(2. 配置环境变量:接下来,需要将Hadoop的安装目录添加到系统的环境变量中。
编辑~/.bashrc文件(或其他相应的文件),并添加以下行:export HADOOP_HOME=/path/to/hadoopexport PATH=PATH:HADOOP_HOME/bin3. 配置Hadoop:Hadoop的配置文件位于Hadoop的安装目录下的`etc/hadoop`文件夹中。
其中,最重要的配置文件是hadoop-env.sh,core-site.xml,hdfs-site.xml和mapred-site.xml。
根据具体需求,可以在这些配置文件中进行各种参数的设置。
4. 启动Hadoop集群:在完成配置后,可以启动Hadoop集群。
运行以下命令以启动Hadoop集群:start-all.sh二、Hadoop的基本概念在开始使用Hadoop之前,了解一些Hadoop的基本概念是非常重要的。
以下是一些重要的概念:1. 分布式文件系统(HDFS):HDFS是Hadoop的核心组件之一,用于存储和管理大规模数据。
它是一个可扩展的、容错的文件系统,能够在多个计算机节点上存储数据。
2. MapReduce:MapReduce是Hadoop的编程模型,用于并行计算和处理大规模数据。
它由两个主要的阶段组成:Map阶段和Reduce阶段。
Map阶段将输入数据切分为一系列键值对,并运行在集群中的多个节点上。
Reduce阶段将Map阶段的输出结果进行合并和计算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Hadoop Streaming
分类:hadoop2011-05-03 17:43777人阅读评论(0)收藏举报
Hadoop MapReduce和HDFS采用Java实现,默认提供Java编程接口,另外提供了C++编程接口和Streaming框架。
Streaming框架允许任何程序语言实现的程序在Hadoop MapReduce中使用,方便已有程序向Hadoop平台移植。
Streaming的原理是用Java实现一个包装用户程序的MapReduce程序,该程序负责调用MapReduce Java接口获取key/value对输入,创建一个新的进程启动包装的用户程序,将数据通过管道传递给包装的用户程序处理,然后调用MapReduce Java接口将用户程序的输出切分成key/value对输出。
如下图所示,其中Streaming Java Mapper通过管道将key/value输入传递给用户mapper程序的标准输入,并获取用户mapper程序的标准输出;Streaming Java Reducer调用Java接口通过InputFormat从HDFS获取输入数据,从管道将key/value传递给用户reducer程序的标准输入,获取用户reducer程序的标准输出并调用Java接口通过OutputFormat输出数据;用户mapper和reducer程序负责处理数据,都从标准输入读取数据,向标准输出写入数据。
Streaming有如下一些优点:
1)开发效率高,很多现有程序(包括脚本)能够方便的移植到hadoop平台上去运行
2)某些程序运行效率高,对于某些cpu密集型程序,如果map-reduce程序用C++编写,效率有可能提高
Streaming存在如下一些不足:
1) Hadoop Streaming默认只能处理文本数据。
2) Streaming中的mapper和reducer默认只能向标准输出写数据,不能方便地处理多路输出。
3) 用Java编写的MapReduce程序直接处理框架从输入数据中得到的key/value对,在Streaming中Java程序不直接处理key/value对,而是通过管道写到mapper程序的标准输入,mapper程序再从key/tvalue中解析出key/value对,这个过程多了两次数据拷贝和解析(分割),带来一定的开销。
对于reducer也是一样的。
streaming命令参数列表:
-input <path>输入数据路径
-output <path>输出数据路径
-mapper <cmd|JavaClassName>mapper可执行程序或Java类
-reducer <cmd|JavaClassName>reducer可执行程序或Java类
-file <file>Optional分发本地文件
-cacheFile <file>Optional分发HDFS文件
-cacheArchive <file>Optional分发HDFS压缩文件-numReduceTasks <num> Optional reduce任务个数
-jobconf | -D NAME=VALUE Optional作业配置参数
-combiner <JavaClassName> Optional Combiner Java类
-partitioner <JavaClassName> Optional Partitioner Java类
-inputformat <JavaClassName>Optional InputFormat Java类
-outputformat <JavaClassName>Optional OutputFormat Java类-inputreader <spec> Optional InputReader配置
-cmdenv <n>=<v> Optional传给mapper和reducer的环境变量
-mapdebug <path> Optional mapper失败时运行的debug程序
-reducedebug <path> Optional reducer失败时运行的debug程序
-verbose Optional详细输出模式
下面是对各个参数的详细说明:
-input <path>:指定作业输入,path可以是文件或者目录,可以使用*通配符,-input选项可以使用多次指定多个文件或目录作为输入。
-output <path>:指定作业输出目录,path必须不存在,而且执行作业的用户必须有创建该目录的权限,-output只能使用一次。
-mapper:指定mapper可执行程序或Java类,必须指定且唯一。
-reducer:指定reducer可执行程序或Java类,必须指定且唯一。
-file, -cacheFile, -cacheArchive:分别用于向计算节点分发本地文件、HDFS文件和HDFS 压缩文件。
-numReduceTasks:指定reducer的个数,如果设置-numReduceTasks 0或者-reducer NONE则没有reducer程序,mapper的输出直接作为整个作业的输出。
-combiner:指定combiner Java类,对应的Java类文件打包成jar文件后用-file分发。
-partitioner:指定partitioner Java类,Streaming提供了一些实用的partitioner实现,参考KeyBasedFiledPartitoner和IntHashPartitioner。
-inputformat, -outputformat:指定inputformat和outputformat Java类,用于读取输入数据和写入输出数据,分别要实现InputFormat和OutputFormat接口。
如果不指定,默认使用TextInputFormat和TextOutputFormat。
-cmdenv NAME=VALUE:给mapper和reducer程序传递额外的环境变量,NAME是变量名,VALUE是变量值。
-mapdebug, -reducedebug:分别指定mapper和reducer程序失败时运行的debug程序。
-verbose:指定输出详细信息,例如分发哪些文件,实际作业配置参数值等,可以用于调试。
-jobconf | -D NAME=VALUE:指定作业参数,NAME是参数名,VALUE是参数值,可以
指定的参数参考hadoop-default.xml。
特别建议用-jobconf ='My Job Name'设置作业名,使用-jobconf mapred.job.priority=VERY_HIGH | HIGH | NORMAL | LOW | VERY_LOW设置作业优先级,使用-jobconf mapred.job.map.capacity=M设置同时最多运行M个map任务,使用-jobconf mapred.job.reduce.capacity=N设置同时最多运行N个reduce任务。
常见的作业配置参数如下表所示:
作业名
mapred.job.priority作业优先级
mapred.job.map.capacity最多同时运行map任务数
mapred.job.reduce.capacity最多同时运行reduce任务数
hadoop.job.ugi作业执行权限
mapred.map.tasks map任务个数
mapred.reduce.tasks reduce任务个数
mapred.job.groups作业可运行的计算节点分组
mapred.task.timeout任务没有响应(输入输出)的最大时间press.map.output map的输出是否压缩pression.codec map的输出压缩方式
press reduce的输出是否压缩pression.codec reduce的输出压缩方式
stream.map.output.field.separator map输出分隔符。