当前位置: 首页 > 面试题库 >

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

商茂勋
2023-03-14
问题内容

需要帮忙!!!

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

步骤如下:

hdfs中的数据:

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

 {"type":"record",
 "name":"Doc",
 "doc":"adoc",
 "fields":[{"name":"id","type":"string"},
       {"name":"user_friends_count","type":["int","null"]},
       {"name":"user_location","type":["string","null"]},
       {"name":"user_description","type":["string","null"]},
       {"name":"user_statuses_count","type":["int","null"]},
       {"name":"user_followers_count","type":["int","null"]},
       {"name":"user_name","type":["string","null"]},
       {"name":"user_screen_name","type":["string","null"]},
       {"name":"created_at","type":["string","null"]},
       {"name":"text","type":["string","null"]},
       {"name":"retweet_count","type":["boolean","null"]},
       {"name":"retweeted","type":["boolean","null"]},
       {"name":"in_reply_to_user_id","type":["long","null"]},
       {"name":"source","type":["string","null"]},
       {"name":"in_reply_to_status_id","type":["long","null"]},
       {"name":"media_url_https","type":["string","null"]},
       {"name":"expanded_url","type":["string","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.schema.url'='hdfs:///avro_schema/AvroSchemaFile.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)

问题答案:

我正面临着完全相同的问题。这个问题存在于时间戳字段(在您的情况下为“
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”,从而解决了该问题。我的猜测可能是您其中一列中的数据类型不匹配。



 类似资料:
  • 然后错误显示在蜂巢: 失败:执行错误,从org.apache.hadoop.hive.ql.exec.mr.MapRedWork返回代码-101。org.apache.hadoop.mapreduce.v2.util.MRApps.setEnvFromInputProperties(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Lorg/ap

  • 当我运行时,我的构建失败了,我收到了以下消息: 失败:生成失败,出现异常。 > 错误:配置根项目“RxRedux”时出现问题。 无法解析配置“:classpath”的所有文件。找不到com。Android工具。构建:gradle:3.0。1.在以下位置搜索:https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.1/gradle

  • AGPBI:{“kind”:“error”,“text”:“Android资源链接失败”,“sources”:[{}],“original”:“error::AAPT:D:\Android basics kotlin cupcake app starter\app\build\intermediates\processed\u res\debug\out\resources-debug.ap\:错

  • 我的项目中出现了以下错误:`Failure:生成失败,出现异常。 > 其中:设置文件'/home/kaizar/music/oreo-fashion-v2.3.0/app/rn_oreo/android/Settings.gradle'行:4 错误:评估设置“rn_oreo”时出现问题。 请访问https://help.gradle.org获取更多帮助

  • 最近我在eclipse上建立了一个Minecraft Forge工作区。我在过去用forge(MC1.6.4等等)创建了minecraft MOD,尽管从那以后有了很大的变化。我正在尝试使用Forge1.15.2-31.1.0 mdk和JDK 1.8.0_241进行修改 我创建了一个RunClient。bat文件,用于编译和构建我的项目 它完全编译到98%,然后崩溃。这是我的事故报告: --UPD