我正在关注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的新手,我可能会遗漏一些明显的东西。 什么可能导致这样的错误?
答案 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;