Hadoop twitter分析配置单元查询

Hadoop twitter分析配置单元查询,hadoop,twitter,hiveql,Hadoop,Twitter,Hiveql,我的桌子是 CREATE EXTERNAL TABLE twitter.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<S

我的桌子是

CREATE EXTERNAL TABLE twitter.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 '/twitter';
CREATE EXTERNAL TABLE twitter.tweets(id BIGINT,created_at STRING,source STRING,favorited BOOLEAN,retweeted_status STRUCT,entities STRUCT,text STRING,user STRUCT,in_reply_to_screen_name STRING)
分区人(datehour INT)
行格式SERDE'com.cloudera.hive.SERDE.JSONSerDe'
位置'/twitter';
我使用
LOAD DATA INPATH'/user/hue/twitter/tweets/2017/03/08/FlumeData.1489005910193'覆盖到表tweets分区(datehour)

我得到一个错误

'编译语句时出错:失败:SemanticException org.apache.hadoop.hive.ql.metadata.HiveException:MetaException(消息:无效 分区键&values;键[datehour],值[])'


我不明白分区部分的值应该写什么,仅此而已。
如果所有记录都来自同一时间(例如
23
),则使用-
…进入表tweets分区(datehour=23)


如果没有,则必须使用另一种技术,例如外部表

谢谢。。在看到您的答案之前,我添加了我下载推文的日期作为分区(datehour=08032017)。它起作用了,希望这也是正确的。(1)
datehour
对于只包含日期而不包含时间的列来说是一个奇怪的名称。(2) 由于分区列是int类型,因此
0803217
前面的
0
没有意义(3)我强烈建议将分区定义更改为其他类型/格式<代码>日期将是理想的,例如,
按(日期小时日期)
划分为表tweets分区(日期小时=日期“2017-03-08”)
。即使出于某种原因,您仍然使用
int
格式,例如
YYYYMMDD
20170308,因此您可以使用比较,例如20170301和20170308之间的
datehour
,如果您不介意的话,请为我提供一个用于twitter数据分析的资源(任何文档)。到目前为止,我已经下载了数据,现在我正忙于创建配置单元表。。我不知道该做什么??