Example 1: Specify List of SQL Data Types - Aster Execution Engine

Teradata Aster® Developer Guide

Product
Aster Execution Engine
Release Number
7.00.02
Published
July 2017
Language
English (United States)
Last Update
2018-04-13
dita:mapPath
xnl1494366523182.ditamap
dita:ditavalPath
Generic_no_ie_no_tempfilter.ditaval
dita:id
ffu1489104705746
lifecycle
previous
Product Category
Software

The following code creates an IMDC named myIMDC, specifying the schema with a list of SQL data types and specifying 100 MB for each partition. The IMDC columns are assigned the names Col<0>, Col<1>, and Col<2>.

import java.util.List;
import java.util.ArrayList;
import com.asterdata.ncluster.sqlmr.RowFunction;
import com.asterdata.ncluster.sqlmr.data.RowEmitter;
import com.asterdata.ncluster.sqlmr.data.RowIterator;
import com.asterdata.ncluster.sqlmr.InMemoryDataCollectionRepository;
import com.asterdata.ncluster.sqlmr.data.InMemoryDataCollection;
import com.asterdata.ncluster.sqlmr.data.SqlType;
...
  public void operateOnSomeRows(RowIterator inputIterator,
  outputEmitter)
  {
    ...
    //Specify IMDC name
    String myIMDC_Name = new String("myIMDC");

    //Specify IMDC schema
    List<SqlType> myIMDC_Schema = new ArrayList<SqlType>(3);
    // Add java int
    myIMDC_Schema.add(SqlType.integer());
    // Add java double
    myIMDC_Schema.add(SqlType.double());
    // Add java String
    myIMDC_Schema.add(SqlType.varchar());

    //Specify amount of memory to use for each partition
    int memoryInMB = 100;

    //Create IMDC
    InMemoryDataCollection myIMDC =
    InMemoryDataCollectionRepository.createInMemoryDataCollection(
      myIMDC_Name,
      myIMDC_Schema,
      memoryInMB);
    ...
}