1

I am able to execute the below query successfully from HIVE prompt.

SELECT * FROM DB1.TABLE1;

But whenever I am trying to execute any other queries like below:

SELECT COL1 FROM DB1.TABLE1 WHERE PARTITION_COL = 201211; 

java.io.IOException: java.io.IOException: java.lang.NullPointerException
    at org.apache.hadoop.hive.io.HiveIOExceptionHandlerChain.handleRecordReaderNextException(HiveIOExceptionHandlerChain.java:121)
    at org.apache.hadoop.hive.io.HiveIOExceptionHandlerUtil.handleRecordReaderNextException(HiveIOExceptionHandlerUtil.java:77)
    at org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileRecordReader.doNextWithExceptionHandler(HadoopShimsSecure.java:304)
    at org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileRecordReader.next(HadoopShimsSecure.java:220)
    at org.apache.hadoop.mapred.MapTask$TrackedRecordReader.moveToNext(MapTask.java:234)
    at org.apache.hadoop.mapred.MapTask$TrackedRecordReader.next(MapTask.java:214)
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:48)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:434)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
    at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
    at java.security.AccessController.doPrivileged(AccessController.java:366)
    at javax.security.auth.Subject.doAs(Subject.java:572)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1502)
    at org.apache.hadoop.mapred.Child.main(Child.java:249)
Caused by: java.io.IOException: java.lang.NullPointerException
    at org.apache.hadoop.hive.io.HiveIOExceptionHandlerChain.handleRecordReaderNextException(HiveIOExceptionHandlerChain.java:121)
    at org.apache.hadoop.hive.io.HiveIOExceptionHandlerUtil.handleRecordReaderNextException(HiveIOExceptionHandlerUtil.java:77)
    at org.apache.hadoop.hive.ql.io.HiveContextAwareRecordReader.doNext(HiveContextAwareRecordReader.java:344)
    at org.apache.hadoop.hive.ql.io.CombineHiveRecordReader.doNext(CombineHiveRecordReader.java:101)
    at org.apache.hadoop.hive.ql.io.CombineHiveRecordReader.doNext(CombineHiveRecordReader.java:41)
    at org.apache.hadoop.hive.ql.io.HiveContextAwareRecordReader.next(HiveContextAwareRecordReader.java:122)
    at org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileRecordReader.doNextWithExceptionHandler(HadoopShimsSecure.java:302)
    ... 11 more
Caused by: java.lang.NullPointerException
    at parquet.hive.MapredParquetInputFormat$RecordReaderWrapper.next(MapredParquetInputFormat.java:303)
    at parquet.hive.MapredParquetInputFormat$RecordReaderWrapper.next(MapredParquetInputFormat.java:199)
    at org.apache.hadoop.hive.ql.io.HiveContextAwareRecordReader.doNext(HiveContextAwareRecordReader.java:339)
    ... 15 more

The table is created in IBM BigSQL environment using the below DDL statement.

CREATE HADOOP TABLE DB1.TABLE1
(
 COL1 BIGINT NOT NULL,
 COL2 INTEGER NOT NULL,
 COL3 INTEGER NOT NULL,
 COL4 VARCHAR(12096),
 COL5 VARCHAR(12096),
 COL6 VARCHAR(510),
 COL7 VARCHAR(510),
 COL8 VARCHAR(6048),
 COL9 VARCHAR(32)
)
PARTITIONED BY (PARTITION_COL INTEGER)
STORED AS PARQUETFILE;
Koushik Chandra
  • 1,565
  • 12
  • 37
  • 73
  • have u tried with `SELECT COL1 FROM DB1.TABLE1 WHERE PARTITION_COL = '201211'; ` where partitin column is mention in single quates.... – Deb Aug 11 '15 at 05:59
  • Same null pointer exception with partition column in single quotes. `SELECT COL1 FROM DB1.TABLE1 WHERE PARTITION_COL = '201211'` – Koushik Chandra Aug 11 '15 at 07:03
  • On that case Suspect the Column Data is having some issue, Normal Case the NULL Pointer Exception will occured with the Data Type dnt match between Value of Query and Value which present, have you tried with some sample data. also as you have mention the Partition Col is INTEGER, where I belive if you could alter the data type with BIGINT, and then try the query. [Link For Reference](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-IntegralTypes(TINYINT,SMALLINT,INT,BIGINT)) – Deb Aug 12 '15 at 05:53
  • I have selected only one row using the SQL `SELECT COL1 FROM DB1.TABLE1 WHERE PARTITION_COL = AND SUBSTR(COL1,1,8) IN () AND COL2 = AND COL3 = ;` This select returned data successfully – Koushik Chandra Aug 12 '15 at 15:33
  • Next I have created a one column table in BIGSQL `CREATE HADOOP TABLE NEW1 ( COL1 BIGINT ) STORED AS PARQUETFILE;` – Koushik Chandra Aug 12 '15 at 15:34
  • In the next step tried to insert `INSERT INTO TABLE NEW1 SELECT COL1 FROM DB1.TABLE1 WHERE PARTITION_COL = AND SUBSTR(COL1,1,8) IN () AND COL2 = AND COL3 = ;` but it failed with same NULL POINTER EXCEPTION – Koushik Chandra Aug 12 '15 at 15:35

0 Answers0