com.splicemachine.derby.stream.spark.fake.FakeOutputCommitter.java Source code

Java tutorial

Introduction

Here is the source code for com.splicemachine.derby.stream.spark.fake.FakeOutputCommitter.java

Source

/*
 * Copyright 2012 - 2016 Splice Machine, Inc.
 *
 * 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. See the License for the
 * specific language governing permissions and limitations under the License.
 */

package com.splicemachine.derby.stream.spark.fake;

import com.splicemachine.si.api.txn.Txn;
import com.splicemachine.si.api.txn.TxnView;
import com.splicemachine.stream.output.SpliceOutputCommitter;
import org.apache.hadoop.mapreduce.JobContext;
import org.apache.hadoop.mapreduce.OutputCommitter;
import org.apache.hadoop.mapreduce.TaskAttemptContext;
import org.apache.hadoop.mapreduce.TaskAttemptID;

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

public class FakeOutputCommitter extends SpliceOutputCommitter {

    public FakeOutputCommitter() {
        super(Txn.ROOT_TRANSACTION, new byte[0]);
    }

    @Override
    public TxnView getChildTransaction(TaskAttemptID taskAttemptID) {
        return parentTxn;
    }

    @Override
    public void setupJob(JobContext jobContext) throws IOException {

    }

    @Override
    public void setupTask(TaskAttemptContext taskAttemptContext) throws IOException {

    }

    @Override
    public boolean needsTaskCommit(TaskAttemptContext taskAttemptContext) throws IOException {
        return true;
    }

    @Override
    public void commitTask(TaskAttemptContext taskAttemptContext) throws IOException {

    }

    @Override
    public void abortTask(TaskAttemptContext taskAttemptContext) throws IOException {
        String abortDirectory = taskAttemptContext.getConfiguration().get("abort.directory");
        File file = new File(abortDirectory, taskAttemptContext.getTaskAttemptID().getTaskID().toString());
        file.createNewFile();
    }
}