程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了失败,但发生异常java.io.IOException:org.apache.avro.AvroTypeException:发现的很长,期望在配置单元中实现联合大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决失败,但发生异常java.io.IOException:org.apache.avro.AvroTypeException:发现的很长,期望在配置单元中实现联合?

开发过程中遇到失败,但发生异常java.io.IOException:org.apache.avro.AvroTypeException:发现的很长,期望在配置单元中实现联合的问题如何解决?下面主要结合日常开发的经验,给出你关于失败,但发生异常java.io.IOException:org.apache.avro.AvroTypeException:发现的很长,期望在配置单元中实现联合的解决方法建议,希望对你解决失败,但发生异常java.io.IOException:org.apache.avro.AvroTypeException:发现的很长,期望在配置单元中实现联合有所启发或帮助;

我正面临着完全相同的问题。这个问题存在于时间戳字段(在您的情况下为“ created_at”列)中,我试图将其作为字符串插入到新表中。我的假设是,这些数据将采用[ "null","String"]我的源格式。我分析了从sqoop import –as- avroDATAFILE流程生成的源avro模式。从导入生成的avro模式的timestamp列具有以下签名。{ "name" : "order_date", "type" : [ "null", "long" ], "default" : null, "columnname" : "order_date", "sqlType" : "93" },

sqlType 93代表时间戳数据类型。因此,在目标表Avro架构文件中,我将数据类型更改为“ long”,从而解决了该问题。我的猜测可能是您其中一列中的数据类型不匹配。

解决方法

需要帮忙!!!

我正在使用flume将Twitter提要流式传输到hdfs中,并将其加载hive进行分析。

步骤如下:

hdfs中的数据:

我已经avro scheR_761_11845@aavsc文件中描述了并将其放入hadoop:

 {"type":"record","name":"Doc","doc":"adoc","fields":[{"name":"id","type":"String"},{"name":"user_friends_count","type":["int","null"]},{"name":"user_LOCATIOn","type":["String",{"name":"user_description",{"name":"user_statuses_count",{"name":"user_followers_count",{"name":"user_name",{"name":"user_screen_name",{"name":"created_at",{"name":"text",{"name":"retweet_count","type":["Boolean",{"name":"retweeted",{"name":"in_reply_to_user_id","type":["long",{"name":"source",{"name":"in_reply_to_status_id",{"name":"media_url_https",{"name":"expanded_url","null"]}]}

我写了一个.hql文件来创建表并在其中加载数据:

 create table tweetsavro
    row format serde
        'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
    stored as inputformat
        'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
    outputformat
        'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
    tblproperties ('avro.scheR_761_11845@a.url'='hdfs:///avro_scheR_761_11845@a/AvroscheR_761_11845@aFile.avsc');

    load data inpath '/test/twitter_data/FlumeData.*' overwritE into table tweetsavro;

已经成功运行.hql文件,但是当我SELEct *from <tablename>在蜂巢中运行命令时,它显示以下错误:

错误

tweetsavro的输出为:

hive> desc tweetsavro;
OK
id                      String                                      
user_friends_count      int                                         
user_LOCATIOn           String                                      
user_description        String                                      
user_statuses_count     int                                         
user_followers_count    int                                         
user_name               String                                      
user_screen_name        String                                      
created_at              String                                      
text                    String                                      
retweet_count           Boolean                                     
retweeted               Boolean                                     
in_reply_to_user_id     bigint                                      
source                  String                                      
in_reply_to_status_id   bigint                                      
media_url_https         String                                      
expanded_url            String                                      
Time taken: 0.697 seconds,Fetched: 17 row(s)

大佬总结

以上是大佬教程为你收集整理的失败,但发生异常java.io.IOException:org.apache.avro.AvroTypeException:发现的很长,期望在配置单元中实现联合全部内容,希望文章能够帮你解决失败,但发生异常java.io.IOException:org.apache.avro.AvroTypeException:发现的很长,期望在配置单元中实现联合所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。