![9aeec540d1d3f2a8f783411548402d15.png](https://img-blog.csdnimg.cn/img_convert/9aeec540d1d3f2a8f783411548402d15.png)
一、下载数据
数据来源:阿里巴巴天池
User Behavior Data from Taobao for Recommendation-数据集-阿里云天池tianchi.aliyun.com![cbd481120604b36e9e0ed524b1b2f194.png](https://img-blog.csdnimg.cn/img_convert/cbd481120604b36e9e0ed524b1b2f194.png)
二、导入
1.新建一个数据库→导入向导→导入类型(和excel文件类型一致)
![7f8c625a16b2d28a673975198a0ba374.png](https://img-blog.csdnimg.cn/img_convert/7f8c625a16b2d28a673975198a0ba374.png)
![55365ed8c7ac475bfcf1859e49163645.png](https://img-blog.csdnimg.cn/img_convert/55365ed8c7ac475bfcf1859e49163645.png)
2.Excel 文件的位置→下一步
![e7de7a501fd42ca4254b198f1c3a8550.png](https://img-blog.csdnimg.cn/img_convert/e7de7a501fd42ca4254b198f1c3a8550.png)
![b490d60498318b34d43df183b07e9599.png](https://img-blog.csdnimg.cn/img_convert/b490d60498318b34d43df183b07e9599.png)
3.为源定义一些附加的选项
如果excel数据量大,可以在下面的界面设置分批导入。“第一个数据行”和“最后一个数据行”设置导入哪个范围的数据。
字段名行:1→字段名在第1行
第一个数据行:2→从第2行导入数据
最后一个数据行:10000→导入到第10000行数据结束
![7318af68938f59fb448f1a1e4b994917.png](https://img-blog.csdnimg.cn/img_convert/7318af68938f59fb448f1a1e4b994917.png)
因为这个Excel数据很大,所以只导入10万条数据用来练习。
如果要分批导入100万行数据,第1次导入:
第一个数据行:2(表示从第2行开始导入数据,因为第1行是列字段名)
最后一个数据行:500000(表示导入到第500000行结束)
第2次导入:
第一个数据行:500001
最后一个数据行:1000000
4.选择目标表
新数据库表里导入数据,在“新建表”打钩;已有的数据库表里导入数据,不需要打钩。
![5abf32433e7390cb58c4602b2bdd9094.png](https://img-blog.csdnimg.cn/img_convert/5abf32433e7390cb58c4602b2bdd9094.png)
![c4dc49032540c4321a28737a4eb40334.png](https://img-blog.csdnimg.cn/img_convert/c4dc49032540c4321a28737a4eb40334.png)
5.选择导入模式
![a7627d5ebeb01c274afbabc1b0bbe7ce.png](https://img-blog.csdnimg.cn/img_convert/a7627d5ebeb01c274afbabc1b0bbe7ce.png)
6.点击“开始”按钮执行导入
![7d58464cc9bfe8b6e5ee7f901fa78dc9.png](https://img-blog.csdnimg.cn/img_convert/7d58464cc9bfe8b6e5ee7f901fa78dc9.png)
7.导入成功
![c9eefcfc2e8cb0da56968bb8f9dab488.png](https://img-blog.csdnimg.cn/img_convert/c9eefcfc2e8cb0da56968bb8f9dab488.png)
![c1af022e94c253891dda19521dac888a.png](https://img-blog.csdnimg.cn/img_convert/c1af022e94c253891dda19521dac888a.png)
8.修改列名:设计表
![d4414b5b98efaa5d970fac35d5ff78ed.png](https://img-blog.csdnimg.cn/img_convert/d4414b5b98efaa5d970fac35d5ff78ed.png)
将列名均设置成“不是null”
![e7ed9a1314f70ba920cf013e5903054c.png](https://img-blog.csdnimg.cn/img_convert/e7ed9a1314f70ba920cf013e5903054c.png)
![e92060084aeae59950c0370909332bd2.png](https://img-blog.csdnimg.cn/img_convert/e92060084aeae59950c0370909332bd2.png)
9.把时间戳改为日期和时间的格式
(1).增加一列用于存放日期:
alter table userbehavior
add 日期 varchar(255);
![43614fbb54f8c8b204515d1aa777951a.png](https://img-blog.csdnimg.cn/img_convert/43614fbb54f8c8b204515d1aa777951a.png)
(2)从时间戳里抽取日期:
update userbehavior
set 日期=from_unixtime(时间戳,'yyyy-mm-dd');
![542c07a1dea94c37d8e412019d242e02.png](https://img-blog.csdnimg.cn/img_convert/542c07a1dea94c37d8e412019d242e02.png)
(3)增加一列用于存放时间:
alter table userbehavior
add 时间 varchar(255);
(4)从时间戳里抽取时间:
update userbehavior
set 时间=from_unixtime(时间戳,'%H:%i:%s');
![a0e7173c0fb4f3ab896dc5c2eb461e72.png](https://img-blog.csdnimg.cn/img_convert/a0e7173c0fb4f3ab896dc5c2eb461e72.png)
10.数据处理
(1)删除缺失值
delete from 表名
where 列名 is null;
(2)填充缺失值
select coalesce(列名, 要填充的值)
from 表名;
(3)删除重复值
①先创建一个临时表,用于保存要删除的重复值
create table 表名1
as
select 列名 as 列名1
from表名;
②删除重复值
delete from 表名
where 列名 in(select 列名1
from表名1
group by 列名1
having count(列名1)>1);