数据分析案例:商品画像
1.爬取商城数据,并进行分析
具体步骤如下
爬取数据示例
1,MIUI/小米 小米手机4 小米4代 MI4智能4G手机包邮 黑色 D-LTE(4G)/TD-SCD,2100,684,0,125
2,苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G,4500.00-6800.00,714,0,1701
3,Samsung/三星 SM-G8508S GALAXY Alpha四核智能手机 新品 闪耀白,3888,546,0,235
4,Huawei/华为 H60-L01 荣耀6 移动4G版智能手机 安卓,1999,630,0,537
5,Meizu/魅族 MX4 Pro移动版 八核大屏智能手机 黑色 16G,2499,1037,,434
6,vivo X5MAX L 移动4G 八核超薄大屏5.5吋双卡手机vivoX5max,2998.9,608,0,319
7,纽芝兰包包女士2018新款潮百搭韩版时尚单肩斜挎包少女小挎包链条,168,482,0,320
8,MARNI Trunk 女士 中号拼色十字纹小牛皮 斜挎风琴包,356,473,0,35
上传数据
hadoop fs -mkdir -p /college hadoop fs -put /root/college/loan.csv /college
创建数据库
create database 库名;
create table 表名1(
id int,
name string,
price int,
views int,
sales int,
stock int
)row format delimited
fields terminated by ',';
导入数据-》hive
load data inpath '/college/loan.csv' into table 表名;
load data [local] inpath ‘/root/data’ into table psn; 表示本地而不是Hadoop
创建新表存储
create table 表名2 like 表名2;
数据过滤
原理如下
insert into 表名2
select * from 表名1
where not id is null and not price is null and not views is null and not sales is null and not stock is null #作用是去除空值,我本来以为这个语句最简单结果用了好多!=等方法都不作用,只有这 种臃肿的语句会正确的过滤空值
and name not like '%包包%' and name not like'%衣%' and name not like'%女士%'#判断不属于电子产品的异常值
group by id,name,price,views,sales,stock; #这个就是去重了
数据分析并下载
INSERT OVERWRITE LOCAL DIRECTORY '/root/college022/’
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t’
SELECT count(distinct author) FROM data;
数据切分
select split(name, '\ ') from data where split(name, '\ ')[0]='Huawei/华为';
切分之后,通过简单计数,就可做可视化完成这一部分的题目