You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@orc.apache.org by om...@apache.org on 2016/07/29 21:19:00 UTC

[4/6] orc git commit: ORC-84. Create a separate java tool module.

http://git-wip-us.apache.org/repos/asf/orc/blob/b2f84ce4/java/core/src/test/resources/orc-file-dump.json
----------------------------------------------------------------------
diff --git a/java/core/src/test/resources/orc-file-dump.json b/java/core/src/test/resources/orc-file-dump.json
deleted file mode 100644
index bf654a1..0000000
--- a/java/core/src/test/resources/orc-file-dump.json
+++ /dev/null
@@ -1,1355 +0,0 @@
-{
-  "fileName": "TestFileDump.testDump.orc",
-  "fileVersion": "0.12",
-  "writerVersion": "HIVE_13083",
-  "numberOfRows": 21000,
-  "compression": "ZLIB",
-  "compressionBufferSize": 4096,
-  "schemaString": "struct<i:int,l:bigint,s:string>",
-  "schema": [
-    {
-      "columnId": 0,
-      "columnType": "STRUCT",
-      "childColumnNames": [
-        "i",
-        "l",
-        "s"
-      ],
-      "childColumnIds": [
-        1,
-        2,
-        3
-      ]
-    },
-    {
-      "columnId": 1,
-      "columnType": "INT"
-    },
-    {
-      "columnId": 2,
-      "columnType": "LONG"
-    },
-    {
-      "columnId": 3,
-      "columnType": "STRING"
-    }
-  ],
-  "stripeStatistics": [
-    {
-      "stripeNumber": 1,
-      "columnStatistics": [
-        {
-          "columnId": 0,
-          "count": 5000,
-          "hasNull": false
-        },
-        {
-          "columnId": 1,
-          "count": 5000,
-          "hasNull": false,
-          "min": -2147115959,
-          "max": 2145210552,
-          "sum": 50111854553,
-          "type": "LONG"
-        },
-        {
-          "columnId": 2,
-          "count": 5000,
-          "hasNull": false,
-          "min": -9223180583305557329,
-          "max": 9221614132680747961,
-          "type": "LONG"
-        },
-        {
-          "columnId": 3,
-          "count": 4950,
-          "hasNull": true,
-          "min": "Darkness,",
-          "max": "worst",
-          "totalLength": 19283,
-          "type": "STRING"
-        }
-      ]
-    },
-    {
-      "stripeNumber": 2,
-      "columnStatistics": [
-        {
-          "columnId": 0,
-          "count": 5000,
-          "hasNull": false
-        },
-        {
-          "columnId": 1,
-          "count": 5000,
-          "hasNull": false,
-          "min": -2147390285,
-          "max": 2147224606,
-          "sum": -22290798217,
-          "type": "LONG"
-        },
-        {
-          "columnId": 2,
-          "count": 5000,
-          "hasNull": false,
-          "min": -9219295160509160427,
-          "max": 9217571024994660020,
-          "type": "LONG"
-        },
-        {
-          "columnId": 3,
-          "count": 4950,
-          "hasNull": true,
-          "min": "Darkness,",
-          "max": "worst",
-          "totalLength": 19397,
-          "type": "STRING"
-        }
-      ]
-    },
-    {
-      "stripeNumber": 3,
-      "columnStatistics": [
-        {
-          "columnId": 0,
-          "count": 5000,
-          "hasNull": false
-        },
-        {
-          "columnId": 1,
-          "count": 5000,
-          "hasNull": false,
-          "min": -2146954065,
-          "max": 2146722468,
-          "sum": 20639652136,
-          "type": "LONG"
-        },
-        {
-          "columnId": 2,
-          "count": 5000,
-          "hasNull": false,
-          "min": -9214076359988107846,
-          "max": 9222919052987871506,
-          "type": "LONG"
-        },
-        {
-          "columnId": 3,
-          "count": 4950,
-          "hasNull": true,
-          "min": "Darkness,",
-          "max": "worst",
-          "totalLength": 19031,
-          "type": "STRING"
-        }
-      ]
-    },
-    {
-      "stripeNumber": 4,
-      "columnStatistics": [
-        {
-          "columnId": 0,
-          "count": 5000,
-          "hasNull": false
-        },
-        {
-          "columnId": 1,
-          "count": 5000,
-          "hasNull": false,
-          "min": -2146969085,
-          "max": 2146025044,
-          "sum": -5156814387,
-          "type": "LONG"
-        },
-        {
-          "columnId": 2,
-          "count": 5000,
-          "hasNull": false,
-          "min": -9222731174895935707,
-          "max": 9220625004936875965,
-          "type": "LONG"
-        },
-        {
-          "columnId": 3,
-          "count": 4950,
-          "hasNull": true,
-          "min": "Darkness,",
-          "max": "worst",
-          "totalLength": 19459,
-          "type": "STRING"
-        }
-      ]
-    },
-    {
-      "stripeNumber": 5,
-      "columnStatistics": [
-        {
-          "columnId": 0,
-          "count": 1000,
-          "hasNull": false
-        },
-        {
-          "columnId": 1,
-          "count": 1000,
-          "hasNull": false,
-          "min": -2144303438,
-          "max": 2127599049,
-          "sum": 62841564778,
-          "type": "LONG"
-        },
-        {
-          "columnId": 2,
-          "count": 1000,
-          "hasNull": false,
-          "min": -9195133638801798919,
-          "max": 9218626063131504414,
-          "type": "LONG"
-        },
-        {
-          "columnId": 3,
-          "count": 990,
-          "hasNull": true,
-          "min": "Darkness,",
-          "max": "worst",
-          "totalLength": 3963,
-          "type": "STRING"
-        }
-      ]
-    }
-  ],
-  "fileStatistics": [
-    {
-      "columnId": 0,
-      "count": 21000,
-      "hasNull": false
-    },
-    {
-      "columnId": 1,
-      "count": 21000,
-      "hasNull": false,
-      "min": -2147390285,
-      "max": 2147224606,
-      "sum": 106145458863,
-      "type": "LONG"
-    },
-    {
-      "columnId": 2,
-      "count": 21000,
-      "hasNull": false,
-      "min": -9223180583305557329,
-      "max": 9222919052987871506,
-      "type": "LONG"
-    },
-    {
-      "columnId": 3,
-      "count": 20790,
-      "hasNull": true,
-      "min": "Darkness,",
-      "max": "worst",
-      "totalLength": 81133,
-      "type": "STRING"
-    }
-  ],
-  "stripes": [
-    {
-      "stripeNumber": 1,
-      "stripeInformation": {
-        "offset": 3,
-        "indexLength": 970,
-        "dataLength": 63770,
-        "footerLength": 90,
-        "rowCount": 5000
-      },
-      "streams": [
-        {
-          "columnId": 0,
-          "section": "ROW_INDEX",
-          "startOffset": 3,
-          "length": 17
-        },
-        {
-          "columnId": 1,
-          "section": "ROW_INDEX",
-          "startOffset": 20,
-          "length": 167
-        },
-        {
-          "columnId": 2,
-          "section": "ROW_INDEX",
-          "startOffset": 187,
-          "length": 171
-        },
-        {
-          "columnId": 3,
-          "section": "ROW_INDEX",
-          "startOffset": 358,
-          "length": 103
-        },
-        {
-          "columnId": 3,
-          "section": "BLOOM_FILTER",
-          "startOffset": 461,
-          "length": 512
-        },
-        {
-          "columnId": 1,
-          "section": "DATA",
-          "startOffset": 973,
-          "length": 20035
-        },
-        {
-          "columnId": 2,
-          "section": "DATA",
-          "startOffset": 21008,
-          "length": 40050
-        },
-        {
-          "columnId": 3,
-          "section": "PRESENT",
-          "startOffset": 61058,
-          "length": 17
-        },
-        {
-          "columnId": 3,
-          "section": "DATA",
-          "startOffset": 61075,
-          "length": 3510
-        },
-        {
-          "columnId": 3,
-          "section": "LENGTH",
-          "startOffset": 64585,
-          "length": 25
-        },
-        {
-          "columnId": 3,
-          "section": "DICTIONARY_DATA",
-          "startOffset": 64610,
-          "length": 133
-        }
-      ],
-      "encodings": [
-        {
-          "columnId": 0,
-          "kind": "DIRECT"
-        },
-        {
-          "columnId": 1,
-          "kind": "DIRECT_V2"
-        },
-        {
-          "columnId": 2,
-          "kind": "DIRECT_V2"
-        },
-        {
-          "columnId": 3,
-          "kind": "DICTIONARY_V2",
-          "dictionarySize": 35
-        }
-      ],
-      "indexes": [{
-        "columnId": 3,
-        "rowGroupIndexes": [
-          {
-            "entryId": 0,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3873,
-            "type": "STRING",
-            "positions": [
-              0,
-              0,
-              0,
-              0,
-              0,
-              0,
-              0
-            ]
-          },
-          {
-            "entryId": 1,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3861,
-            "type": "STRING",
-            "positions": [
-              0,
-              38,
-              12,
-              0,
-              0,
-              736,
-              23
-            ]
-          },
-          {
-            "entryId": 2,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3946,
-            "type": "STRING",
-            "positions": [
-              0,
-              78,
-              12,
-              0,
-              0,
-              1473,
-              43
-            ]
-          },
-          {
-            "entryId": 3,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3774,
-            "type": "STRING",
-            "positions": [
-              0,
-              118,
-              12,
-              0,
-              0,
-              2067,
-              261
-            ]
-          },
-          {
-            "entryId": 4,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3829,
-            "type": "STRING",
-            "positions": [
-              0,
-              158,
-              12,
-              0,
-              0,
-              2992,
-              35
-            ]
-          }
-        ],
-        "bloomFilterIndexes": [
-          {
-            "entryId": 0,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 1,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 2,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 3,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 4,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          }
-        ],
-        "stripeLevelBloomFilter": {
-          "numHashFunctions": 4,
-          "bitCount": 6272,
-          "popCount": 138,
-          "loadFactor": 0.022002551704645157,
-          "expectedFpp": 2.3436470542037569E-7
-        }
-      }]
-    },
-    {
-      "stripeNumber": 2,
-      "stripeInformation": {
-        "offset": 64833,
-        "indexLength": 961,
-        "dataLength": 63763,
-        "footerLength": 88,
-        "rowCount": 5000
-      },
-      "streams": [
-        {
-          "columnId": 0,
-          "section": "ROW_INDEX",
-          "startOffset": 64833,
-          "length": 17
-        },
-        {
-          "columnId": 1,
-          "section": "ROW_INDEX",
-          "startOffset": 64850,
-          "length": 166
-        },
-        {
-          "columnId": 2,
-          "section": "ROW_INDEX",
-          "startOffset": 65016,
-          "length": 166
-        },
-        {
-          "columnId": 3,
-          "section": "ROW_INDEX",
-          "startOffset": 65182,
-          "length": 100
-        },
-        {
-          "columnId": 3,
-          "section": "BLOOM_FILTER",
-          "startOffset": 65282,
-          "length": 512
-        },
-        {
-          "columnId": 1,
-          "section": "DATA",
-          "startOffset": 65794,
-          "length": 20035
-        },
-        {
-          "columnId": 2,
-          "section": "DATA",
-          "startOffset": 85829,
-          "length": 40050
-        },
-        {
-          "columnId": 3,
-          "section": "PRESENT",
-          "startOffset": 125879,
-          "length": 17
-        },
-        {
-          "columnId": 3,
-          "section": "DATA",
-          "startOffset": 125896,
-          "length": 3503
-        },
-        {
-          "columnId": 3,
-          "section": "LENGTH",
-          "startOffset": 129399,
-          "length": 25
-        },
-        {
-          "columnId": 3,
-          "section": "DICTIONARY_DATA",
-          "startOffset": 129424,
-          "length": 133
-        }
-      ],
-      "encodings": [
-        {
-          "columnId": 0,
-          "kind": "DIRECT"
-        },
-        {
-          "columnId": 1,
-          "kind": "DIRECT_V2"
-        },
-        {
-          "columnId": 2,
-          "kind": "DIRECT_V2"
-        },
-        {
-          "columnId": 3,
-          "kind": "DICTIONARY_V2",
-          "dictionarySize": 35
-        }
-      ],
-      "indexes": [{
-        "columnId": 3,
-        "rowGroupIndexes": [
-          {
-            "entryId": 0,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3946,
-            "type": "STRING",
-            "positions": [
-              0,
-              0,
-              0,
-              0,
-              0,
-              0,
-              0
-            ]
-          },
-          {
-            "entryId": 1,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3836,
-            "type": "STRING",
-            "positions": [
-              0,
-              38,
-              12,
-              0,
-              0,
-              746,
-              11
-            ]
-          },
-          {
-            "entryId": 2,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3791,
-            "type": "STRING",
-            "positions": [
-              0,
-              78,
-              12,
-              0,
-              0,
-              1430,
-              95
-            ]
-          },
-          {
-            "entryId": 3,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3904,
-            "type": "STRING",
-            "positions": [
-              0,
-              118,
-              12,
-              0,
-              0,
-              2239,
-              23
-            ]
-          },
-          {
-            "entryId": 4,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3920,
-            "type": "STRING",
-            "positions": [
-              0,
-              158,
-              12,
-              0,
-              0,
-              2994,
-              17
-            ]
-          }
-        ],
-        "bloomFilterIndexes": [
-          {
-            "entryId": 0,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 1,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 2,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 3,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 4,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          }
-        ],
-        "stripeLevelBloomFilter": {
-          "numHashFunctions": 4,
-          "bitCount": 6272,
-          "popCount": 138,
-          "loadFactor": 0.022002551704645157,
-          "expectedFpp": 2.3436470542037569E-7
-        }
-      }]
-    },
-    {
-      "stripeNumber": 3,
-      "stripeInformation": {
-        "offset": 129645,
-        "indexLength": 962,
-        "dataLength": 63770,
-        "footerLength": 91,
-        "rowCount": 5000
-      },
-      "streams": [
-        {
-          "columnId": 0,
-          "section": "ROW_INDEX",
-          "startOffset": 129645,
-          "length": 17
-        },
-        {
-          "columnId": 1,
-          "section": "ROW_INDEX",
-          "startOffset": 129662,
-          "length": 164
-        },
-        {
-          "columnId": 2,
-          "section": "ROW_INDEX",
-          "startOffset": 129826,
-          "length": 167
-        },
-        {
-          "columnId": 3,
-          "section": "ROW_INDEX",
-          "startOffset": 129993,
-          "length": 102
-        },
-        {
-          "columnId": 3,
-          "section": "BLOOM_FILTER",
-          "startOffset": 130095,
-          "length": 512
-        },
-        {
-          "columnId": 1,
-          "section": "DATA",
-          "startOffset": 130607,
-          "length": 20035
-        },
-        {
-          "columnId": 2,
-          "section": "DATA",
-          "startOffset": 150642,
-          "length": 40050
-        },
-        {
-          "columnId": 3,
-          "section": "PRESENT",
-          "startOffset": 190692,
-          "length": 17
-        },
-        {
-          "columnId": 3,
-          "section": "DATA",
-          "startOffset": 190709,
-          "length": 3510
-        },
-        {
-          "columnId": 3,
-          "section": "LENGTH",
-          "startOffset": 194219,
-          "length": 25
-        },
-        {
-          "columnId": 3,
-          "section": "DICTIONARY_DATA",
-          "startOffset": 194244,
-          "length": 133
-        }
-      ],
-      "encodings": [
-        {
-          "columnId": 0,
-          "kind": "DIRECT"
-        },
-        {
-          "columnId": 1,
-          "kind": "DIRECT_V2"
-        },
-        {
-          "columnId": 2,
-          "kind": "DIRECT_V2"
-        },
-        {
-          "columnId": 3,
-          "kind": "DICTIONARY_V2",
-          "dictionarySize": 35
-        }
-      ],
-      "indexes": [{
-        "columnId": 3,
-        "rowGroupIndexes": [
-          {
-            "entryId": 0,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3829,
-            "type": "STRING",
-            "positions": [
-              0,
-              0,
-              0,
-              0,
-              0,
-              0,
-              0
-            ]
-          },
-          {
-            "entryId": 1,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3853,
-            "type": "STRING",
-            "positions": [
-              0,
-              38,
-              12,
-              0,
-              0,
-              698,
-              74
-            ]
-          },
-          {
-            "entryId": 2,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3796,
-            "type": "STRING",
-            "positions": [
-              0,
-              78,
-              12,
-              0,
-              0,
-              1483,
-              39
-            ]
-          },
-          {
-            "entryId": 3,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3736,
-            "type": "STRING",
-            "positions": [
-              0,
-              118,
-              12,
-              0,
-              0,
-              2148,
-              155
-            ]
-          },
-          {
-            "entryId": 4,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3817,
-            "type": "STRING",
-            "positions": [
-              0,
-              158,
-              12,
-              0,
-              0,
-              3018,
-              8
-            ]
-          }
-        ],
-        "bloomFilterIndexes": [
-          {
-            "entryId": 0,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 1,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 2,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 3,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 4,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          }
-        ],
-        "stripeLevelBloomFilter": {
-          "numHashFunctions": 4,
-          "bitCount": 6272,
-          "popCount": 138,
-          "loadFactor": 0.022002551704645157,
-          "expectedFpp": 2.3436470542037569E-7
-        }
-      }]
-    },
-    {
-      "stripeNumber": 4,
-      "stripeInformation": {
-        "offset": 194468,
-        "indexLength": 973,
-        "dataLength": 63756,
-        "footerLength": 91,
-        "rowCount": 5000
-      },
-      "streams": [
-        {
-          "columnId": 0,
-          "section": "ROW_INDEX",
-          "startOffset": 194468,
-          "length": 17
-        },
-        {
-          "columnId": 1,
-          "section": "ROW_INDEX",
-          "startOffset": 194485,
-          "length": 166
-        },
-        {
-          "columnId": 2,
-          "section": "ROW_INDEX",
-          "startOffset": 194651,
-          "length": 171
-        },
-        {
-          "columnId": 3,
-          "section": "ROW_INDEX",
-          "startOffset": 194822,
-          "length": 107
-        },
-        {
-          "columnId": 3,
-          "section": "BLOOM_FILTER",
-          "startOffset": 194929,
-          "length": 512
-        },
-        {
-          "columnId": 1,
-          "section": "DATA",
-          "startOffset": 195441,
-          "length": 20035
-        },
-        {
-          "columnId": 2,
-          "section": "DATA",
-          "startOffset": 215476,
-          "length": 40050
-        },
-        {
-          "columnId": 3,
-          "section": "PRESENT",
-          "startOffset": 255526,
-          "length": 17
-        },
-        {
-          "columnId": 3,
-          "section": "DATA",
-          "startOffset": 255543,
-          "length": 3496
-        },
-        {
-          "columnId": 3,
-          "section": "LENGTH",
-          "startOffset": 259039,
-          "length": 25
-        },
-        {
-          "columnId": 3,
-          "section": "DICTIONARY_DATA",
-          "startOffset": 259064,
-          "length": 133
-        }
-      ],
-      "encodings": [
-        {
-          "columnId": 0,
-          "kind": "DIRECT"
-        },
-        {
-          "columnId": 1,
-          "kind": "DIRECT_V2"
-        },
-        {
-          "columnId": 2,
-          "kind": "DIRECT_V2"
-        },
-        {
-          "columnId": 3,
-          "kind": "DICTIONARY_V2",
-          "dictionarySize": 35
-        }
-      ],
-      "indexes": [{
-        "columnId": 3,
-        "rowGroupIndexes": [
-          {
-            "entryId": 0,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3959,
-            "type": "STRING",
-            "positions": [
-              0,
-              0,
-              0,
-              0,
-              0,
-              0,
-              0
-            ]
-          },
-          {
-            "entryId": 1,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3816,
-            "type": "STRING",
-            "positions": [
-              0,
-              38,
-              12,
-              0,
-              0,
-              495,
-              338
-            ]
-          },
-          {
-            "entryId": 2,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3883,
-            "type": "STRING",
-            "positions": [
-              0,
-              78,
-              12,
-              0,
-              0,
-              1449,
-              71
-            ]
-          },
-          {
-            "entryId": 3,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3938,
-            "type": "STRING",
-            "positions": [
-              0,
-              118,
-              12,
-              0,
-              0,
-              2207,
-              59
-            ]
-          },
-          {
-            "entryId": 4,
-            "count": 990,
-            "hasNull": true,
-            "min": "Darkness,",
-            "max": "worst",
-            "totalLength": 3863,
-            "type": "STRING",
-            "positions": [
-              0,
-              158,
-              12,
-              0,
-              0,
-              2838,
-              223
-            ]
-          }
-        ],
-        "bloomFilterIndexes": [
-          {
-            "entryId": 0,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 1,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 2,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 3,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          },
-          {
-            "entryId": 4,
-            "numHashFunctions": 4,
-            "bitCount": 6272,
-            "popCount": 138,
-            "loadFactor": 0.022002551704645157,
-            "expectedFpp": 2.3436470542037569E-7
-          }
-        ],
-        "stripeLevelBloomFilter": {
-          "numHashFunctions": 4,
-          "bitCount": 6272,
-          "popCount": 138,
-          "loadFactor": 0.022002551704645157,
-          "expectedFpp": 2.3436470542037569E-7
-        }
-      }]
-    },
-    {
-      "stripeNumber": 5,
-      "stripeInformation": {
-        "offset": 259288,
-        "indexLength": 433,
-        "dataLength": 12943,
-        "footerLength": 83,
-        "rowCount": 1000
-      },
-      "streams": [
-        {
-          "columnId": 0,
-          "section": "ROW_INDEX",
-          "startOffset": 259288,
-          "length": 12
-        },
-        {
-          "columnId": 1,
-          "section": "ROW_INDEX",
-          "startOffset": 259300,
-          "length": 38
-        },
-        {
-          "columnId": 2,
-          "section": "ROW_INDEX",
-          "startOffset": 259338,
-          "length": 41
-        },
-        {
-          "columnId": 3,
-          "section": "ROW_INDEX",
-          "startOffset": 259379,
-          "length": 41
-        },
-        {
-          "columnId": 3,
-          "section": "BLOOM_FILTER",
-          "startOffset": 259420,
-          "length": 301
-        },
-        {
-          "columnId": 1,
-          "section": "DATA",
-          "startOffset": 259721,
-          "length": 4007
-        },
-        {
-          "columnId": 2,
-          "section": "DATA",
-          "startOffset": 263728,
-          "length": 8010
-        },
-        {
-          "columnId": 3,
-          "section": "PRESENT",
-          "startOffset": 271738,
-          "length": 16
-        },
-        {
-          "columnId": 3,
-          "section": "DATA",
-          "startOffset": 271754,
-          "length": 752
-        },
-        {
-          "columnId": 3,
-          "section": "LENGTH",
-          "startOffset": 272506,
-          "length": 25
-        },
-        {
-          "columnId": 3,
-          "section": "DICTIONARY_DATA",
-          "startOffset": 272531,
-          "length": 133
-        }
-      ],
-      "encodings": [
-        {
-          "columnId": 0,
-          "kind": "DIRECT"
-        },
-        {
-          "columnId": 1,
-          "kind": "DIRECT_V2"
-        },
-        {
-          "columnId": 2,
-          "kind": "DIRECT_V2"
-        },
-        {
-          "columnId": 3,
-          "kind": "DICTIONARY_V2",
-          "dictionarySize": 35
-        }
-      ],
-      "indexes": [{
-        "columnId": 3,
-        "rowGroupIndexes": [{
-          "entryId": 0,
-          "count": 990,
-          "hasNull": true,
-          "min": "Darkness,",
-          "max": "worst",
-          "totalLength": 3963,
-          "type": "STRING",
-          "positions": [
-            0,
-            0,
-            0,
-            0,
-            0,
-            0,
-            0
-          ]
-        }],
-        "bloomFilterIndexes": [{
-          "entryId": 0,
-          "numHashFunctions": 4,
-          "bitCount": 6272,
-          "popCount": 138,
-          "loadFactor": 0.022002551704645157,
-          "expectedFpp": 2.3436470542037569E-7
-        }],
-        "stripeLevelBloomFilter": {
-          "numHashFunctions": 4,
-          "bitCount": 6272,
-          "popCount": 138,
-          "loadFactor": 0.022002551704645157,
-          "expectedFpp": 2.3436470542037569E-7
-        }
-      }]
-    }
-  ],
-  "fileLength": 273300,
-  "paddingLength": 0,
-  "paddingRatio": 0,
-  "status": "OK"
-}

http://git-wip-us.apache.org/repos/asf/orc/blob/b2f84ce4/java/core/src/test/resources/orc-file-dump.out
----------------------------------------------------------------------
diff --git a/java/core/src/test/resources/orc-file-dump.out b/java/core/src/test/resources/orc-file-dump.out
deleted file mode 100644
index 70f7fbd..0000000
--- a/java/core/src/test/resources/orc-file-dump.out
+++ /dev/null
@@ -1,195 +0,0 @@
-Structure for TestFileDump.testDump.orc
-File Version: 0.12 with HIVE_13083
-Rows: 21000
-Compression: ZLIB
-Compression size: 4096
-Type: struct<i:int,l:bigint,s:string>
-
-Stripe Statistics:
-  Stripe 1:
-    Column 0: count: 5000 hasNull: false
-    Column 1: count: 5000 hasNull: false min: -2146021688 max: 2147223299 sum: 515792826
-    Column 2: count: 5000 hasNull: false min: -9218592812243954469 max: 9221614132680747961
-    Column 3: count: 5000 hasNull: false min: Darkness, max: worst sum: 19280
-  Stripe 2:
-    Column 0: count: 5000 hasNull: false
-    Column 1: count: 5000 hasNull: false min: -2146733128 max: 2147001622 sum: 7673427
-    Column 2: count: 5000 hasNull: false min: -9220818777591257749 max: 9222259462014003839
-    Column 3: count: 5000 hasNull: false min: Darkness, max: worst sum: 19504
-  Stripe 3:
-    Column 0: count: 5000 hasNull: false
-    Column 1: count: 5000 hasNull: false min: -2146993718 max: 2147378179 sum: 132660742551
-    Column 2: count: 5000 hasNull: false min: -9218342074710552826 max: 9222303228623055266
-    Column 3: count: 5000 hasNull: false min: Darkness, max: worst sum: 19641
-  Stripe 4:
-    Column 0: count: 5000 hasNull: false
-    Column 1: count: 5000 hasNull: false min: -2146658006 max: 2145520931 sum: 8533549236
-    Column 2: count: 5000 hasNull: false min: -9222758097219661129 max: 9221043130193737406
-    Column 3: count: 5000 hasNull: false min: Darkness, max: worst sum: 19470
-  Stripe 5:
-    Column 0: count: 1000 hasNull: false
-    Column 1: count: 1000 hasNull: false min: -2146245500 max: 2146378640 sum: 51299706363
-    Column 2: count: 1000 hasNull: false min: -9208193203370316142 max: 9218567213558056476
-    Column 3: count: 1000 hasNull: false min: Darkness, max: worst sum: 3866
-
-File Statistics:
-  Column 0: count: 21000 hasNull: false
-  Column 1: count: 21000 hasNull: false min: -2146993718 max: 2147378179 sum: 193017464403
-  Column 2: count: 21000 hasNull: false min: -9222758097219661129 max: 9222303228623055266
-  Column 3: count: 21000 hasNull: false min: Darkness, max: worst sum: 81761
-
-Stripes:
-  Stripe: offset: 3 data: 63786 rows: 5000 tail: 79 index: 439
-    Stream: column 0 section ROW_INDEX start: 3 length 17
-    Stream: column 1 section ROW_INDEX start: 20 length 166
-    Stream: column 2 section ROW_INDEX start: 186 length 169
-    Stream: column 3 section ROW_INDEX start: 355 length 87
-    Stream: column 1 section DATA start: 442 length 20035
-    Stream: column 2 section DATA start: 20477 length 40050
-    Stream: column 3 section DATA start: 60527 length 3543
-    Stream: column 3 section LENGTH start: 64070 length 25
-    Stream: column 3 section DICTIONARY_DATA start: 64095 length 133
-    Encoding column 0: DIRECT
-    Encoding column 1: DIRECT_V2
-    Encoding column 2: DIRECT_V2
-    Encoding column 3: DICTIONARY_V2[35]
-    Row group indices for column 1:
-      Entry 0: count: 1000 hasNull: false min: -2145365268 max: 2135491313 sum: 7521792925 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: -2139452528 max: 2147223299 sum: -12923774313 positions: 0,2050,488
-      Entry 2: count: 1000 hasNull: false min: -2142420586 max: 2143898386 sum: -25521983511 positions: 4099,2054,464
-      Entry 3: count: 1000 hasNull: false min: -2137233441 max: 2144267163 sum: 40993386199 positions: 8198,2058,440
-      Entry 4: count: 1000 hasNull: false min: -2146021688 max: 2146838901 sum: -9553628474 positions: 12297,2062,416
-    Row group indices for column 2:
-      Entry 0: count: 1000 hasNull: false min: -9200577545527640566 max: 9175500305011173751 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: -9203618157670445774 max: 9208123824411178101 positions: 4099,2,488
-      Entry 2: count: 1000 hasNull: false min: -9218592812243954469 max: 9221351515892923972 positions: 12297,6,464
-      Entry 3: count: 1000 hasNull: false min: -9206585617947511272 max: 9167703224425685487 positions: 20495,10,440
-      Entry 4: count: 1000 hasNull: false min: -9206645795733282496 max: 9221614132680747961 positions: 28693,14,416
-    Row group indices for column 3:
-      Entry 0: count: 1000 hasNull: false min: Darkness, max: worst sum: 3862 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: Darkness, max: worst sum: 3884 positions: 0,659,149
-      Entry 2: count: 1000 hasNull: false min: Darkness, max: worst sum: 3893 positions: 0,1531,3
-      Entry 3: count: 1000 hasNull: false min: Darkness, max: worst sum: 3798 positions: 0,2281,32
-      Entry 4: count: 1000 hasNull: false min: Darkness, max: worst sum: 3843 positions: 0,3033,45
-  Stripe: offset: 64307 data: 63775 rows: 5000 tail: 79 index: 432
-    Stream: column 0 section ROW_INDEX start: 64307 length 17
-    Stream: column 1 section ROW_INDEX start: 64324 length 164
-    Stream: column 2 section ROW_INDEX start: 64488 length 168
-    Stream: column 3 section ROW_INDEX start: 64656 length 83
-    Stream: column 1 section DATA start: 64739 length 20035
-    Stream: column 2 section DATA start: 84774 length 40050
-    Stream: column 3 section DATA start: 124824 length 3532
-    Stream: column 3 section LENGTH start: 128356 length 25
-    Stream: column 3 section DICTIONARY_DATA start: 128381 length 133
-    Encoding column 0: DIRECT
-    Encoding column 1: DIRECT_V2
-    Encoding column 2: DIRECT_V2
-    Encoding column 3: DICTIONARY_V2[35]
-    Row group indices for column 1:
-      Entry 0: count: 1000 hasNull: false min: -2143799121 max: 2145249879 sum: -6966266181 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: -2146733128 max: 2147001622 sum: -35930106333 positions: 0,2050,488
-      Entry 2: count: 1000 hasNull: false min: -2144302712 max: 2146299933 sum: 6944230435 positions: 4099,2054,464
-      Entry 3: count: 1000 hasNull: false min: -2145172948 max: 2144335014 sum: -29624404959 positions: 8198,2058,440
-      Entry 4: count: 1000 hasNull: false min: -2146428427 max: 2144067253 sum: 65584220465 positions: 12297,2062,416
-    Row group indices for column 2:
-      Entry 0: count: 1000 hasNull: false min: -9218450653857701562 max: 9189819526332228512 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: -9220818777591257749 max: 9178821722829648113 positions: 4099,2,488
-      Entry 2: count: 1000 hasNull: false min: -9220031433030423388 max: 9210838931786956852 positions: 12297,6,464
-      Entry 3: count: 1000 hasNull: false min: -9208195729739635607 max: 9222259462014003839 positions: 20495,10,440
-      Entry 4: count: 1000 hasNull: false min: -9174271499932339698 max: 9212277876771676916 positions: 28693,14,416
-    Row group indices for column 3:
-      Entry 0: count: 1000 hasNull: false min: Darkness, max: worst sum: 3923 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: Darkness, max: worst sum: 3869 positions: 0,761,12
-      Entry 2: count: 1000 hasNull: false min: Darkness, max: worst sum: 3817 positions: 0,1472,70
-      Entry 3: count: 1000 hasNull: false min: Darkness, max: worst sum: 3931 positions: 0,2250,43
-      Entry 4: count: 1000 hasNull: false min: Darkness, max: worst sum: 3964 positions: 0,2978,88
-  Stripe: offset: 128593 data: 63787 rows: 5000 tail: 79 index: 438
-    Stream: column 0 section ROW_INDEX start: 128593 length 17
-    Stream: column 1 section ROW_INDEX start: 128610 length 163
-    Stream: column 2 section ROW_INDEX start: 128773 length 168
-    Stream: column 3 section ROW_INDEX start: 128941 length 90
-    Stream: column 1 section DATA start: 129031 length 20035
-    Stream: column 2 section DATA start: 149066 length 40050
-    Stream: column 3 section DATA start: 189116 length 3544
-    Stream: column 3 section LENGTH start: 192660 length 25
-    Stream: column 3 section DICTIONARY_DATA start: 192685 length 133
-    Encoding column 0: DIRECT
-    Encoding column 1: DIRECT_V2
-    Encoding column 2: DIRECT_V2
-    Encoding column 3: DICTIONARY_V2[35]
-    Row group indices for column 1:
-      Entry 0: count: 1000 hasNull: false min: -2146993718 max: 2144179881 sum: -7829543271 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: -2144095505 max: 2144883384 sum: 51623839692 positions: 0,2050,488
-      Entry 2: count: 1000 hasNull: false min: -2144113995 max: 2143773575 sum: 56574412741 positions: 4099,2054,464
-      Entry 3: count: 1000 hasNull: false min: -2146954065 max: 2146794873 sum: 4336083432 positions: 8198,2058,440
-      Entry 4: count: 1000 hasNull: false min: -2135511523 max: 2147378179 sum: 27955949957 positions: 12297,2062,416
-    Row group indices for column 2:
-      Entry 0: count: 1000 hasNull: false min: -9211978436552246208 max: 9179058898902097152 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: -9195645160817780503 max: 9189147759444307708 positions: 4099,2,488
-      Entry 2: count: 1000 hasNull: false min: -9202888157616520823 max: 9193561362676960747 positions: 12297,6,464
-      Entry 3: count: 1000 hasNull: false min: -9216318198067839390 max: 9221286760675829363 positions: 20495,10,440
-      Entry 4: count: 1000 hasNull: false min: -9218342074710552826 max: 9222303228623055266 positions: 28693,14,416
-    Row group indices for column 3:
-      Entry 0: count: 1000 hasNull: false min: Darkness, max: worst sum: 3817 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: Darkness, max: worst sum: 4008 positions: 0,634,174
-      Entry 2: count: 1000 hasNull: false min: Darkness, max: worst sum: 3999 positions: 0,1469,69
-      Entry 3: count: 1000 hasNull: false min: Darkness, max: worst sum: 3817 positions: 0,2133,194
-      Entry 4: count: 1000 hasNull: false min: Darkness, max: worst sum: 4000 positions: 0,3005,43
-  Stripe: offset: 192897 data: 63817 rows: 5000 tail: 79 index: 440
-    Stream: column 0 section ROW_INDEX start: 192897 length 17
-    Stream: column 1 section ROW_INDEX start: 192914 length 165
-    Stream: column 2 section ROW_INDEX start: 193079 length 167
-    Stream: column 3 section ROW_INDEX start: 193246 length 91
-    Stream: column 1 section DATA start: 193337 length 20035
-    Stream: column 2 section DATA start: 213372 length 40050
-    Stream: column 3 section DATA start: 253422 length 3574
-    Stream: column 3 section LENGTH start: 256996 length 25
-    Stream: column 3 section DICTIONARY_DATA start: 257021 length 133
-    Encoding column 0: DIRECT
-    Encoding column 1: DIRECT_V2
-    Encoding column 2: DIRECT_V2
-    Encoding column 3: DICTIONARY_V2[35]
-    Row group indices for column 1:
-      Entry 0: count: 1000 hasNull: false min: -2141355639 max: 2145520931 sum: 2726719912 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: -2138324170 max: 2140167376 sum: -23606674002 positions: 0,2050,488
-      Entry 2: count: 1000 hasNull: false min: -2146658006 max: 2144329742 sum: -41530109703 positions: 4099,2054,464
-      Entry 3: count: 1000 hasNull: false min: -2144207593 max: 2139456355 sum: 13559842458 positions: 8198,2058,440
-      Entry 4: count: 1000 hasNull: false min: -2145744719 max: 2145417153 sum: 57383770571 positions: 12297,2062,416
-    Row group indices for column 2:
-      Entry 0: count: 1000 hasNull: false min: -9222731174895935707 max: 9214167447015056056 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: -9222758097219661129 max: 9221043130193737406 positions: 4099,2,488
-      Entry 2: count: 1000 hasNull: false min: -9174483776261243438 max: 9208134757538374043 positions: 12297,6,464
-      Entry 3: count: 1000 hasNull: false min: -9174329712613510612 max: 9197412874152820822 positions: 20495,10,440
-      Entry 4: count: 1000 hasNull: false min: -9221162005892422758 max: 9220625004936875965 positions: 28693,14,416
-    Row group indices for column 3:
-      Entry 0: count: 1000 hasNull: false min: Darkness, max: worst sum: 3901 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: Darkness, max: worst sum: 3900 positions: 0,431,431
-      Entry 2: count: 1000 hasNull: false min: Darkness, max: worst sum: 3909 positions: 0,1485,52
-      Entry 3: count: 1000 hasNull: false min: Darkness, max: worst sum: 3947 positions: 0,2196,104
-      Entry 4: count: 1000 hasNull: false min: Darkness, max: worst sum: 3813 positions: 0,2934,131
-  Stripe: offset: 257233 data: 12943 rows: 1000 tail: 71 index: 131
-    Stream: column 0 section ROW_INDEX start: 257233 length 12
-    Stream: column 1 section ROW_INDEX start: 257245 length 38
-    Stream: column 2 section ROW_INDEX start: 257283 length 41
-    Stream: column 3 section ROW_INDEX start: 257324 length 40
-    Stream: column 1 section DATA start: 257364 length 4007
-    Stream: column 2 section DATA start: 261371 length 8010
-    Stream: column 3 section DATA start: 269381 length 768
-    Stream: column 3 section LENGTH start: 270149 length 25
-    Stream: column 3 section DICTIONARY_DATA start: 270174 length 133
-    Encoding column 0: DIRECT
-    Encoding column 1: DIRECT_V2
-    Encoding column 2: DIRECT_V2
-    Encoding column 3: DICTIONARY_V2[35]
-    Row group indices for column 1:
-      Entry 0: count: 1000 hasNull: false min: -2146245500 max: 2146378640 sum: 51299706363 positions: 0,0,0
-    Row group indices for column 2:
-      Entry 0: count: 1000 hasNull: false min: -9208193203370316142 max: 9218567213558056476 positions: 0,0,0
-    Row group indices for column 3:
-      Entry 0: count: 1000 hasNull: false min: Darkness, max: worst sum: 3866 positions: 0,0,0
-
-File length: 270923 bytes
-Padding length: 0 bytes
-Padding ratio: 0%
-________________________________________________________________________________________________________________________
-

http://git-wip-us.apache.org/repos/asf/orc/blob/b2f84ce4/java/core/src/test/resources/orc-file-has-null.out
----------------------------------------------------------------------
diff --git a/java/core/src/test/resources/orc-file-has-null.out b/java/core/src/test/resources/orc-file-has-null.out
deleted file mode 100644
index e98a73f..0000000
--- a/java/core/src/test/resources/orc-file-has-null.out
+++ /dev/null
@@ -1,112 +0,0 @@
-Structure for TestOrcFile.testHasNull.orc
-File Version: 0.12 with HIVE_13083
-Rows: 20000
-Compression: ZLIB
-Compression size: 4096
-Type: struct<bytes1:binary,string1:string>
-
-Stripe Statistics:
-  Stripe 1:
-    Column 0: count: 5000 hasNull: false
-    Column 1: count: 5000 hasNull: false sum: 15000
-    Column 2: count: 2000 hasNull: true min: RG1 max: RG3 sum: 6000
-  Stripe 2:
-    Column 0: count: 5000 hasNull: false
-    Column 1: count: 5000 hasNull: false sum: 15000
-    Column 2: count: 0 hasNull: true
-  Stripe 3:
-    Column 0: count: 5000 hasNull: false
-    Column 1: count: 5000 hasNull: false sum: 15000
-    Column 2: count: 5000 hasNull: false min: STRIPE-3 max: STRIPE-3 sum: 40000
-  Stripe 4:
-    Column 0: count: 5000 hasNull: false
-    Column 1: count: 5000 hasNull: false sum: 15000
-    Column 2: count: 0 hasNull: true
-
-File Statistics:
-  Column 0: count: 20000 hasNull: false
-  Column 1: count: 20000 hasNull: false sum: 60000
-  Column 2: count: 7000 hasNull: true min: RG1 max: STRIPE-3 sum: 46000
-
-Stripes:
-  Stripe: offset: 3 data: 220 rows: 5000 tail: 65 index: 154
-    Stream: column 0 section ROW_INDEX start: 3 length 17
-    Stream: column 1 section ROW_INDEX start: 20 length 60
-    Stream: column 2 section ROW_INDEX start: 80 length 77
-    Stream: column 1 section DATA start: 157 length 159
-    Stream: column 1 section LENGTH start: 316 length 15
-    Stream: column 2 section PRESENT start: 331 length 13
-    Stream: column 2 section DATA start: 344 length 18
-    Stream: column 2 section LENGTH start: 362 length 6
-    Stream: column 2 section DICTIONARY_DATA start: 368 length 9
-    Encoding column 0: DIRECT
-    Encoding column 1: DIRECT_V2
-    Encoding column 2: DICTIONARY_V2[2]
-    Row group indices for column 2:
-      Entry 0: count: 1000 hasNull: false min: RG1 max: RG1 sum: 3000 positions: 0,0,0,0,0,0,0
-      Entry 1: count: 0 hasNull: true positions: 0,0,125,0,0,4,488
-      Entry 2: count: 1000 hasNull: false min: RG3 max: RG3 sum: 3000 positions: 0,2,125,0,0,4,488
-      Entry 3: count: 0 hasNull: true positions: 0,4,125,0,0,12,488
-      Entry 4: count: 0 hasNull: true positions: 0,6,125,0,0,12,488
-  Stripe: offset: 442 data: 185 rows: 5000 tail: 64 index: 116
-    Stream: column 0 section ROW_INDEX start: 442 length 17
-    Stream: column 1 section ROW_INDEX start: 459 length 60
-    Stream: column 2 section ROW_INDEX start: 519 length 39
-    Stream: column 1 section DATA start: 558 length 159
-    Stream: column 1 section LENGTH start: 717 length 15
-    Stream: column 2 section PRESENT start: 732 length 11
-    Stream: column 2 section DATA start: 743 length 0
-    Stream: column 2 section LENGTH start: 743 length 0
-    Stream: column 2 section DICTIONARY_DATA start: 743 length 0
-    Encoding column 0: DIRECT
-    Encoding column 1: DIRECT_V2
-    Encoding column 2: DICTIONARY_V2[0]
-    Row group indices for column 2:
-      Entry 0: count: 0 hasNull: true positions: 0,0,0,0,0,0,0
-      Entry 1: count: 0 hasNull: true positions: 0,0,125,0,0,0,0
-      Entry 2: count: 0 hasNull: true positions: 0,2,120,0,0,0,0
-      Entry 3: count: 0 hasNull: true positions: 0,4,115,0,0,0,0
-      Entry 4: count: 0 hasNull: true positions: 0,6,110,0,0,0,0
-  Stripe: offset: 807 data: 206 rows: 5000 tail: 60 index: 137
-    Stream: column 0 section ROW_INDEX start: 807 length 17
-    Stream: column 1 section ROW_INDEX start: 824 length 60
-    Stream: column 2 section ROW_INDEX start: 884 length 60
-    Stream: column 1 section DATA start: 944 length 159
-    Stream: column 1 section LENGTH start: 1103 length 15
-    Stream: column 2 section DATA start: 1118 length 15
-    Stream: column 2 section LENGTH start: 1133 length 6
-    Stream: column 2 section DICTIONARY_DATA start: 1139 length 11
-    Encoding column 0: DIRECT
-    Encoding column 1: DIRECT_V2
-    Encoding column 2: DICTIONARY_V2[1]
-    Row group indices for column 2:
-      Entry 0: count: 1000 hasNull: false min: STRIPE-3 max: STRIPE-3 sum: 8000 positions: 0,0,0
-      Entry 1: count: 1000 hasNull: false min: STRIPE-3 max: STRIPE-3 sum: 8000 positions: 0,4,488
-      Entry 2: count: 1000 hasNull: false min: STRIPE-3 max: STRIPE-3 sum: 8000 positions: 0,12,464
-      Entry 3: count: 1000 hasNull: false min: STRIPE-3 max: STRIPE-3 sum: 8000 positions: 0,20,440
-      Entry 4: count: 1000 hasNull: false min: STRIPE-3 max: STRIPE-3 sum: 8000 positions: 0,28,416
-  Stripe: offset: 1210 data: 185 rows: 5000 tail: 64 index: 116
-    Stream: column 0 section ROW_INDEX start: 1210 length 17
-    Stream: column 1 section ROW_INDEX start: 1227 length 60
-    Stream: column 2 section ROW_INDEX start: 1287 length 39
-    Stream: column 1 section DATA start: 1326 length 159
-    Stream: column 1 section LENGTH start: 1485 length 15
-    Stream: column 2 section PRESENT start: 1500 length 11
-    Stream: column 2 section DATA start: 1511 length 0
-    Stream: column 2 section LENGTH start: 1511 length 0
-    Stream: column 2 section DICTIONARY_DATA start: 1511 length 0
-    Encoding column 0: DIRECT
-    Encoding column 1: DIRECT_V2
-    Encoding column 2: DICTIONARY_V2[0]
-    Row group indices for column 2:
-      Entry 0: count: 0 hasNull: true positions: 0,0,0,0,0,0,0
-      Entry 1: count: 0 hasNull: true positions: 0,0,125,0,0,0,0
-      Entry 2: count: 0 hasNull: true positions: 0,2,120,0,0,0,0
-      Entry 3: count: 0 hasNull: true positions: 0,4,115,0,0,0,0
-      Entry 4: count: 0 hasNull: true positions: 0,6,110,0,0,0,0
-
-File length: 1823 bytes
-Padding length: 0 bytes
-Padding ratio: 0%
-________________________________________________________________________________________________________________________
-

http://git-wip-us.apache.org/repos/asf/orc/blob/b2f84ce4/java/mapreduce/pom.xml
----------------------------------------------------------------------
diff --git a/java/mapreduce/pom.xml b/java/mapreduce/pom.xml
index 62f64d4..a12080e 100644
--- a/java/mapreduce/pom.xml
+++ b/java/mapreduce/pom.xml
@@ -36,7 +36,6 @@
     <dependency>
       <groupId>org.apache.orc</groupId>
       <artifactId>orc-core</artifactId>
-      <version>1.2.0-SNAPSHOT</version>
     </dependency>
 
     <!-- inter-project -->

http://git-wip-us.apache.org/repos/asf/orc/blob/b2f84ce4/java/pom.xml
----------------------------------------------------------------------
diff --git a/java/pom.xml b/java/pom.xml
index 01fdf04..8b42fe5 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -60,6 +60,7 @@
     <module>storage-api</module>
     <module>core</module>
     <module>mapreduce</module>
+    <module>tools</module>
   </modules>
 
   <properties>
@@ -206,12 +207,25 @@
 
   <dependencyManagement>
     <dependencies>
+      <!-- intra-project depedencies -->
+      <dependency>
+        <groupId>org.apache.orc</groupId>
+        <artifactId>orc-core</artifactId>
+        <version>1.2.0-SNAPSHOT</version>
+      </dependency>
+
+      <!-- inter-project depedencies -->
       <dependency>
         <groupId>com.esotericsoftware</groupId>
         <artifactId>kryo-shaded</artifactId>
         <version>3.0.3</version>
       </dependency>
       <dependency>
+        <groupId>com.google.guava</groupId>
+        <artifactId>guava</artifactId>
+        <version>11.0.2</version>
+      </dependency>
+      <dependency>
         <groupId>com.google.protobuf</groupId>
         <artifactId>protobuf-java</artifactId>
         <version>2.5.0</version>
@@ -237,10 +251,6 @@
         <version>${hadoop.version}</version>
         <exclusions>
           <exclusion>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-          </exclusion>
-          <exclusion>
             <groupId>com.google.code.findbugs</groupId>
             <artifactId>jsr305</artifactId>
           </exclusion>
@@ -272,10 +282,6 @@
         <version>${hadoop.version}</version>
         <exclusions>
           <exclusion>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-          </exclusion>
-          <exclusion>
             <groupId>com.google.code.findbugs</groupId>
             <artifactId>jsr305</artifactId>
           </exclusion>
@@ -307,10 +313,6 @@
         <version>${hadoop.version}</version>
         <exclusions>
           <exclusion>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-          </exclusion>
-          <exclusion>
             <groupId>com.google.code.findbugs</groupId>
             <artifactId>jsr305</artifactId>
           </exclusion>
@@ -359,12 +361,6 @@
 
       <!-- test inter-project -->
       <dependency>
-        <groupId>com.google.guava</groupId>
-        <artifactId>guava</artifactId>
-        <version>11.0.2</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.11</version>

http://git-wip-us.apache.org/repos/asf/orc/blob/b2f84ce4/java/storage-api/pom.xml
----------------------------------------------------------------------
diff --git a/java/storage-api/pom.xml b/java/storage-api/pom.xml
index fae7e9a..5214923 100644
--- a/java/storage-api/pom.xml
+++ b/java/storage-api/pom.xml
@@ -20,6 +20,7 @@
     <groupId>org.apache</groupId>
     <artifactId>apache</artifactId>
     <version>18</version>
+    <relativePath></relativePath>
   </parent>
 
   <groupId>org.apache.hive</groupId>

http://git-wip-us.apache.org/repos/asf/orc/blob/b2f84ce4/java/tools/pom.xml
----------------------------------------------------------------------
diff --git a/java/tools/pom.xml b/java/tools/pom.xml
new file mode 100644
index 0000000..96ad974
--- /dev/null
+++ b/java/tools/pom.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.orc</groupId>
+    <artifactId>orc</artifactId>
+    <version>1.2.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+
+  <artifactId>orc-tools</artifactId>
+  <packaging>jar</packaging>
+  <name>ORC Tools</name>
+  <description>
+
+  </description>
+
+  <dependencies>
+    <!-- intra-project -->
+    <dependency>
+      <groupId>org.apache.orc</groupId>
+      <artifactId>orc-core</artifactId>
+    </dependency>
+
+    <!-- inter-project -->
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-cli</groupId>
+      <artifactId>commons-cli</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-hdfs</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hive</groupId>
+      <artifactId>hive-storage-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.jettison</groupId>
+      <artifactId>jettison</artifactId>
+    </dependency>
+
+    <!-- test inter-project -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <sourceDirectory>${basedir}/src/java</sourceDirectory>
+    <testSourceDirectory>${basedir}/src/test</testSourceDirectory>
+    <testResources>
+      <testResource>
+        <directory>${basedir}/src/test/resources</directory>
+      </testResource>
+    </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifest>
+              <mainClass>org.apache.orc.tools.Driver</mainClass>
+            </manifest>
+          </archive>
+	  <descriptors>
+            <descriptor>src/assembly/uber.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <executions>
+          <execution>
+            <id>make-assembly</id> <!-- this is used for inheritance merges -->
+            <phase>package</phase> <!-- bind to the packaging phase -->
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+  <profiles>
+    <profile>
+      <id>cmake</id>
+      <build>
+        <directory>${build.dir}/tools</directory>
+      </build>
+    </profile>
+  </profiles>
+</project>

http://git-wip-us.apache.org/repos/asf/orc/blob/b2f84ce4/java/tools/src/assembly/uber.xml
----------------------------------------------------------------------
diff --git a/java/tools/src/assembly/uber.xml b/java/tools/src/assembly/uber.xml
new file mode 100644
index 0000000..0a88e85
--- /dev/null
+++ b/java/tools/src/assembly/uber.xml
@@ -0,0 +1,18 @@
+<assembly>
+  <id>uber</id>
+  <formats>
+    <format>jar</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <dependencySets>
+    <dependencySet>
+      <unpack>true</unpack>
+      <scope>runtime</scope>
+    </dependencySet>
+  </dependencySets>
+  <fileSets>
+    <fileSet>
+      <directory>${project.build.outputDirectory}</directory>
+    </fileSet>
+  </fileSets>
+</assembly>

http://git-wip-us.apache.org/repos/asf/orc/blob/b2f84ce4/java/tools/src/java/org/apache/orc/tools/Driver.java
----------------------------------------------------------------------
diff --git a/java/tools/src/java/org/apache/orc/tools/Driver.java b/java/tools/src/java/org/apache/orc/tools/Driver.java
new file mode 100644
index 0000000..6e02492
--- /dev/null
+++ b/java/tools/src/java/org/apache/orc/tools/Driver.java
@@ -0,0 +1,107 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.orc.tools;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.GnuParser;
+import org.apache.commons.cli.OptionBuilder;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+import org.apache.hadoop.conf.Configuration;
+
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * Driver program for the java ORC utilities.
+ */
+public class Driver {
+
+  @SuppressWarnings("static-access")
+  static Options createOptions() {
+    Options result = new Options();
+
+    result.addOption(OptionBuilder
+         .withLongOpt("help")
+         .withDescription("Print help message")
+         .create('h'));
+
+    result.addOption(OptionBuilder
+        .withLongOpt("define")
+        .withDescription("Set a configuration property")
+        .hasArg()
+        .withValueSeparator()
+        .create('D'));
+    return result;
+  }
+
+  static class DriverOptions {
+    final CommandLine genericOptions;
+    final String command;
+    final String[] commandArgs;
+
+    DriverOptions(String[] args) throws ParseException {
+      genericOptions = new GnuParser().parse(createOptions(), args, true);
+      String[] unprocessed = genericOptions.getArgs();
+      if (unprocessed.length == 0) {
+        command = null;
+        commandArgs = new String[0];
+      } else {
+        command = unprocessed[0];
+        if (genericOptions.hasOption('h')) {
+          commandArgs = new String[]{"-h"};
+        } else {
+          commandArgs = new String[unprocessed.length - 1];
+          System.arraycopy(unprocessed, 1, commandArgs, 0, commandArgs.length);
+        }
+      }
+    }
+  }
+
+  public static void main(String[] args) throws Exception {
+    DriverOptions options = new DriverOptions(args);
+
+    if (options.command == null) {
+      System.err.println("ORC Java Tools");
+      System.err.println();
+      System.err.println("usage: java -jar orc-tools-*.jar [--help]" +
+          " [--define X=Y] <command> <args>");
+      System.err.println();
+      System.err.println("Commands:");
+      System.err.println("   meta - print the metadata about the ORC file");
+      System.err.println("   data - print the data from the ORC file");
+      System.err.println();
+      System.err.println("To get more help, provide -h to the command");
+      System.exit(1);
+    }
+    Configuration conf = new Configuration();
+    Properties confSettings = options.genericOptions.getOptionProperties("D");
+    for(Map.Entry pair: confSettings.entrySet()) {
+      conf.set(pair.getKey().toString(), pair.getValue().toString());
+    }
+    if ("meta".equals(options.command)) {
+      FileDump.main(conf, options.commandArgs);
+    } else if ("data".equals(options.command)) {
+      PrintData.main(conf, options.commandArgs);
+    } else {
+      System.err.println("Unknown subcommand: " + options.command);
+      System.exit(1);
+    }
+  }
+}