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); ... }