package cookbook; import java.io.File; import org.junit.Test; import water.Key; import water.fvec.Frame; import water.fvec.NFSFileVec; import water.fvec.ParseDataset2; import water.fvec.Vec; import water.fvec.Chunk; public class ChunkDemo extends AbstractCookbook{ @Test public void Chunk(){ String fileName = "./cookbookData/iris_withNA.csv"; File file = new File(fileName); Key fkey = NFSFileVec.make(file); Key okey = Key.make("iris.hex"); Frame fr; fr = ParseDataset2.parse(okey, new Key[]{fkey}); Vec vv = fr.vec(0); //accessing the first vector from the frame int chunk_num = vv.nChunks(); System.out.println("Number of chunks in column 1: "+chunk_num); Chunk cc = vv.chunkForChunkIdx(0); //Reading in the first chunk. This loads the data locally. for(int i=0; i < cc._len;i++){ //READING A DOUBLE ELEMENT FROM A CHUNK double d_at = cc.at0(i); // at0 gives the local chunk index System.out.println("double Value at chunk index "+i+ ": "+d_at); //READING A LONG ELEMENT FROM A CHUNK if(!Double.isNaN(d_at)){ long l_at = cc.at80(i); System.out.println("long Value at chunk index "+i+ ": "+l_at); } //UPDATING A DOUBLE ELEMENT TO A CHUNK double d = 1.23; double set_dval = cc.set0(i, d); System.out.println("Setting a double value at index "+i+" : "+set_dval); //UPDATING A LONG ELEMENT TO A CHUNK long l = 123L; long set_lval = cc.set0(i, l); System.out.println("Setting a double value at index "+i+" : "+set_lval); } //logThisH2OInstanceWebBrowserAddress(); //sleepForever(); //CLEANING THE KV STORE OF ALL DATA Frame.delete(okey); } }