ogrodnek / csv-serde

Hive SerDe for CSV
Apache License 2.0
141 stars 80 forks source link

Insert Into throws AbstractMethodError #14

Open nmaillard opened 10 years ago

nmaillard commented 10 years ago

Hello

While using the csv serde in an insert overwrite call, the hive query fails with java.lang.AbstractMethodError: com.bizo.hive.serde.csv.CSVSerde.getSerDeStats()Lorg/apache/hadoop/hive/serde2/SerDeStats;

I have recompiled the csv-serde adding the @Override annotation on the getSerDeStats method and this solves the issue.

Another quick fix is to set: hive.stats.autogather to false as it is during the stats part of the serialisation that hive makes the mistaken code. in org.apache.hadoop.hive.ql.exec.FileSinkOperator.processOp

My config is CDH 4.6, hive 0.10 and java 1.7.0_21 I hope this helps someone.

boxerdog commented 10 years ago

I have no idea how you figured that out, but it did help me. I was running an insert overwrite that had absolutely no reason to fail, but it kept failing.

set hive.stats.autogather = false;

Adding that to my script saved the day. Go mystery! I wish the exception had something like "You can bypass this method by setting hive.stats.autogather to false". Instead it's got a pile of completely useless info.

katt0050 commented 8 years ago

Thank you. It worked!