Package com.manning.hip.ch3.seqfile

Source Code of com.manning.hip.ch3.seqfile.SequenceFileStockWriter

package com.manning.hip.ch3.seqfile;

import com.manning.hip.ch3.StockPriceWritable;
import com.manning.hip.ch3.csv.CSVParser;
import org.apache.commons.io.FileUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.SequenceFile;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.compress.DefaultCodec;

import java.io.File;
import java.io.IOException;

public class SequenceFileStockWriter {

  public static void main(String... args) throws IOException {
    write(new File(args[0]), new Path(args[1]));
  }

  public static void write(File inputFile, Path outputPath)
      throws IOException {
    Configuration conf = new Configuration();
    FileSystem fs = FileSystem.get(conf);

    SequenceFile.Writer writer =    //<co id="ch03_comment_seqfile_write1"/>
        SequenceFile.createWriter(fs, conf, outputPath, Text.class,
            StockPriceWritable.class,
            SequenceFile.CompressionType.BLOCK,
            new DefaultCodec());
    try {
      Text key = new Text();

      for (String line : FileUtils.readLines(inputFile)) {   //<co id="ch03_comment_seqfile_write2"/>
        StockPriceWritable stock = StockPriceWritable.fromLine(line);
        key.set(stock.getSymbol());

        key.set(stock.getSymbol());
        writer.append(key,
            stock);        //<co id="ch03_comment_seqfile_write4"/>
      }
    } finally {
      writer.close();
    }
  }
}
TOP

Related Classes of com.manning.hip.ch3.seqfile.SequenceFileStockWriter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.