概述
熟悉Hive的小伙伴都知道,企业中对Hive进行数据预处理ETL,最多的是用UDF和Python脚本。本文主要是实践在Hive中使用Python脚本进行数据清洗。数据集来源:http://files.grouplens.org/datasets/movielens/
当然,下面的分析内容如果用spark,一句就搞定了。
需求分析
ml-100k中的数据有四个字段,分别对应:userId(用户id),movieId(电影id),rate(评分),time(观影时间),前几条数据预览如下图。
预览过数据后,发现第四个字段,即time的格式不是我们日常所见的格式,不利于我们做数据分析。所以有必要对它进行数据预处理。
原始表创建和导入数据
- 在Linux上下载数据包:
wget http://files.grouplens.org/datasets/movielens/ml-100k.zip
- 使用unzip解压数据包:
unzip ml-100k.zip
- hql操作
CREATE TABLE if not exists u_data( userid