package water.fvec;
import water.DKV;
import water.Key;
/**
* Simple helper class which publishes some frame and chunk package private methods as public
*/
public class ChunkUtils {
public static NewChunk[] createNewChunks(String name, byte[] vecTypes, int chunkId){
return Frame.createNewChunks(name, vecTypes, chunkId);
}
public static void closeNewChunks(NewChunk[] nchks){
Frame.closeNewChunks(nchks);
}
public static Chunk[] getChunks(Frame fr, int cidx) {
Chunk[] chunks = new Chunk[fr.vecs().length];
for(int i=0; i<fr.vecs().length; i++){
chunks[i] = fr.vec(i).chunkForChunkIdx(cidx);
}
return chunks;
}
public static void initFrame(String keyName, String[] names) {
Frame fr = new water.fvec.Frame(Key.<Frame>make(keyName));
fr.preparePartialFrame(names);
// Save it directly to DKV
fr.update();
}
public static Frame finalizeFrame(String keyName, long[] rowsPerChunk, byte[] colTypes, String[][] colDomains){
Frame fr = DKV.getGet(keyName);
fr.finalizePartialFrame(rowsPerChunk, colDomains, colTypes);
return fr;
}
}