编写HiveQL语句实现WordCount算法
确保启动hadooop 和hive
创建测试文件
echo "hello world" > file1.txt echo "hello hadoop" > file2.txt # 创建HDFS上的/input目录 hdfs dfs -mkdir -p /input # 将本地文件上传到HDFS hdfs dfs -put file1.txt /input/ hdfs dfs -put file2.txt /input/
打开Hive shell
输入以下命令创建一个名为docs
的临时表:
CREATE TABLE docs(line STRING);
将HDFS上的/input
目录下的所有文件加载到docs
表中。由于HDFS中已经有/input
目录,您可以使用以下命令将其加载到Hive表中:
LOAD DATA INPATH '/input' INTO TABLE docs;
接下来,创建一个名为word_count
的新表,用于存储词频统计结果。输入以下HiveQL命令:
CREATE TABLE word_count AS SELECT word, COUNT(1) AS count FROM (SELECT explode(split(line, '')) AS word FROM docs) w GROUP BY word ORDER BY word;
最后,使用select
语句查看word_count
表中的数据,得到词频统计结果
SELECT * FROM word_count;