On Jul 26, 2012, at 9:05 PM, Travis Crawford wrote:

> Currently you can't use comments with custom serde's. Look into
> MetaStoreUtils.getFieldsFromDeserializer and you'll see "from
> deserializer" is hard-coded as the comment.

I found that. I also found in 
org.apache.hadoop.hive.ql.metadata.Table.getCols() that a decision is made to 
get the column info from either the table SD or the SerDe based on the result 
of SerDeUtils.shouldGetColsFromSerDe()... But I don't understand why.

Is there some way I can get the comment info from the metadata into the 
ObjectInspectors used by my SerDe? Would that be a bad idea?

> This is definitely an area for improvement.
> 
> Is your serde reporting columns, or do you have them stored in the
> metastore? If you "describe extended" your table do you see the
> comments stored in the metastore?

Indeed, the comments show up there, but not in the python script's output. 
Perhaps I shall look more closely at that code.

> 
> On Thu, Jul 26, 2012 at 4:17 PM, Stephen Scaffid
> <sscaff...@tripadvisor.com> wrote:
>> I have a custom SerDe we are using and it works well. However, we have one 
>> issue with it - an application used to allow users to maintain table and 
>> column descriptions does not work with it.
>> 
>> We store the descriptions as "comments" on the tables and columns, via a 
>> python script that simply executes the necessary HQL to set the comment, but 
>> then uses the Hive class to retrieve it from metadata.
>> 
>> The problem is that any comment we try to set ends up getting set to "from 
>> deserializer" on any table using our custom SerDe. This doesn't happen with 
>> tables using the LazySimpleSerDe.
>> 
>> Is there a way to make our SerDe work with comments?

Reply via email to