Hive 无法在配置单元中创建表
我正在尝试使用在线找到的以下架构在hive 3.0中创建表:Hive 无法在配置单元中创建表,hive,ubuntu-16.04,hiveql,Hive,Ubuntu 16.04,Hiveql,我正在尝试使用在线找到的以下架构在hive 3.0中创建表: CREATE 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>, enti
CREATE 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<STRUT<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 'org.apache.hive.hcatalog.data.JSONSerDe';
创建表格推文(
id BIGINT,
在字符串处创建_,
源字符串,
偏爱布尔,
retweeted_status STRUCT,
实体结构,,
文本字符串,
用户结构,
在\u回复\u至\u屏幕\u名称字符串中
)
行格式SERDE'org.apache.hive.hcatalog.data.JSONSerDe';
当我按enter键时,输入NoViableAltException。我第一次使用hive没有经验,有人能告诉我架构有什么问题吗?用户是如果我们在hive中使用关键字,那么我们需要用`(反勾号)括起关键字 示例: `user` 尝试使用下面的CREATETABLE语句
CREATE 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
)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
Location '/user/flume/tweets/';
(或)
选项2。我们需要在
/user/flume/tweets/
此目录的顶部创建配置单元表,然后您可以在tweets表中查看数据(使用上面的create table语句)。我尝试了,但得到了另一个错误:失败:解析异常行11:0无法识别“用户”结构“”附近的输入@ShivamSingh,尝试使用更新的CREATETABLE语句。我尝试并能够在我这边创建一张桌子。非常感谢兄弟,我成功了@希瓦姆辛格,1岁。“实体”列2中的“结构”有一个拼写错误。Sede是区分大小写的JsonSerDe,但您正在使用JsonSerDe。哦,好的。谢谢:)
desc tweets;
+--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+--------------------+--+
| col_name | data_type | comment |
+--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+--------------------+--+
| id | bigint | from deserializer |
| created_at | string | from deserializer |
| source | string | from deserializer |
| favorited | boolean | from deserializer |
| retweeted_status | struct<text:string,user:struct<screen_name:string,name:string>,retweet_count:int> | from deserializer |
| entities | struct<urls:array<struct<expanded_url:string>>,user_mentions:array<struct<screen_name:string,name:string>>,hashtags:array<struct<text:string>>> | from deserializer |
| text | string | from deserializer |
| user | struct<screen_name:string,name:string,friends_count:int,followers_count:int,statuses_count:int,verified:boolean,utc_offset:int,time_zone:string> | from deserializer |
| in_reply_to_screen_name | string | from deserializer |
+--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+--------------------+--+
`hadoop fs -mv /user/flume/tweets/ /user/hive/warehouse/tweets/`