У меня есть table
, созданный с помощью запроса HIVE в Cloudera VM, ниже мой DDL
для создания таблицы с именем incremental_tweets
.
CREATE EXTERNAL TABLE incremental_tweets (
id BIGINT,
created_at STRING,
source 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
)
ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe'
LOCATION '/twitteranalytics/incremental/';
После выполнения этого на HUE HIVE Editor
таблица успешно создается. Теперь проблема в том, что я не могу выполнить оператор SELECT
, который выдает следующую ошибку.
SELECT Statement
Select id, entities.user_mentions.name FROM incremental_tweets;
ERROR
Error while processing statement: FAILED: Execution Error, return code 2
from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
Кроме того, поскольку HUE editor
предоставляет функцию автозаполнения, ниже было приведено утверждение и выданная ошибка.
Statement
Select id, entities.`,user_mentions`.name FROM incremental_tweets;
ERROR
Error while compiling statement: FAILED: RuntimeException cannot find field
,user_mentions(lowercase form: ,user_mentions) in [urls, user_mentions,
hashtags]
Что правильно SELECT statement
? Я пропускаю какой-либо синтаксис?