Perhaps a fourth option is a “bridge” JAR, to implement the original class by 
subclassing AbstractSerDe, unless the API has changed such that such a mapping 
cannot be done.

Regards,
Matt


> On Oct 25, 2017, at 7:31 PM, Owen O'Malley <[email protected]> wrote:
> 
> 
>> On Wed, Oct 25, 2017 at 3:20 PM, Stephen Sprague <[email protected]> wrote:
>> i see. interesting.  i think this breaks a ton of opensource Serde's we've 
>> all downloaded off the internet and have been using for years.  openx json 
>> serde and ibm xml serde come to mind. does this change render all these 
>> incompatible now with 2.3.0?   
> 
> Unfortunately, yes. With Hive 2.2.0, the SerDe class is still there. It was 
> removed in 2.3.0. I suspect the developer didn't realize there were plugins 
> that would break.
>  
>> 
>> I mean all i done in the past is download the jar file and put it in the lib 
>> (or auxlib) dir and i was good to go.  That clearly isn't going to fly 
>> anymore then. 
>> 
>> hmmm.  again i'm not a java weenie so rewriting java code isn't something i 
>> would be proficient at. But it sounds like from a devops standpoint there's 
>> no magic jar i can put in the class path to make these work?  that kinda is 
>> a deal-breaker to upgrade then.
> 
> Unfortunately, not. Looking at the change, the code now requires the user's 
> serde to implement AbstractSerDe. If it doesn't, it will break. 
> 
> Effectively, the choices seem to be:
> Change the plugin and recompile it.
> Upgrade to Hive 2.2 instead of 2.3.
> Make a case for reverting the change. I'm not sure what the original 
> motivation of the change was. It seems like it was effectively a clean up.
> .. Owen
> 
>> 
>> Am i interpreting this correctly?
>> 
>> On Wed, Oct 25, 2017 at 2:31 PM, Owen O'Malley <[email protected]> 
>> wrote:
>>> SerDe was removed by https://issues.apache.org/jira/browse/HIVE-15167
>>> 
>>> You should use AbstractSerDe instead.
>>> 
>>> .. Owen
>>> 
>>>> On Oct 25, 2017, at 2:18 PM, Stephen Sprague <[email protected]> wrote:
>>>> 
>>>> hey guys,
>>>> 
>>>> could be a dumb question but not being a java type of guy i'm not quite 
>>>> sure about it. I'm upgrading from 2.1.0 to 2.3.0 and encountering this 
>>>> error:
>>>> 
>>>> class not found: org/apache/hadoop/hive/serde2/SerDe
>>>> 
>>>> so in hive 2.1.0 i see it in this jar:
>>>> 
>>>> * hive-serde-2.1.0.jar
>>>> org/apache/hadoop/hive/serde2/SerDe.class
>>>> 
>>>> 
>>>> but in hive 2.3.0 i don't see it in hive-serde-2.3.0.jar.
>>>> 
>>>> 
>>>> so i ask where did it go in version 2.3.0?
>>>> 
>>>> thanks,
>>>> Stephen
>>> 
>> 
> 

Reply via email to