【HIVE】系统数据分析实战 汽车销售数据随机生成

一、生成测试数据

# 利用Python随机生成一份汽车销售数据,共100行,包括销售时间、销售地点、车辆类型、车辆型号、制造商、排量、功率、发动机型号、
# 燃料种类、车辆长宽高、轴距、驱动方式、轮胎规格、轮胎数量、载客数量、所有权、购买人等相关信息。并将生成的数据写入Excel。

import random
import pandas as pd

def generate_car_sales_data():
    # 销售时间
    sale_time = random.choice(['2023-12-01', '2023-12-02', '2023-12-03', '2023-12-04', '2023-12-05'])

    # 销售地点
    sale_location = random.choice(['beijing', 'shanghai', 'guangzhou', 'shenzhen', 'hangzhou'])

    # 车辆类型
    vehicle_type = random.choice(['CAR', 'SUV', 'MPV', 'Pickup'])

    # 车辆型号
    vehicle_model = random.choice(['Model 3', 'Model Y', 'Model S', 'Model X'])

    # 制造商
    manufacturer = random.choice(['tesla', 'BYD', 'BC', 'BMW', 'AODI'])

    # 排量
    displacement = random.choice(['1.5L', '2.0L', '2.5L', '3.0L', '3.5L'])

    # 功率
    power = random.choice(['100kW', '150kW', '200kW', '250kW', '300kW'])

    # 发动机型号
    engine_model = random.choice(['L4', 'V6', 'V8', 'W12'])

    # 燃料种类
    fuel_type = random.choice(['gasoline', 'diesel', 'GAS', 'electric'])

    # 车辆长宽高
    length, width, height = [random.randint(4000, 5000) for _ in range(3)]

    # 轴距
    wheelbase = random.randint(2500, 3000)

    # 驱动方式
    drive_type = random.choice(['Front-wheel', 'Rear-wheel', 'Four-wheel'])

    # 轮胎规格
    tire_specification = random.choice(['205/55R16', '215/60R17', '225/65R18', '235/70R19', '245/75R20'])

    # 轮胎数量
    tire_number = random.choice([4, 5])

    # 载客数量
    passenger_capacity = random.choice([4, 5, 6, 7])

    # 所有权
    ownership = random.choice(['personal', 'company', 'lease'])

    # 购买人
    purchaser = random.choice(['zhangsan', 'lisi', 'wangwu', 'zhaoliu'])

    # 返回生成的数据
    return {
        '销售时间': sale_time,
        '销售地点': sale_location,
        '车辆类型': vehicle_type,
        '车辆型号': vehicle_model,
        '制造商': manufacturer,
        '排量': displacement,
        '功率': power,
        '发动机型号': engine_model,
        '燃料种类': fuel_type,
        '车辆长宽高': [length, width, height],
        '轴距': wheelbase,
        '驱动方式': drive_type,
        '轮胎规格': tire_specification,
        '轮胎数量': tire_number,
        '载客数量': passenger_capacity,
        '所有权': ownership,
        '购买人': purchaser
    }

# 生成汽车销售数据
car_sales_data = [generate_car_sales_data() for _ in range(1000)]

# 创建一个 DataFrame 对象
df = pd.DataFrame(car_sales_data)

# 将 DataFrame 对象保存为 Excel 文件
df.to_csv('car_sales_data.csv', index=False)

二、创建HIVE数据库

1.创建数据库

CREATE EXTERNAL TABLE car_sales_data (
    -- 销售时间
    sale_time string comment '销售时间',
    -- 销售地点
    sale_location string comment '销售地点',
    -- 车辆类型
    vehicle_type string comment '车辆类型',
    -- 车辆型号
    vehicle_model string comment '车辆型号',
    -- 制造商
    manufacturer string comment '制造商',
    -- 排量
    displacement string comment '排量',
    -- 功率
    power string comment '功率',
    -- 发动机型号
    engine_model string comment '发动机型号',
    -- 燃料种类
    fuel_type string comment '燃料种类',
    -- 车辆长宽高
    vehicle_length string comment '车辆长度',
    vehicle_width string comment '车辆宽度',
    vehicle_height string comment '车辆高度',
    -- 轴距
    wheelbase string comment '轴距',
    -- 驱动方式
    drive_type string comment '驱动方式',
    -- 轮胎规格
    tire_specification string comment '轮胎规格',
    -- 轮胎数量
    tire_number string comment '轮胎数量',
    -- 载客数量
    passenger_capacity string comment '载客数量',
    -- 所有权
    ownership string comment '所有权',
    -- 购买人
    purchaser string comment '购买人'
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LOCATION '/car_sales';

2.装载数据

load data local inpath '/资源路径/car_sales_data.csv' overwrite into table stutest.car_sales_data;

3.查看数据

select * from car_sales_data limit 10;

在这里插入图片描述

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值