hadoop apache-spark nullpointerexception hive parquet

hadoop - Interoperabilidad de Chispa y Colmena



apache-spark nullpointerexception (0)

Estoy usando EMR-4.3.0, Spark 1.6.0, Hive 1.0.0.

Escribo una tabla como tal (pseudocódigo) -

val df = <a dataframe> df.registerTempTable("temptable") sqlContext.setConf("hive.exec.dynamic.partition.mode","true") sqlContext.sql("create external table exttable ( some columns ... ) partitioned by (partkey int) stored as parquet location ''s3://some.bucket''") sqlContext.sql("insert overwrite exttable partition(partkey) select columns from temptable")

La escritura funciona bien y puedo leer la tabla usando:

sqlContext.sql("select * from exttable")

Sin embargo, cuando trato de leer la tabla usando Hive como -

hive -e ''select * from exttable''

Hive arroja una NullPointerException con el siguiente rastro de pila. Cualquier ayuda apreciada! -

questTime = [0.008], ResponseProcessingTime = [0.295], HttpClientSendRequestTime = [0.313], 2016-05-19 03: 08: 02.537 ERROR [main ()]: CliDriver (SessionState.java:printError(833)) - Falló con la excepción java.io.IOException: java.lang.NullPointerException java.io.IOException: java.lang.NullPointerException en org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow (FetchOperator.java:663) en org.apache. hadoop.hive.ql.exec.FetchOperator.pushRow (FetchOperator.java:561) en org.apache.hadoop.hive.ql.exec.FetchTask.fetch (FetchTask.java:138) en org.apache.hadoop.hive. ql.Driver.getResults (Driver.java:1619) en org.apache.hadoop.hive.cli.CliDriver.processLocalCmd (CliDriver.java:221) en org.apache.hadoop.hive.cli.CliDriver.processCmd (CliDriver. java: 153) en org.apache.hadoop.hive.cli.CliDriver.processLine (CliDriver.java:364) en org.apache.hadoop.hive.cli.CliDriver.executeDriver (CliDriver.java:712) en org.apache .hadoop.hive.cli.CliDriver.run (CliDriver.java:631) en org.apache.hadoop.hive.cli.CliDriver.main (C liDriver.java:570) en sun.reflect.NativeMethodAccessorImpl.invoke0 (método nativo) en sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) en sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) en java .lang.reflect.Method.invoke (Method.java:606) en org.apache.hadoop.util.RunJar.run (RunJar.java:221) en org.apache.hadoop.util.RunJar.main (RunJar.java : 136) Causado por: java.lang.NullPointerException en parquet.format.converter.ParquetMetadataConverter.fromParquetStatistics (ParquetMetadataConverter.java:247) en parquet.format.converter.ParquetMetadataConverter.fromParquetMetadata (ParquetMetadataConverter.java:368) en parquet.format. convertidor.ParquetMetadataConverter.readParquetMetadata (ParquetMetadataConverter.java:346) en parquet.hadoop.ParquetFileReader.readFooter (ParquetFileReader.java:296) en parquet.hadoop.ParquetFileReader.readFooter (ParquetFileReader.java:254) en org.apache.hadoop.hive .ql.io.parquet.read.ParquetRecordReaderWrapp er.getSplit (ParquetRecordReaderWrapper.java:200) en org.apache.hadoop.hive.ql.io.parquet.read.ParquetRecordReaderWrapper. (ParquetRecordReaderWrapper.java:79) en org.apache.hadoop.hive.ql.io.parquet .read.ParquetRecordReaderWrapper. (ParquetRecordReaderWrapper.java:66) en org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat.getRecordReader (MapredParquetInputFormat.java:72) en org.apache.hadoop.hive.ql.exec. FetchOperator.getRecordReader (FetchOperator.java:498) en org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow (FetchOperator.java:588) ... 15 más

ACTUALIZACIÓN : después de jugar un poco, parece que los valores nulos en el desorden de datos se hinchan. ¿Cómo evito esto?