You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Rui Li (Jira)" <ji...@apache.org> on 2020/01/10 08:34:00 UTC

[jira] [Updated] (FLINK-15547) Support access to Hive avro table

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

Rui Li updated FLINK-15547:
---------------------------
    Description: 
Reading from a Hive avro table gets:
{noformat}
Caused by: java.lang.NoSuchMethodError: org.apache.avro.Schema$Field.<init>(Ljava/lang/String;Lorg/apache/avro/Schema;Ljava/lang/String;Lorg/codehaus/jackson/JsonNode;)V
        at org.apache.hadoop.hive.serde2.avro.TypeInfoToSchema.createAvroField(TypeInfoToSchema.java:76)
        at org.apache.hadoop.hive.serde2.avro.TypeInfoToSchema.convert(TypeInfoToSchema.java:61)
        at org.apache.hadoop.hive.serde2.avro.AvroSerDe.getSchemaFromCols(AvroSerDe.java:170)
        at org.apache.hadoop.hive.serde2.avro.AvroSerDe.initialize(AvroSerDe.java:114)
        at org.apache.hadoop.hive.serde2.avro.AvroSerDe.initialize(AvroSerDe.java:83)
        at org.apache.hadoop.hive.serde2.SerDeUtils.initializeSerDeWithoutErrorCheck(SerDeUtils.java:555)
        at org.apache.hadoop.hive.metastore.MetaStoreUtils.getDeserializer(MetaStoreUtils.java:446)
        at org.apache.hadoop.hive.metastore.MetaStoreUtils.getDeserializer(MetaStoreUtils.java:436)
        ... 48 more
{noformat}
Both {{hive-exec}} and {{flink-shaded-hadoop-2-uber}} have avro classes. And since {{org/codehaus/jackson/JsonNode}} is relocated in flink-shaded-hadoop-2-uber, the constructor of {{Schema$Field}} has a different signature in {{flink-shaded-hadoop-2-uber}}.

> Support access to Hive avro table
> ---------------------------------
>
>                 Key: FLINK-15547
>                 URL: https://issues.apache.org/jira/browse/FLINK-15547
>             Project: Flink
>          Issue Type: Task
>          Components: Connectors / Hive
>            Reporter: Rui Li
>            Priority: Major
>
> Reading from a Hive avro table gets:
> {noformat}
> Caused by: java.lang.NoSuchMethodError: org.apache.avro.Schema$Field.<init>(Ljava/lang/String;Lorg/apache/avro/Schema;Ljava/lang/String;Lorg/codehaus/jackson/JsonNode;)V
>         at org.apache.hadoop.hive.serde2.avro.TypeInfoToSchema.createAvroField(TypeInfoToSchema.java:76)
>         at org.apache.hadoop.hive.serde2.avro.TypeInfoToSchema.convert(TypeInfoToSchema.java:61)
>         at org.apache.hadoop.hive.serde2.avro.AvroSerDe.getSchemaFromCols(AvroSerDe.java:170)
>         at org.apache.hadoop.hive.serde2.avro.AvroSerDe.initialize(AvroSerDe.java:114)
>         at org.apache.hadoop.hive.serde2.avro.AvroSerDe.initialize(AvroSerDe.java:83)
>         at org.apache.hadoop.hive.serde2.SerDeUtils.initializeSerDeWithoutErrorCheck(SerDeUtils.java:555)
>         at org.apache.hadoop.hive.metastore.MetaStoreUtils.getDeserializer(MetaStoreUtils.java:446)
>         at org.apache.hadoop.hive.metastore.MetaStoreUtils.getDeserializer(MetaStoreUtils.java:436)
>         ... 48 more
> {noformat}
> Both {{hive-exec}} and {{flink-shaded-hadoop-2-uber}} have avro classes. And since {{org/codehaus/jackson/JsonNode}} is relocated in flink-shaded-hadoop-2-uber, the constructor of {{Schema$Field}} has a different signature in {{flink-shaded-hadoop-2-uber}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)