All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gobblin.source.extractor.hadoop.HadoopTextInputSource Maven / Gradle / Ivy

There is a newer version: 0.8.0
Show newest version
/*
 * Copyright (C) 2014-2016 LinkedIn Corp. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use
 * this file except in compliance with the License. You may obtain a copy of the
 * License at  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed
 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied.
 */

package gobblin.source.extractor.hadoop;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.RecordReader;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.input.FileSplit;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
import org.apache.hadoop.util.ReflectionUtils;

import gobblin.configuration.State;
import gobblin.configuration.WorkUnitState;


/**
 * An extension to {@link HadoopFileInputSource} that uses a {@link TextInputFormat}.
 *
 * 

* A concrete implementation of this class should at least implement the * {@link #getExtractor(WorkUnitState, RecordReader, FileSplit, boolean)} method. *

* * @param output schema type * * @author Yinan Li */ public abstract class HadoopTextInputSource extends HadoopFileInputSource { @Override protected FileInputFormat getFileInputFormat(State state, Configuration configuration) { return ReflectionUtils.newInstance(TextInputFormat.class, configuration); } }