use of org.apache.tez.runtime.common.objectregistry.ObjectRegistryImpl in project hive by apache.
the class TestMiniTezCliDriver method testCliDriver.
@Test
public void testCliDriver() throws Exception {
// create a new object cache for tez-based tests which rely on that
ObjectCache.setupObjectRegistry(new ObjectRegistryImpl());
adapter.runTest(name, qfile);
}
use of org.apache.tez.runtime.common.objectregistry.ObjectRegistryImpl in project hive by apache.
the class AbstractMapJoin method setupMapJoin.
protected void setupMapJoin(HiveConf hiveConf, long seed, int rowCount, VectorMapJoinVariation vectorMapJoinVariation, MapJoinTestImplementation mapJoinImplementation, String[] bigTableColumnNames, TypeInfo[] bigTableTypeInfos, int[] bigTableKeyColumnNums, String[] smallTableValueColumnNames, TypeInfo[] smallTableValueTypeInfos, int[] bigTableRetainColumnNums, int[] smallTableRetainKeyColumnNums, int[] smallTableRetainValueColumnNums, SmallTableGenerationParameters smallTableGenerationParameters) throws Exception {
this.vectorMapJoinVariation = vectorMapJoinVariation;
this.mapJoinImplementation = mapJoinImplementation;
testDesc = new MapJoinTestDescription(hiveConf, vectorMapJoinVariation, bigTableTypeInfos, bigTableKeyColumnNums, smallTableValueTypeInfos, smallTableRetainKeyColumnNums, smallTableGenerationParameters, MapJoinPlanVariation.DYNAMIC_PARTITION_HASH_JOIN);
// Prepare data. Good for ANY implementation variation.
testData = new MapJoinTestData(rowCount, testDesc, seed);
ObjectRegistryImpl objectRegistry = new ObjectRegistryImpl();
ObjectCache.setupObjectRegistry(objectRegistry);
operator = setupBenchmarkImplementation(mapJoinImplementation, testDesc, testData);
isVectorOutput = isVectorOutput(mapJoinImplementation);
/*
* We don't measure data generation execution cost -- generate the big table into memory first.
*/
if (!isVectorOutput) {
bigTableRows = testData.getBigTableBatchSource().getRandomRows();
} else {
ArrayList<VectorizedRowBatch> bigTableBatchList = new ArrayList<VectorizedRowBatch>();
VectorRandomBatchSource batchSource = testData.getBigTableBatchSource();
batchSource.resetBatchIteration();
while (true) {
VectorizedRowBatch batch = testData.createBigTableBatch(testDesc);
if (!batchSource.fillNextBatch(batch)) {
break;
}
bigTableBatchList.add(batch);
}
bigTableBatches = bigTableBatchList.toArray(new VectorizedRowBatch[0]);
}
}
use of org.apache.tez.runtime.common.objectregistry.ObjectRegistryImpl in project hive by apache.
the class TestVectorLimitOperator method validateVectorLimitOperator.
private void validateVectorLimitOperator(int limit, int batchSize, int expectedBatchSize) throws HiveException {
FakeVectorRowBatchFromObjectIterables frboi = getBatch(batchSize);
// Get next batch
VectorizedRowBatch vrb = frboi.produceNextBatch();
// Create limit desc with limit value
LimitDesc ld = new LimitDesc(limit);
VectorLimitDesc vectorDesc = new VectorLimitDesc();
VectorLimitOperator lo = new VectorLimitOperator(new CompilationOpContext(), ld, null, vectorDesc);
// make sure an object registry is present for the test
ObjectCache.setupObjectRegistry(new ObjectRegistryImpl());
lo.initialize(new Configuration(), null);
// Process the batch
lo.process(vrb, 0);
// Verify batch size
Assert.assertEquals(vrb.size, expectedBatchSize);
}
use of org.apache.tez.runtime.common.objectregistry.ObjectRegistryImpl in project tez by apache.
the class TezChild method newTezChild.
public static TezChild newTezChild(Configuration conf, String host, int port, String containerIdentifier, String tokenIdentifier, int attemptNumber, String[] localDirs, String workingDirectory, Map<String, String> serviceProviderEnvMap, @Nullable String pid, ExecutionContext executionContext, Credentials credentials, long memAvailable, String user, TezTaskUmbilicalProtocol tezUmbilical, boolean updateSysCounters, HadoopShim hadoopShim) throws IOException, InterruptedException, TezException {
// Pull in configuration specified for the session.
// TODO TEZ-1233. This needs to be moved over the wire rather than localizing the file
// for each and every task, and reading it back from disk. Also needs to be per vertex.
Limits.setConfiguration(conf);
TezUtilsInternal.setSecurityUtilConfigration(LOG, conf);
// singleton of ObjectRegistry for this JVM
ObjectRegistryImpl objectRegistry = new ObjectRegistryImpl();
return new TezChild(conf, host, port, containerIdentifier, tokenIdentifier, attemptNumber, workingDirectory, localDirs, serviceProviderEnvMap, objectRegistry, pid, executionContext, credentials, memAvailable, user, tezUmbilical, updateSysCounters, hadoopShim);
}
use of org.apache.tez.runtime.common.objectregistry.ObjectRegistryImpl in project tez by apache.
the class TestProcessorContext method testDagNumber.
@Test(timeout = 5000)
public void testDagNumber() throws IOException {
String[] localDirs = new String[] { "dummyLocalDir" };
int appAttemptNumber = 1;
TezUmbilical tezUmbilical = mock(TezUmbilical.class);
String dagName = "DAG_NAME";
String vertexName = "VERTEX_NAME";
int vertexParallelism = 20;
int dagNumber = 52;
ApplicationId appId = ApplicationId.newInstance(10000, 13);
TezDAGID dagId = TezDAGID.getInstance(appId, dagNumber);
TezVertexID vertexId = TezVertexID.getInstance(dagId, 6);
TezTaskID taskId = TezTaskID.getInstance(vertexId, 4);
TezTaskAttemptID taskAttemptId = TezTaskAttemptID.getInstance(taskId, 2);
TaskSpec mockSpec = mock(TaskSpec.class);
when(mockSpec.getInputs()).thenReturn(Collections.singletonList(mock(InputSpec.class)));
when(mockSpec.getOutputs()).thenReturn(Collections.singletonList(mock(OutputSpec.class)));
Configuration conf = new Configuration();
TezSharedExecutor sharedExecutor = new TezSharedExecutor(conf);
LogicalIOProcessorRuntimeTask runtimeTask = new LogicalIOProcessorRuntimeTask(mockSpec, 1, conf, new String[] { "/" }, tezUmbilical, null, null, null, null, "", null, 1024, false, new DefaultHadoopShim(), sharedExecutor);
LogicalIOProcessorRuntimeTask mockTask = spy(runtimeTask);
Map<String, ByteBuffer> serviceConsumerMetadata = Maps.newHashMap();
Map<String, String> auxServiceEnv = Maps.newHashMap();
MemoryDistributor memDist = mock(MemoryDistributor.class);
ProcessorDescriptor processorDesc = mock(ProcessorDescriptor.class);
InputReadyTracker inputReadyTracker = mock(InputReadyTracker.class);
ObjectRegistry objectRegistry = new ObjectRegistryImpl();
ExecutionContext execContext = new ExecutionContextImpl("localhost");
long memAvailable = 10000l;
TezProcessorContextImpl procContext = new TezProcessorContextImpl(new Configuration(), localDirs, appAttemptNumber, tezUmbilical, dagName, vertexName, vertexParallelism, taskAttemptId, null, runtimeTask, serviceConsumerMetadata, auxServiceEnv, memDist, processorDesc, inputReadyTracker, objectRegistry, execContext, memAvailable, sharedExecutor);
assertEquals(dagNumber, procContext.getDagIdentifier());
assertEquals(appAttemptNumber, procContext.getDAGAttemptNumber());
assertEquals(appId, procContext.getApplicationId());
assertEquals(dagName, procContext.getDAGName());
assertEquals(vertexName, procContext.getTaskVertexName());
assertEquals(vertexId.getId(), procContext.getTaskVertexIndex());
assertTrue(Arrays.equals(localDirs, procContext.getWorkDirs()));
// test auto call of notifyProgress
procContext.setProgress(0.1f);
verify(mockTask, times(1)).notifyProgressInvocation();
sharedExecutor.shutdown();
}
Aggregations