无法识别列名或配置单元中主键或外键中“user”“struct”“< ”附近的输入

j0pj023g  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(230)

我正在尝试使用hive执行twitter分析,但是我得到了上面提到的错误。我已经添加了如下所示的jar文件,但没有出现错误,但是在创建外部表时,出现了如下所示的错误:
失败:parseexception行9:2无法识别列名、主键或外键中“user”“struct”<'附近的输入

add jar /home/shashank/Desktop/Hadoopprac/Twitteranalysis/hive-json-serde.jar;

    CREATE EXTERNAL TABLE IF NOT EXISTS tweets (
      text STRING,
      entities STRUCT<
        hashtags:ARRAY<STRUCT<text:STRING>>>,
      user STRUCT<
        screen_name:STRING,
        friends_count:INT,
        followers_count:INT,
        statuses_count:INT,
        verified:BOOLEAN,
        utc_offset:INT,
        time_zone:STRING>
    ) 
    ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe'
    LOCATION '/home/shashank/Desktop/Hadoopprac/tweetsfile.json';
8iwquhpp

8iwquhpp1#

所以最终得到了答案,实际上问题是reserve关键字,用户是配置单元解析中的reserve关键字,所以应该将用户放入``并运行查询,感谢hlagos和cricket的努力。

CREATE EXTERNAL TABLE IF NOT EXISTS tweets (
      text STRING,
      entities STRUCT<
        hashtags:ARRAY<STRUCT<text:STRING>>>,
      `user` STRUCT<
        screen_name:STRING,
        friends_count:INT,
        followers_count:INT,
        statuses_count:INT,
        verified:BOOLEAN,
        utc_offset:INT,
        time_zone:STRING>
    ) 
    ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe'
    LOCATION '/home/shashank/Desktop/Hadoopprac/tweetsfile.json';

相关问题