CREATE上的Hive错误

时间:2014-05-21 22:11:29

标签: mysql hadoop hive

我正在关注these instructions并且我必须运行Hive。我运行了以下命令:

ADD JAR /home/cloudera/Downloads/hive-serdes-1.0-SNAPSHOT.jar


CREATE EXTERNAL TABLE tweets (
  id BIGINT,
  created_at STRING,
  source STRING,
  favorited BOOLEAN,
   retweeted_status STRUCT<
    text:STRING,
    user:STRUCT<screen_name:STRING,name:STRING>,
    retweet_count:INT>,
  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/cloudera/flume/tweets';

然后我遇到了一个错误:

  

CREATE不存在   查询返回非零代码:1,原因:CREATE不存在。

由于我是Hive的新手,我可能会遗漏一些明显的东西。 什么可能导致这样的错误?

3 个答案:

答案 0 :(得分:0)

在运行配置单元命令时,我的Hive控制台上出现了类似的错误:

创建不存在 查询返回非零代码:1,原因:create不存在

我通过将Hive运行设置为用户设置来解决此问题。

我从&#34更改了它;以最终用户身份运行而不是Hive用户&#34;从True到False并重新启动Hive服务器/客户端。

使用此设置,我的hive命令开始与hive用户一起运行并开始工作。

在进行此设置之前,默认用户ID是运行配置单元的root用户。

答案 1 :(得分:0)

这是hive设置问题,请重启你的hive控制台并检查你的hive-jdbc版本和hadoop版本的兼容性。希望这会解决您的问题,因为我可以看到查询没问题。

答案 2 :(得分:0)

问题在于您没有在第一条语句的末尾放置;

您需要更改此内容:

ADD JAR /home/cloudera/Downloads/hive-serdes-1.0-SNAPSHOT.jar

对此:

ADD JAR /home/cloudera/Downloads/hive-serdes-1.0-SNAPSHOT.jar;