five

orders, products

收藏
github2023-12-11 更新2024-05-31 收录
下载链接:
https://github.com/AhmetFurkanDEMIR/Trendyol-Data-Engineering-Technical-Case-Study
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集包含两个部分:orders记录了订单的详细信息,如客户ID、位置、卖家ID、订单日期、订单ID、价格、产品ID和订单状态;products记录了产品的详细信息,如品牌名称、类别名称、产品ID和产品名称。

This dataset comprises two sections: the 'orders' section meticulously documents the specifics of each order, including customer ID, location, seller ID, order date, order ID, price, product ID, and order status. The 'products' section provides detailed information about each product, such as brand name, category name, product ID, and product name.
创建时间:
2023-12-11
原始信息汇总

数据集概述

数据结构

  • 订单数据 (orders)

    • customer_id: 字符串
    • location: 字符串
    • seller_id: 字符串
    • order_date: 字符串
    • order_id: 字符串
    • price: 双精度浮点数
    • product_id: 字符串
    • status: 字符串
  • 产品数据 (products)

    • brandname: 字符串
    • categoryname: 字符串
    • productid: 字符串
    • productname: 字符串

问题与解决方案

  • 问题1 - Job1

    • 计算每个产品的净销售数量和金额(总销售数量 - 取消/退货数量)
    • 计算每个产品的总销售数量和金额
    • 计算每个产品最近5天的销售数量平均值
    • 确定每个产品最畅销的地点
  • 问题2 - Job2

    • 提取并记录产品价格随时间的变化率,输出到文件系统

数据处理与输出

  • 数据处理

    • 使用Scala编写,未使用SQL
    • 使用Spark,通过Docker部署,配置为一个主节点和两个工作节点
  • 输出位置

    • Job1输出: /out_data/job1/...
    • Job2输出: /out_data/job2/...
    • 输出合并: /out_data/output_join/...

技术栈

  • 开发语言: Scala
  • 数据处理框架: Apache Spark
  • 容器化: Docker
  • 操作系统: Debian

运行环境要求

  • 需要安装Docker
  • 确保8080和7077端口可用

运行步骤

  1. 运行start.sh脚本启动Docker容器
  2. 清理out-data目录
  3. 创建spark-network网络
  4. 重新构建并启动容器
  5. 通过Spark UI监控任务进度,访问地址: http://0.0.0.0:8080/

资源配置

  • Spark Master CPU:8, RAM: 16
  • Spark Worker-1 CPU:8, RAM: 8
  • Spark Worker-2 CPU:8, RAM: 8

代码结构

  • Job1

    • 使用myPackage.Job1类处理数据
    • 主要方法包括数据连接、销售计算等
  • Job2

    • 使用myPackage.Job2类处理数据
    • 主要方法包括数据连接、价格变化计算等

可能的错误

  • 端口冲突: 确保8080和7077端口未被占用
  • Docker安装: 确保Docker已正确安装
  • Docker命令: 根据Docker版本使用docker-compose updocker compose up
搜集汇总
数据集介绍
main_image_url
构建方式
该数据集通过Docker容器技术部署了一个基于Apache Spark的分布式计算环境,使用Scala语言编写了两个独立的作业(Job1和Job2)。数据集的核心由两个主要表格构成:`orders`和`products`。`orders`表记录了客户的订单信息,包括客户ID、位置、卖家ID、订单日期、订单ID、价格、产品ID和订单状态等字段;`products`表则包含了产品的品牌、类别、产品ID和产品名称等信息。数据集的构建过程涉及数据的读取、清洗、计算和输出,最终结果通过Spark作业生成并存储在文件系统中。
特点
该数据集的特点在于其高度结构化的数据格式和丰富的字段信息,能够支持复杂的业务分析需求。`orders`表提供了详细的交易记录,涵盖了订单的各个维度,而`products`表则为产品信息提供了全面的描述。通过Spark的分布式计算能力,数据集能够高效处理大规模数据,并支持实时计算和批量处理。此外,数据集的设计还考虑了数据的变化性,能够捕捉产品价格的动态变化,并通过作业输出价格变化的趋势分析。
使用方法
使用该数据集时,首先需要确保本地环境中已安装Docker,并具备足够的计算资源。通过运行`start.sh`脚本,用户可以自动启动Docker容器并部署Spark集群。随后,Spark作业将自动执行,分别完成订单数据的统计分析和产品价格变化的计算。用户可以通过访问Spark UI(http://0.0.0.0:8080/)监控作业的执行状态。作业完成后,结果文件将存储在`out_data`目录中,用户可以根据需求进一步分析或导出这些数据。整个过程通常耗时2-3分钟,适合快速迭代和验证数据分析模型。
背景与挑战
背景概述
orders, products数据集由Trendyol数据工程团队创建,旨在解决电子商务领域中的订单与产品数据分析问题。该数据集包含订单和产品两个主要数据表,分别记录了客户订单信息和产品详细信息。通过使用Apache Spark和Scala技术栈,研究人员能够高效处理大规模数据,并从中提取有价值的商业洞察。该数据集的创建时间不详,但其应用场景广泛,尤其在电商平台的销售分析、库存管理和价格策略优化等方面具有重要影响力。
当前挑战
orders, products数据集在解决电商领域的数据分析问题时面临多重挑战。首先,订单数据的动态性和复杂性使得实时计算净销售额、毛销售额等关键指标变得困难,尤其是在处理大规模数据时,计算效率和准确性难以兼顾。其次,构建过程中,数据清洗和整合的复杂性较高,尤其是在处理订单状态(如取消、退货)时,如何准确计算净销售额成为一大难题。此外,产品价格变化的追踪和分析也需要精细的时间序列处理,确保价格波动能够被准确捕捉并反映在最终的分析结果中。这些挑战不仅考验数据处理技术的性能,也对算法的设计和实现提出了更高的要求。
常用场景
经典使用场景
在电子商务领域,订单和产品数据集被广泛应用于销售分析和库存管理。通过分析订单数据,企业可以了解客户的购买行为、产品的销售趋势以及市场需求的波动。产品数据集则帮助企业优化产品分类、定价策略和供应链管理。这些数据的结合使用,能够为企业的决策提供强有力的数据支持。
解决学术问题
该数据集解决了电子商务领域中的多个学术研究问题,如销售预测、客户行为分析和价格弹性研究。通过计算净销售额、毛销售额以及产品价格变化,研究人员能够深入理解市场动态和消费者偏好。这些分析结果为制定有效的市场营销策略和优化产品组合提供了科学依据。
衍生相关工作
基于该数据集,衍生出了多项经典研究工作,如基于Spark的实时销售分析系统、价格变化预测模型以及客户细分算法。这些工作不仅推动了电子商务领域的技术进步,还为其他相关领域如物流管理和供应链优化提供了新的研究思路和方法。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作