`
goon
  • 浏览: 184140 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hadoop学习4——使用hadoop压缩(zipping)文件

 
阅读更多

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高级编程——构建与实现大数据解决方案.rar

    本压缩包“Hadoop高级编程——构建与实现大数据解决方案”将深入探讨如何利用Hadoop进行高效的数据操作,构建实际的大数据解决方案。 一、Hadoop概述 Hadoop是由Apache基金会开发的开源项目,主要由Hadoop ...

    hadoop配置文件——精简版.zip

    此压缩包主要包含的是是hadoop的7个主要的配置文件,core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、hadoop-env.sh、mapred-env.sh、yarn-env.sh精简配置优化性能,具体相关参数根据集群规模适当...

    Hadoop高级编程- 构建与实现大数据解决方案

    2. **HDFS操作**:学习使用HDFS的命令行接口进行文件的上传、下载、查看和删除,以及如何进行HDFS的数据块管理和故障恢复。 3. **MapReduce编程模型**:深入理解Map函数和Reduce函数的工作原理,以及Combiner和...

    Hadoop快速入门——第四章、zookeeper安装包

    4. 启动Zookeeper服务,可以使用bin目录下的zkServer.sh脚本。 在云原生环境中,Zookeeper常与其他分布式服务如Kafka、HBase等结合使用。因此,了解Zookeeper如何与其他系统交互,以及如何处理故障转移和负载均衡,...

    Hadoop课程实验和报告——Hadoop安装实验报告

    Hadoop课程实验和报告——Hadoop安装实验报告 Hadoop是一个开源的大数据处理框架,由Apache基金会开发和维护。它提供了一种可靠、可扩展、可高效的方法来存储和处理大规模数据。在本实验报告中,我们将介绍Hadoop的...

    最新Hadoop生态圈开发学习资料——尚硅谷

    在大数据领域,Hadoop生态圈是不可或缺的重要组成部分,它为海量数据的存储、处理和分析提供了高效可靠的...这份"最新Hadoop生态圈开发学习资料——尚硅谷"将是你学习过程中宝贵的资源,助你在大数据的世界中游刃有余。

    大数据学习指南合集(Hadoop、Spark、Flink等)

    Hadoop——分布式文件管理系统HDFS   2. Hadoop——HDFS的Shell操作   3. Hadoop——HDFS的Java API操作   4. Hadoop——分布式计算框架MapReduce   5. Hadoop——MapReduce案例   6. Hadoop——资源调度器...

    Hadoop分布式文件系统——导入和导出数据内含源码以及说明书可以自己运行复现.zip

    4. **使用Hadoop API**:如果你是在编程环境中工作,可以使用Hadoop的Java API或者其他的语言绑定(如Python的PyHadoop)来直接操作HDFS。例如,可以创建一个FileSystem实例,然后调用其put方法实现数据导入。 数据...

    Hadoop2.7.0学习——Windows下hadoop-eclipse-plugin-2.7.0插件安装-附件资源

    Hadoop2.7.0学习——Windows下hadoop-eclipse-plugin-2.7.0插件安装-附件资源

    Hadoop学习资料

    以上总结的知识点均来自给定文件的内容,涵盖了Hadoop的学习资料、版本历史、生态圈、安装、HDFS、MapReduce、Zookeeper、HBase、Hive、Storm以及数据挖掘和推荐系统等多个方面,为学习和使用Hadoop提供了全面的理论...

    操作系统课设——Hadoop文件系统

    (1)局域网的Hadoop分布式文件系统对象图: 本机 socket big file small files (2)界面运行情况: 1·点击file进行文件选择, 选择需要上传的文件, 如下 2·点击upload, 将所选择的文件上传, 上传...

    hadoop的dll文件 hadoop.zip

    在提供的信息中,我们关注的是"Hadoop的dll文件",这是一个动态链接库(DLL)文件,通常在Windows操作系统中使用,用于存储可由多个程序共享的功能和资源。Hadoop本身是基于Java的,因此在Windows环境下运行Hadoop...

    hadoop实战——初级部分学习笔记 2

    ### Hadoop实战——初级部分学习笔记 2 #### 一、引言与背景 随着大数据时代的到来,Hadoop作为处理大规模数据集的核心工具之一,其重要性和应用范围日益扩大。本文将基于私塾在线《Hadoop实战——初级部分》的...

    《HDFS——Hadoop分布式文件系统深度实践》PDF

    《HDFS——Hadoop分布式文件系统深度实践》这本书是针对Hadoop分布式文件系统(HDFS)的详尽指南,旨在帮助读者深入理解HDFS的工作原理、设计思想以及在实际应用中的最佳实践。HDFS是Apache Hadoop项目的核心组件之...

Global site tag (gtag.js) - Google Analytics