hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Syam (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-17984) getMaxLength is not returning the previously set length in ORC file
Date Mon, 06 Nov 2017 03:54:00 GMT

     [ https://issues.apache.org/jira/browse/HIVE-17984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Syam updated HIVE-17984:
------------------------
    Description: 
getMaxLength is not returning the correct length for char/varchar datatypes.
I see that getMaxLength is returning 255 for CHAR type and 65535 for VARCHAR type.
When I checked the same file using orcfiledump utility, I could see the correct lengths.

Here is the snippet of the code:

 Reader _reader = OrcFile.createReader(new Path(_fileName),OrcFile.readerOptions(conf).filesystem(fs))
;
      TypeDescription metarec = _reader.getSchema() ;
      List <TypeDescription> cols = metarec.getChildren();
      List <String> colNames = metarec.getFieldNames();
      for (int i=0; i < cols.size(); i++)
      {
          TypeDescription fieldSchema = cols.get(i);

          switch (fieldSchema.getCategory())
          {
           case CHAR:
             header += "char(" + fieldSchema.getMaxLength() + ")" ;
             break;
           ----------			 
		   ----------
		   }
	  }

Please let me know your pointers please.

  was:
getMaxLength is not returning the correct length for char/varchar datatypes.
I see that getMaxLength is returning 255 for CHAR type and 65535 for VARCHAR type.
When I checked the same file using orcfiledump utility, I could see the correct lengths.

Here is the snippet the code:

 Reader _reader = OrcFile.createReader(new Path(_fileName),OrcFile.readerOptions(conf).filesystem(fs))
;
      TypeDescription metarec = _reader.getSchema() ;
      List <TypeDescription> cols = metarec.getChildren();
      List <String> colNames = metarec.getFieldNames();
      for (int i=0; i < cols.size(); i++)
      {
          TypeDescription fieldSchema = cols.get(i);

          switch (fieldSchema.getCategory())
          {
           case CHAR:
             header += "char(" + fieldSchema.getMaxLength() + ")" ;
             break;
           ----------			 
		   ----------
		   }
	  }

Please let me know your pointers please.


> getMaxLength is not returning the previously set length in ORC file
> -------------------------------------------------------------------
>
>                 Key: HIVE-17984
>                 URL: https://issues.apache.org/jira/browse/HIVE-17984
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive, ORC
>         Environment: tested it against hive-exec 2.1
>            Reporter: Syam
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> getMaxLength is not returning the correct length for char/varchar datatypes.
> I see that getMaxLength is returning 255 for CHAR type and 65535 for VARCHAR type.
> When I checked the same file using orcfiledump utility, I could see the correct lengths.
> Here is the snippet of the code:
>  Reader _reader = OrcFile.createReader(new Path(_fileName),OrcFile.readerOptions(conf).filesystem(fs))
;
>       TypeDescription metarec = _reader.getSchema() ;
>       List <TypeDescription> cols = metarec.getChildren();
>       List <String> colNames = metarec.getFieldNames();
>       for (int i=0; i < cols.size(); i++)
>       {
>           TypeDescription fieldSchema = cols.get(i);
>           switch (fieldSchema.getCategory())
>           {
>            case CHAR:
>              header += "char(" + fieldSchema.getMaxLength() + ")" ;
>              break;
>            ----------			 
> 		   ----------
> 		   }
> 	  }
> Please let me know your pointers please.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message