AdventureWorksCycle案例分析

本文介绍了AdventureWorksCycle案例,涉及产品介绍、销售渠道和项目需求。项目实现了数据处理、Hive数据导入,通过Python修改CSV分隔符,Linux定时部署Hive脚本。还进行了数据探索,构建数据仓库,最后通过Tableau进行可视化展示,展示了销售情况、产品分布等关键信息。
摘要由CSDN通过智能技术生成

项目背景介绍

Adventure Works Cycles,是基于AdventureWorks 示例数据库所虚构的一家大型跨国生产公司。公司生产金属和复合材料的自行车,产品远销北美、欧洲和亚洲市场。公司总部设在华盛顿州的伯瑟尔市,拥有 290 名雇员,而且拥有多个活跃在世界各地的地区性销售团队。

销售报表展示

1.产品介绍

作为自行车生产公司,Adventure Works Cycles 提供以下四类产品:

  • Adventure Works Cycles 公司生产的自行车。
  • 自行车组件(替换零件),例如,车轮、踏板或刹车部件。
  • 从供应商购买的转售给 Adventure Works Cycles 客户的自行车装饰。
  • 从供应商购买的转售给 Adventure Works Cycles 客户的自行车附件。

2.销售渠道

作为自行车生产公司,Adventure Works Cycles 拥有两类客户,分别代表两种不同的销售渠道:

  • 线上渠道。个人可以从 Adventure Works Cycles 在线商店购买产品。
  • 线下分销商渠道。即从 Adventure Works Cycles 销售代表处购买产品后进行转售的零售店或批发店。

项目需求分析

通过现有数据监控产品销售情况,获取商品销售趋势及区域分布情况,为销售和市场部、生产部提供指导性意见,以期通过增加销售份额,减少生产、库存成本来增加收益。

项目需求实现

1.数据处理

  • 数据源

数据来源于Adventure Works Cycles公司的的样本数据库,包含30个csv文件和1个sql文件,csv文件没有表头,且以 “|” 为分隔符,sql文件包含了所有csv文件的建表语句。

  • 数据格式转换

hive导入数据时默认的分隔符为 “,”,使用python修改csv文件的分隔符

os是操作系统(如Windows)的接口模块,os.walk() 方法是一个简单易用的文件、目录遍历器。

  1. root 指的是当前正在遍历的文件夹的地址

  2. dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)

  3. files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

  4. 使用 os.path.join(root,file) 方法将文件路径和文件名拼接在一起,得到文件的路径

  5. pd.read_csv读取文件,pd.to_csv输出转换格式后的文件

import pandas as pd
import os

from_path = r'G:\python_learning\adventure_data'
to_path = r'.\data'

if not os.path.exists(to_path):
    os.mkdir(to_path)
    
# 遍历文件得到文件路径
for root,dirs,files in os.walk(from_path):
    for file in files:
        file_path = os.path.join(root,file)
        
# 将缺失值填充为 “null”,pd.read_csv默认将整型数读成浮点数,所以设置dtype=str
        try:
        df=pd.read_csv(file_path,sep='|',encoding='utf-	   16LE',header=None,na_values='null',dtype=str) 
        except Exception as e:
            continue
          
# DataFrame默认sep=‘,’,默认整型数会保存为浮点数,故设置float_format=None,缺失值默认会被忽略,故设置na_rep='null'
        tofile_path = os.path.join(to_path,file)
   		df.to_csv(tofile_path,index=False,header=False,float_format=
                 None, na_rep='null')                         

2.数据导入hive

  1. 新建create_table.txt文件,将sql文件中的建表语句提取到create_table.txt中

  2. 使用python正则解析create_table.txt文件,将30个表的表名和字段名存放到字典中

  3. 创建create_table.sh文件,解析字典中的表名和字

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值