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?