Java Code Examples for org.apache.hadoop.hive.ql.io.orc.Reader#getObjectInspector()
The following examples show how to use
org.apache.hadoop.hive.ql.io.orc.Reader#getObjectInspector() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: OrcTester.java From presto with Apache License 2.0 | 5 votes |
private static void assertFileContentsOrcHive( Type type, TempFile tempFile, Iterable<?> expectedValues) throws Exception { JobConf configuration = new JobConf(new Configuration(false)); configuration.set(READ_COLUMN_IDS_CONF_STR, "0"); configuration.setBoolean(READ_ALL_COLUMNS, false); Reader reader = OrcFile.createReader( new Path(tempFile.getFile().getAbsolutePath()), new ReaderOptions(configuration)); RecordReader recordReader = reader.rows(); StructObjectInspector rowInspector = (StructObjectInspector) reader.getObjectInspector(); StructField field = rowInspector.getStructFieldRef("test"); Iterator<?> iterator = expectedValues.iterator(); Object rowData = null; while (recordReader.hasNext()) { rowData = recordReader.next(rowData); Object expectedValue = iterator.next(); Object actualValue = rowInspector.getStructFieldData(rowData, field); actualValue = decodeRecordReaderValue(type, actualValue); assertColumnValueEquals(type, actualValue, expectedValue); } assertFalse(iterator.hasNext()); }
Example 2
Source File: OrcStorage.java From spork with Apache License 2.0 | 5 votes |
private TypeInfo getTypeInfoFromLocation(String location, Job job) throws IOException { FileSystem fs = FileSystem.get(job.getConfiguration()); Path path = getFirstFile(location, fs); if (path == null) { log.info("Cannot find any ORC files from " + location + ". Probably multiple load store in script."); return null; } Reader reader = OrcFile.createReader(fs, path); ObjectInspector oip = (ObjectInspector)reader.getObjectInspector(); return TypeInfoUtils.getTypeInfoFromObjectInspector(oip); }
Example 3
Source File: TestOrcStorage.java From spork with Apache License 2.0 | 5 votes |
private void verifyData(Path orcFile, Iterator<Tuple> iter, FileSystem fs, int expectedTotalRows) throws Exception { int expectedRows = 0; int actualRows = 0; Reader orcReader = OrcFile.createReader(fs, orcFile); ObjectInspector oi = orcReader.getObjectInspector(); StructObjectInspector soi = (StructObjectInspector) oi; RecordReader reader = orcReader.rows(null); Object row = null; while (reader.hasNext()) { row = reader.next(row); expectedRows++; List<?> orcRow = soi.getStructFieldsDataAsList(row); if (!iter.hasNext()) { break; } Tuple t = iter.next(); assertEquals(orcRow.size(), t.size()); actualRows++; for (int i = 0; i < orcRow.size(); i++) { Object expected = orcRow.get(i); Object actual = t.get(i); compareData(expected, actual); } } assertFalse(iter.hasNext()); assertEquals(expectedRows, actualRows); assertEquals(expectedTotalRows, actualRows); }
Example 4
Source File: TestOrcStorage.java From spork with Apache License 2.0 | 5 votes |
private void verifyData(Path orcFile, Path pigOrcFile, FileSystem fs, int expectedTotalRows) throws Exception { int expectedRows = 0; int actualRows = 0; Reader orcReaderExpected = OrcFile.createReader(fs, orcFile); StructObjectInspector soiExpected = (StructObjectInspector) orcReaderExpected.getObjectInspector(); Reader orcReaderActual = OrcFile.createReader(fs, orcFile); StructObjectInspector soiActual = (StructObjectInspector) orcReaderActual.getObjectInspector(); RecordReader readerExpected = orcReaderExpected.rows(null); Object expectedRow = null; RecordReader readerActual = orcReaderActual.rows(null); Object actualRow = null; while (readerExpected.hasNext()) { expectedRow = readerExpected.next(expectedRow); expectedRows++; List<?> orcRowExpected = soiExpected.getStructFieldsDataAsList(expectedRow); if (!readerActual.hasNext()) { break; } actualRow = readerActual.next(actualRow); actualRows++; List<?> orcRowActual = soiActual.getStructFieldsDataAsList(actualRow); assertEquals(orcRowExpected.size(), orcRowActual.size()); for (int i = 0; i < orcRowExpected.size(); i++) { assertEquals(orcRowExpected.get(i), orcRowActual.get(i)); } } assertFalse(readerActual.hasNext()); assertEquals(expectedRows, actualRows); assertEquals(expectedTotalRows, actualRows); readerExpected.close(); readerActual.close(); }