我正在尝试处理tweets-clean.txt。通过处理,我的意思是获取每个用户ID的早期日期,最新日期和记录数,以及每行中的用户ID本身。我只得到一行,只有该行中的最小和最大日期。我做错了什么?
CREATE TABLE temptweets16 (
date string,
userid string
) ;
LOAD DATA LOCAL INPATH 'tweets-clean.txt' INTO TABLE temptweets16;
INSERT OVERWRITE LOCAL DIRECTORY './hive-output'
SELECT
userid as userid,
MIN(FROM_UNIXTIME(UNIX_TIMESTAMP( date, 'EEE MMM dd HH:mm:ss Z yyyy' ))) as mindate,
MAX(FROM_UNIXTIME(UNIX_TIMESTAMP( date, 'EEE MMM dd HH:mm:ss Z yyyy' ))) as maxdate,
COUNT (userid) as count
FROM temptweets16
GROUP BY userid;
输入示例:
Tue Feb 11 05:04:10 +0000 2014 1046894028
仅输出线:
\N2014-02-11 00:02:102014-02-11 00:04:100
答案 0 :(得分:1)
您需要在CREATE TABLE语句中指定数据的格式,如果它是制表符分隔文件,您可以说:
CREATE TABLE temptweets16 (
date string,
userid string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t';