java - Hive 在创建表 "Cannot validate serde: com.cloudera.hive.serde.JSONSerDe"时抛出错误

标签 java hadoop hive hdfs

正在使用 apache-hive-0.13.1。 在创建表配置单元时抛出如下错误

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot validate serde: com.cloudera.hive.serde.JSONSerDe

表结构为

create external table tweets(id BigInt, created_at String, scource String, favorited Boolean, retweet_count int, 
retweeted_status Struct < 
    text:String,user:Struct< 
        screen_name:String, name:String>>,
    entities Struct<
        urls:Array<Struct<          
             expanded_url:String>>,
        user_mentions:Array<Struct<
            screen_name:String,
            name:String>>,
        hashtags:Array<Struct<text:String>>>,

text String,
user Struct<
    screen_name:String,
    name:String,
    friends_count:int,
    followers_count:int,
     statuses_count:int,
    verified:boolean, 
    utc_offset:int,
    time_zone:String> , 
in_reply_to_screen_name String)
partitioned by (datehour int)
ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe'
location '/home/edureka/sachinG'

在类中添加了一个 json-serde-1.3.6-SNAPSHOT-jar-with-dependencies.jar 来解决问题但没有成功

最佳答案

终于找到了解决办法。问题出在 json-serde-1.3.6-SNAPSHOT-jar-with-dependencies.jar 不同的发行版(Cloudera、Azure 等)需要不同的 JSON-Serde jar 文件。意味着,serde jar 应该与那里的发行版兼容。

我换了 jar,它对我有用。

关于java - Hive 在创建表 "Cannot validate serde: com.cloudera.hive.serde.JSONSerDe"时抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36709298/

相关文章:

hadoop - 中间有列的 Hive 表分区

hive - 在pyspark中查询HIVE表

java - 代码检查不让我通过

java - hadoop和Java安装

java - 如何确定org.netbeans.swing.outline的maven版本?

hadoop - Apache Hadoop(大数据)

使用 spark-submit 时出现 Hadoop 错误

hadoop - 时髦的时间戳格式

java - 创建一个简单的 GridLayout 不起作用

java - 代号 "AWT-EventQueue-0"java.lang.UnsupportedClassVersionError : javafx/scene/media/MediaException has been compiled by a more recent version