• SequenceFile


    产生一个SequenceFile文件

    package _SequenceFileInputFormat;
    
    import org.apache.hadoop.conf.Configuration;
    
    import org.apache.hadoop.fs.FSDataInputStream;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    import org.apache.hadoop.io.IOUtils;
    import org.apache.hadoop.io.LongWritable;
    import org.apache.hadoop.io.SequenceFile;
    import org.apache.hadoop.io.SequenceFile.Writer;
    import org.apache.hadoop.io.Text;
    
    import java.io.IOException;
    
    /**
     * @Author:Dapeng
     * @Discription:
     * @Date:Created in 下午 20:57 2018/11/4 0004
     */
    public class MySequenceFileInputFormat {
        /**
         * @Author:Dapeng
         * @Description:通过SequenceFileInputFormat读取文件的例子
         */
        public static void main(String[] args) throws IOException {
    
            /**
             * 要读取SequenceFileInputFormat文件,必须要有一个这个类型的文件,这个类型的文件是通过类
             * SequenceFile来创建的。
             * Configuration:
             * name:文件名,keyClass:key的数据类型,valClass值的数据类型
             *
             */
    
            //指定文件名称
            Writer.Option name = Writer.file(new Path("file:/d:/hadoopFile/"));
    
            //指定key类型
            Writer.Option keyClass = Writer.keyClass(LongWritable.class);
    
            //指定value类型
            Writer.Option valClass = Writer.valueClass(Text.class);
    
            //创建输出流
            Writer writer = SequenceFile.createWriter(new Configuration(), name, keyClass, valClass);
    
            //指定输入文件
            FileSystem fileSystem = FileSystem.get(new Configuration());
            FSDataInputStream in = fileSystem.open(new Path("file:/d:/hadoopFile/blow.txt"));
    
            String line = null;
            Long num = 0l;
            while((line = in.readLine())!=null){
                num ++;
                writer.append(new LongWritable(num),new Text(line));
            }
            //完成之后关闭输出流
            IOUtils.closeStream(writer);
        }
    }
  • 相关阅读:
    【windows】ping对方ip端口,tcping工具
    【mysql】搜索带字符
    【layui】日期选择一闪而过问题
    【转】【linux】查看文件夹大小
    【bat】睡眠2秒
    【mysql】'XXX.XXX.XXX' isn't in GROUP BY问题解决
    【java】获取客户端访问的公网ip和归属地
    【bat】判断字符串是否包含某字符串
    【bat】【windows】win10查看所有wifi密码
    【idea】【sonarlint】指定文件夹扫描
  • 原文地址:https://www.cnblogs.com/da-peng/p/9910880.html
Copyright © 2020-2023  润新知