0. 说明

  MapFile 介绍 && 测试


1. 介绍

  对 MapFile 的介绍如下:

  1. MapFile 是带有索引的 SequenceFile
  2. MapFile 是排序的 SequenceFile

2. 测试

package hadoop.sequencefile;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.MapFile;
import org.apache.hadoop.io.Text;
import org.junit.Test; /**
* 测试 MapFile 操作
* Windows 下查看压缩后的 MapFile :
* hdfs dfs -text file:///E:/test/mapfile/index
* hdfs dfs -text file:///E:/test/mapfile/data
*/
public class TestMapFile { /**
* 测试序列文件写操作
*/
@Test
public void testWriteSeq() throws Exception { Configuration conf = new Configuration(); // 设置文件系统为本地模式
conf.set("fs.defaultFS", "file:///"); FileSystem fs = FileSystem.get(conf); // 数据存放的文件夹路径
String path = "E:/test/mapfile"; MapFile.Writer writer = new MapFile.Writer(conf, fs, path, IntWritable.class, Text.class); for (int i = 1; i <= 100; i++) {
IntWritable key = new IntWritable(i);
Text value = new Text("helloworld" + i);
writer.append(key, value);
} writer.close();
} /**
* SequenceFile 转换为 MapFile
* 新建文件夹 E:/test/mapfile2
* 将 SequenceFile 放入其中并重命名为 data
*/
@Test
public void SeqConvert() throws Exception {
System.setProperty("HADOOP_USER_NAME", "centos");
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "file:///");
FileSystem fs = FileSystem.get(conf);
Path p = new Path("file:///E:/test/mapfile2");
long cnt = MapFile.fix(fs, p, IntWritable.class, Text.class, false, conf);
System.out.println(cnt);
} }

[SequenceFile_3] MapFile的更多相关文章

  1. 【合集】Hadoop 合集

    0. 说明 Hadoop 随笔的目录 1. HDFS 主要内容: [HDFS_1] HDFS 的概念和特性 [HDFS_2] HDFS 的 Shell 操作 [HDFS_3] HDFS 工作机制 [H ...

  2. HDFS之SequenceFile和MapFile

    http://blog.csdn.net/javaman_chen/article/details/7241087 Hadoop的HDFS和MapReduce子框架主要是针对大数据文件来设计的,在小文 ...

  3. write & read a MapFile(基于全新2.2.0API)

    write & read a  MapFile import java.io.IOException; import org.apache.hadoop.io.IntWritable; imp ...

  4. QSQL导出mapfile和mapfile中PostGIS连接的一点心得

    昨天弄QSQL导出mapfile,一直遇到下图的错误 原因是QGIS在渲染图层时候使用了新的符号,在图层上右键-属性,如下图将符号修改就OK了 然后我尝试使用QGIS连接本机PostGIS数据,结果老 ...

  5. mapfile中关于栅格数据的processing项说明

    mapfile是MapServer中地图的配置文件,规定了地图的源数据.投影.样式等一系列信息.用MapServer发布影像地图,需要用以下processing项设置地图的风格样式. BANDS=re ...

  6. bash内置命令mapfile:读取文件内容到数组

    bash提供了两个内置命令:readarray和mapfile,它们是同义词.它们的作用是从标准输入读取一行行的数据,然后每一行都赋值给一个数组的各元素.显然,在shell编程中更常用的是从文件.从管 ...

  7. MapServer Tutorial——MapServer7.2.1教程学习——第一节:MapServer的基本配置管理,静态地图应用以及MapFile文件

    MapServer Tutorial——MapServer7.2.1教程学习——第一节:MapServer的基本配置管理,静态地图应用以及MapFile文件 前言 万事开头难,有了<MapSer ...

  8. Linux命令:mapfile

    mapfile [-n 计数] [-O 起始序号] [-s 计数] [-t] [-u fd] [-C 回调] [-c 量子] [数组] 两个作用: 一是给index数组读取标准输入来赋值:二是文件描述 ...

  9. MapFile

    MapFile是排序后的SequenceFile, 这个排序是由开发者来保证的, 不是内存实现. 相当于对key作了一个分块索引,  只针对key. 缺点 1.文件不支持复写操作,不能向已存在的Seq ...

随机推荐

  1. Django--模板层template

    一 模版简介 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. def current_datetime(request): now ...

  2. Nginx+Keepalived 实现高可用

    Keepalived 是一个高性能的 服务器高可用 或 热备解决方案,Keepalived主要来防止服务器单点故障的问题,可以通过其与Nginx的配合来实现web服务端的高可用. Keepalived ...

  3. SpringBoot的幕后推手...

    一.背景 ​ 这两年随着微服务的盛行,SpringBoot框架水到渠成的得到了高曝光,作为程序猿的我们,现在要是不知道一点SpringBoot相关的东西,貌似出去找工作都会被深深地鄙视,不过在我们开始 ...

  4. 从零开始学 Web 之 ES6(三)ES6基础语法一

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  5. gitlab+jenkins=自动化构建

    jenkins:运维持续集成工具,靠着丰富的插件挑大梁. gitlab:git代码管理仓库web版,功能强大且丰富. 本文是记录自己工作中从搭建到使用~ 前提是会点git~可以去廖老师的网站学习:ww ...

  6. Kali中装中文输入法小企鹅

    STEP 1. 装fcitx框架,apt-get install fcitx STEP 2. 装googlepinyin输入法,apt-get install fcitx-googlepinyin S ...

  7. #2 安装Python

    上一篇文章主要记录 了Python简介,相信你已经爱上了小P,俗话说的好:公欲善其事,必先利其器,所以本文将带领你安装Python3! Windows平台 1.确认Windows位数: 鼠标右击此电脑 ...

  8. maven教程5(聚合工程)

    所谓聚合项目,实际上就是对项目分模块,互联网项目一般来说按照业务分(订单模块.VIP模块.支付模块.CMS模块...),传统的软件项目,大多采用分层的方式(Dao.Serivce.Controller ...

  9. C# DataGrid 用法---极速入门测试

    目标: 新手编程,只求DataGrid能运行起来,更多功能留在后面探讨. 步骤: 1.新建WPF文档 插入DataGrid控件. <Window x:Class="OASevl.Mai ...

  10. Spring Boot 初始化运行特定方法

    Spring Boot提供了两种 “开机自启动” 的方式,ApplicationRunner和CommandLineRunner 这两种方式的目的是为了满足,在容器启动时like执行某些方法.我们可以 ...