自行车业务分析项目

一、背景介绍

Adventure Works Cycle是国内一家制造公司,该公司生产和销售金属和复合材料自行车在全国各个市场。销售方式主要有两种,前期主要是分销商模式,但是2018年公司实现财政收入目标后,后续就开始通过公司自有网站获取线上商户进一步扩大市场。现数据部门需为业务部门的精细化运营提供数据支持,能精准的定位目标客户群体。

二.项目任务

随着线上业务的开展,需要增强公司数据化方面的治理,让前线的业务同学能够实现自主分析从而能实现对市场的快速判断。

业务需求:查看最新的销量,销售额趋势以及自行车的占比,获取当天,前一天,当月,当季,当年的各区域各城市销量销售额,以及同比数据

三.项目过程

项目流程图

准备工作:mysql 数据源,Hive数据库,Sqoop,Power BI,服务器:linux

1.观察数据:

mysql数据库中一共有26张表,根据和业务部门的需求,最终确定需要用到的3张表;

ods_sales_orders(订单明细表):时间_地区_产品聚合表——用于从整体、地域和产品维度反映销售概况。

dim_date_df(日期维度表):每日新增用户表——用于形成用户画像。

ods_customer(每日新增用户表):订单明细表——用于用户行为分析。

数据字典:

2.通过Sqoop将Mysql数据导入Hive

考虑到数据量较大,使用mysql处理数据速度较慢,因此采用Hive来处理数据,提升运行速度。通过Sqoop先将Mysql数据导入Hive中,代码如下:

导入dim_date_df表

语句用法:sqoop import \       #'\'符号前面空格,后面不能加空格

--hive-import \

--connect "jdbc:mysql://IP地址:端口/mysql数据库?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&dontTrackOpenResources=true&defaultFetchSize=50000&useCursorFetch=true" \

--driver com.mysql.jdbc.Driver \

--username mysql 用户名 \

--password 密码 \

--query \

'select * from dim_date_df where $CONDITIONS' \       #原始表

--fetch-size 50000 \

--hive-table ods_zxk.dim_date_df \     #目标表

--hive-drop-import-delims \

--delete-target-dir \

--target-dir /user/hadoop/sqoop/dim_date_df \

-m 1

将上述的代码包装成sqoop_dim_date_df.sh文件,随后导入另外两张表sqoop_ods_sales_orders.sh,

sqoop_ods_customer.sh。

3.数据处理

数据导入完成后,根据业务需求,最终确定需要生成的三张目标表:dw_customer_order(时间_地区_产品聚合表),dw_amount_diff(当日维度表),dw_order_by_day(每日环比表);

生成流程如下:

目标表生成示意图

在linux里编写数据处理代码,并包装成.sh格式文件:

生成dw_order_by_day(每日环比表)部分代码 

按照这种思路,完成3张表的代码。并分别包装成create_dw_order_by_day_zxk.sh,create_dw_customer_order_zxk.sh,create_dw_amount_diff_zxk.sh文件,以备后续在linux上部署自动化语句使用。

4.sqoop把处理好之后的目标表导出到mysql

导出前,需要在mysql中建表。最好是根据hive中的目标表建表,保持两边的字段统一。在Hive中输入show create table  dw_order_by_day_zxk;

建表语句和存储位置

根据上述建表语句在mysql中建表,在导出语句中写入文件存储位置

dw_order_by_day_zxk表导出语句

分别将三张表的导出语句包装成sh文件。

5.linux上做定时部署

linux的定时任务使用crontab文件来实现

(1)编写shedule.sh文件,按执行顺序添加文件

shedule.sh语句

(2)添加定时任务,设定每天早上6点执行

编辑crontab 文件 :vi /etc/crontab

添加定时任务:0 6 * * * /home/frog005/adventure_zxk/schedule.sh

6.power bi 展示

根据业务需求,链接mysql数据库,展示业务数据。

展板首页
趋势图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容