Java tutorial
/* (c) 2015 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 com.linkedin.cubert.plan.physical; import java.io.IOException; import java.net.URI; import java.util.HashMap; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.RawComparator; import org.apache.hadoop.mapreduce.Counter; import org.apache.hadoop.mapreduce.InputFormat; import org.apache.hadoop.mapreduce.InputSplit; import org.apache.hadoop.mapreduce.JobID; import org.apache.hadoop.mapreduce.MapContext; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.OutputCommitter; import org.apache.hadoop.mapreduce.OutputFormat; import org.apache.hadoop.mapreduce.Partitioner; import org.apache.hadoop.mapreduce.ReduceContext; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.TaskAttemptID; import org.apache.hadoop.mapreduce.counters.GenericCounter; import org.apache.hadoop.security.Credentials; /** * Dummy Context class to be used in TestOperators * * @author Mani Parkhe */ public class TestContext implements MapContext, ReduceContext { @Override public InputSplit getInputSplit() { return null; } @Override public boolean nextKey() throws IOException, InterruptedException { return false; } @Override public Iterable<Object> getValues() throws IOException, InterruptedException { return null; } @Override public boolean nextKeyValue() throws IOException, InterruptedException { return false; } @Override public Object getCurrentKey() throws IOException, InterruptedException { return null; } @Override public Object getCurrentValue() throws IOException, InterruptedException { return null; } @Override public void write(Object key, Object value) throws IOException, InterruptedException { } @Override public OutputCommitter getOutputCommitter() { return null; } @Override public TaskAttemptID getTaskAttemptID() { return null; } @Override public void setStatus(String msg) { } @Override public String getStatus() { return null; } @Override public float getProgress() { return 0; } private final HashMap<String, HashMap<String, Counter>> counterCache = new HashMap<String, HashMap<String, Counter>>(); @Override public Counter getCounter(String groupName, String counterName) { HashMap<String, Counter> group = counterCache.get(groupName); if (group == null) { group = new HashMap<String, Counter>(); counterCache.put(groupName, group); } Counter counter = group.get(counterName); if (counter == null) { counter = new GenericCounter(groupName, counterName); group.put(counterName, counter); } return counter; } @Override public Counter getCounter(Enum<?> counterName) { return getCounter("DEFAULT_GROUP", counterName.name()); } @Override public Configuration getConfiguration() { return null; } @Override public Credentials getCredentials() { return null; } @Override public JobID getJobID() { return null; } @Override public int getNumReduceTasks() { return 0; } @Override public Path getWorkingDirectory() throws IOException { return null; } @Override public Class<?> getOutputKeyClass() { return null; } @Override public Class<?> getOutputValueClass() { return null; } @Override public Class<?> getMapOutputKeyClass() { return null; } @Override public Class<?> getMapOutputValueClass() { return null; } @Override public String getJobName() { return null; } @Override public Class<? extends InputFormat<?, ?>> getInputFormatClass() throws ClassNotFoundException { return null; } @Override public Class<? extends Mapper<?, ?, ?, ?>> getMapperClass() throws ClassNotFoundException { return null; } @Override public Class<? extends Reducer<?, ?, ?, ?>> getCombinerClass() throws ClassNotFoundException { return null; } @Override public Class<? extends Reducer<?, ?, ?, ?>> getReducerClass() throws ClassNotFoundException { return null; } @Override public Class<? extends OutputFormat<?, ?>> getOutputFormatClass() throws ClassNotFoundException { return null; } @Override public Class<? extends Partitioner<?, ?>> getPartitionerClass() throws ClassNotFoundException { return null; } @Override public RawComparator<?> getSortComparator() { return null; } @Override public String getJar() { return null; } @Override public RawComparator<?> getCombinerKeyGroupingComparator() { return null; } @Override public RawComparator<?> getGroupingComparator() { return null; } @Override public boolean getJobSetupCleanupNeeded() { return false; } @Override public boolean getTaskCleanupNeeded() { return false; } @Override public boolean getProfileEnabled() { return false; } @Override public String getProfileParams() { return null; } @Override public Configuration.IntegerRanges getProfileTaskRange(boolean isMap) { return null; } @Override public String getUser() { return null; } @Override public boolean getSymlink() { return false; } @Override public Path[] getArchiveClassPaths() { return new Path[0]; } @Override public URI[] getCacheArchives() throws IOException { return new URI[0]; } @Override public URI[] getCacheFiles() throws IOException { return new URI[0]; } @Override public Path[] getLocalCacheArchives() throws IOException { return new Path[0]; } @Override public Path[] getLocalCacheFiles() throws IOException { return new Path[0]; } @Override public Path[] getFileClassPaths() { return new Path[0]; } @Override public String[] getArchiveTimestamps() { return new String[0]; } @Override public String[] getFileTimestamps() { return new String[0]; } @Override public int getMaxMapAttempts() { return 0; } @Override public int getMaxReduceAttempts() { return 0; } @Override public void progress() { } }