“数据分析案例:商品画像”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
 
(未显示同一用户的4个中间版本)
第2行: 第2行:
  
 
'''具体步骤如下'''
 
'''具体步骤如下'''
[[文件:45646454546.png|50%]]
 
  
'''上传数据'''
+
[[文件:45646454546.png|750px]]
爬取数据示例
+
 
 +
 
 +
'''爬取数据示例'''
  
 
1,MIUI/小米 小米手机4 小米4代 MI4智能4G手机包邮 黑色 D-LTE(4G)/TD-SCD,2100,684,0,125
 
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
 
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
 
3,Samsung/三星 SM-G8508S GALAXY Alpha四核智能手机 新品 闪耀白,3888,546,0,235
 +
 
4,Huawei/华为 H60-L01 荣耀6 移动4G版智能手机 安卓,1999,630,0,537
 
4,Huawei/华为 H60-L01 荣耀6 移动4G版智能手机 安卓,1999,630,0,537
 +
 
5,Meizu/魅族 MX4 Pro移动版 八核大屏智能手机 黑色 16G,2499,1037,,434
 
5,Meizu/魅族 MX4 Pro移动版 八核大屏智能手机 黑色 16G,2499,1037,,434
 +
 
6,vivo X5MAX L 移动4G 八核超薄大屏5.5吋双卡手机vivoX5max,2998.9,608,0,319
 
6,vivo X5MAX L 移动4G 八核超薄大屏5.5吋双卡手机vivoX5max,2998.9,608,0,319
 +
 
7,纽芝兰包包女士2018新款潮百搭韩版时尚单肩斜挎包少女小挎包链条,168,482,0,320
 
7,纽芝兰包包女士2018新款潮百搭韩版时尚单肩斜挎包少女小挎包链条,168,482,0,320
 +
 
8,MARNI Trunk 女士 中号拼色十字纹小牛皮 斜挎风琴包,356,473,0,35
 
8,MARNI Trunk 女士 中号拼色十字纹小牛皮 斜挎风琴包,356,473,0,35
  
第47行: 第55行:
 
'''创建新表存储'''
 
'''创建新表存储'''
  
create table 表名2 like 表名2;
+
create table 表名2 like 表名2;
  
 
'''数据过滤'''
 
'''数据过滤'''
  
 +
原理如下
  
 
insert into 表名2
 
insert into 表名2
 +
 
select * from 表名1
 
select * from 表名1
where not id is null and name is null and price is null and views is null and sales is null and stock is null
+
 
and name not like '%包包%' and name not like'%衣%' and name not like'%女士%'  
+
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   #作用是去除空值,我本来以为这个语句最简单结果用了好多!=等方法都不作用,只有这
group by id,name,price,views,sales,stock;
+
种臃肿的语句会正确的过滤空值
 +
 
 +
and name not like '%包包%' and name not like'%衣%' and name not like'%女士%'#判断不属于电子产品的异常值
 +
 
 +
group by id,name,price,views,sales,stock; #这个就是去重了
  
  
第66行: 第80行:
 
SELECT count(distinct author) FROM data;
 
SELECT count(distinct author) FROM data;
  
insert into table test partition(age='xx') select id,name,tel form perop;
+
 
  
 
'''数据切分'''
 
'''数据切分'''
第73行: 第87行:
 
where split(name, '\ ')[0]='Huawei/华为';
 
where split(name, '\ ')[0]='Huawei/华为';
  
切分之后,通过简单计数,就可做可视化完成这一部分的题目
+
'''切分之后,通过简单计数,就可做可视化完成这一部分的题目'''

2020年11月18日 (三) 14:40的最新版本

1.爬取商城数据,并进行分析

具体步骤如下

45646454546.png


爬取数据示例

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/华为';

切分之后,通过简单计数,就可做可视化完成这一部分的题目