public void flush() {
   if (valueCount > 0) {
     writePage();
   }
   final DictionaryPage dictionaryPage = dataColumn.toDictPageAndClose();
   if (dictionaryPage != null) {
     if (DEBUG) LOG.debug("write dictionary");
     try {
       pageWriter.writeDictionaryPage(dictionaryPage);
     } catch (IOException e) {
       throw new ParquetEncodingException("could not write dictionary page for " + path, e);
     }
     dataColumn.resetDictionary();
   }
 }
Beispiel #2
0
 public static void writeIntLittleEndian(OutputStream out, int v) throws IOException {
   // TODO: this is duplicated code in LittleEndianDataOutputStream
   out.write((v >>> 0) & 0xFF);
   out.write((v >>> 8) & 0xFF);
   out.write((v >>> 16) & 0xFF);
   out.write((v >>> 24) & 0xFF);
   if (Log.DEBUG)
     LOG.debug(
         "write le int: "
             + v
             + " => "
             + ((v >>> 0) & 0xFF)
             + " "
             + ((v >>> 8) & 0xFF)
             + " "
             + ((v >>> 16) & 0xFF)
             + " "
             + ((v >>> 24) & 0xFF));
 }
 private void writePage() {
   if (DEBUG) LOG.debug("write page");
   try {
     pageWriter.writePage(
         concat(
             repetitionLevelColumn.getBytes(),
             definitionLevelColumn.getBytes(),
             dataColumn.getBytes()),
         valueCount,
         statistics,
         repetitionLevelColumn.getEncoding(),
         definitionLevelColumn.getEncoding(),
         dataColumn.getEncoding());
   } catch (IOException e) {
     throw new ParquetEncodingException("could not write page for " + path, e);
   }
   repetitionLevelColumn.reset();
   definitionLevelColumn.reset();
   dataColumn.reset();
   valueCount = 0;
   resetStatistics();
 }
 private void log(Object value, int r, int d) {
   LOG.debug(path + " " + value + " r:" + r + " d:" + d);
 }