hadoop0.20.2
1.使用streaming命令(摘至hadoop开发文档):
除了纯文本格式的输出,你还可以生成gzip文件格式的输出,你只需设置streaming作业中的选项‘-jobconf mapred.output.compress=true -jobconf mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCode’。
2.使用程序:
输入文件:
$ bin/hadoop fs -ls /temp/in
Found 2 items
-rw-r--r-- 1 Administrator supergroup 52 2012-02-09 10:02 /temp/in/t1.txt
-rw-r--r-- 1 Administrator supergroup 35 2012-02-09 10:02 /temp/in/t2.txt
调试代码:
public class ZipFile {
public static class Map extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> {
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(LongWritable key, Text value,
OutputCollector<Text, IntWritable> output, Reporter reporter)
throws IOException {
output.collect((Text)value, null);
}
}
public static void main(String[] args) {
JobClient client = new JobClient();
JobConf conf = new JobConf(com.hadoop.test.ZipFile.class);
// TODO: specify output types
// conf.setOutputKeyClass(Text.class);
// conf.setOutputValueClass(IntWritable.class);
// TODO: specify input and output DIRECTORIES (not files)
FileInputFormat.setInputPaths(conf, new Path("/temp/in"));
FileOutputFormat.setOutputPath(conf, new Path("/temp/out-" + System.currentTimeMillis()));
// TODO: specify a mapper
conf.setMapperClass(Map.class);
// TODO: specify a reducer
// conf.setReducerClass(org.apache.hadoop.mapred.lib.IdentityReducer.class);
FileOutputFormat.setCompressOutput(conf, true);
FileOutputFormat.setOutputCompressorClass(conf, org.apache.hadoop.io.compress.GzipCodec.class);
// conf.setOutputFormat(NonSplitableTextInputFormat.class);
// conf.setInputFormat(TextInputFormat.class);
// conf.setOutputFormat(TextOutputFormat.class);
conf.setNumReduceTasks(0);
client.setConf(conf);
try {
JobClient.runJob(conf);
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出文件:
$ bin/hadoop fs -ls /temp/out-1328857284203
Found 2 items
-rw-r--r-- 3 Administrator supergroup 67 2012-02-10 15:01 /temp/out-1328857284203/part-00000.gz
-rw-r--r-- 3 Administrator supergroup 53 2012-02-10 15:01 /temp/out-1328857284203/part-00001.gz
使用命令:
$ bin/hadoop fs -get /temp/out-1328857284203/part-00000.gz out1.gz
把压缩后的文件下载到本地也是zip格式的文件,打开,解压打开跟原文件一致。
分享到:
相关推荐
本压缩包“Hadoop高级编程——构建与实现大数据解决方案”将深入探讨如何利用Hadoop进行高效的数据操作,构建实际的大数据解决方案。 一、Hadoop概述 Hadoop是由Apache基金会开发的开源项目,主要由Hadoop ...
此压缩包主要包含的是是hadoop的7个主要的配置文件,core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、hadoop-env.sh、mapred-env.sh、yarn-env.sh精简配置优化性能,具体相关参数根据集群规模适当...
2. **HDFS操作**:学习使用HDFS的命令行接口进行文件的上传、下载、查看和删除,以及如何进行HDFS的数据块管理和故障恢复。 3. **MapReduce编程模型**:深入理解Map函数和Reduce函数的工作原理,以及Combiner和...
4. 启动Zookeeper服务,可以使用bin目录下的zkServer.sh脚本。 在云原生环境中,Zookeeper常与其他分布式服务如Kafka、HBase等结合使用。因此,了解Zookeeper如何与其他系统交互,以及如何处理故障转移和负载均衡,...
Hadoop课程实验和报告——Hadoop安装实验报告 Hadoop是一个开源的大数据处理框架,由Apache基金会开发和维护。它提供了一种可靠、可扩展、可高效的方法来存储和处理大规模数据。在本实验报告中,我们将介绍Hadoop的...
在大数据领域,Hadoop生态圈是不可或缺的重要组成部分,它为海量数据的存储、处理和分析提供了高效可靠的...这份"最新Hadoop生态圈开发学习资料——尚硅谷"将是你学习过程中宝贵的资源,助你在大数据的世界中游刃有余。
Hadoop——分布式文件管理系统HDFS 2. Hadoop——HDFS的Shell操作 3. Hadoop——HDFS的Java API操作 4. Hadoop——分布式计算框架MapReduce 5. Hadoop——MapReduce案例 6. Hadoop——资源调度器...
4. **使用Hadoop API**:如果你是在编程环境中工作,可以使用Hadoop的Java API或者其他的语言绑定(如Python的PyHadoop)来直接操作HDFS。例如,可以创建一个FileSystem实例,然后调用其put方法实现数据导入。 数据...
Hadoop2.7.0学习——Windows下hadoop-eclipse-plugin-2.7.0插件安装-附件资源
以上总结的知识点均来自给定文件的内容,涵盖了Hadoop的学习资料、版本历史、生态圈、安装、HDFS、MapReduce、Zookeeper、HBase、Hive、Storm以及数据挖掘和推荐系统等多个方面,为学习和使用Hadoop提供了全面的理论...
(1)局域网的Hadoop分布式文件系统对象图: 本机 socket big file small files (2)界面运行情况: 1·点击file进行文件选择, 选择需要上传的文件, 如下 2·点击upload, 将所选择的文件上传, 上传...
在提供的信息中,我们关注的是"Hadoop的dll文件",这是一个动态链接库(DLL)文件,通常在Windows操作系统中使用,用于存储可由多个程序共享的功能和资源。Hadoop本身是基于Java的,因此在Windows环境下运行Hadoop...
### Hadoop实战——初级部分学习笔记 2 #### 一、引言与背景 随着大数据时代的到来,Hadoop作为处理大规模数据集的核心工具之一,其重要性和应用范围日益扩大。本文将基于私塾在线《Hadoop实战——初级部分》的...
《HDFS——Hadoop分布式文件系统深度实践》这本书是针对Hadoop分布式文件系统(HDFS)的详尽指南,旨在帮助读者深入理解HDFS的工作原理、设计思想以及在实际应用中的最佳实践。HDFS是Apache Hadoop项目的核心组件之...