img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

整个物流项目技术亮点:

在这里插入图片描述

02–[了解]-第1天课程内容提纲

主要讲解2个方面的内容:物流项目概述

  • 1)、物流项目概述
    • 项目整体介绍,比如项目背景、项目功能实现盈利(针对物流快递公司)等等
    • 物流项目中,实时大屏展示
    • 项目业务核心流程,物流快递行业发送快递流程
    • 项目逻辑架构
    • 项目数据流转图和核心业务剖析
    • 项目中非功能新说明,开发周期,服务器配置,软件版本,技术选项等等

1615516050929

03–[掌握]-项目整体介绍

在整个中,最后给大家展示:实时大屏统计分析,实时性要求不是很高,分钟基本延迟。

实时大屏每隔10秒,刷新一下记录,从ClickHouse 数据库中查询分析数据,进行大屏展示。

在这里插入图片描述

1)、行业背景介绍:

​ 自从国内电商购物节开始以后,每年用户电商APP购买物品增加,快递数量指数级别增长。

1615516364716

  • 2)、物流行业特点:属于复合型产业,实时产生大量的业务数据,需要关联性分析处理。

1615516445958

  • 3)、项目背景介绍:基于上述诉求,需要将快递物流产生相关业务数据,存储到大数据平台引擎中,进行分析(离线报表和实时查询检索)。

1615516548580

  • 4)、物流大数据作用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RadClEeU-1625444773065)(/img/1615516690862.png)]

  • 5)、物流大数据应用案例
    • 传统物流行业报表分析,依然需要完成的,统计
    • 大数据应用主要体现在车货匹配、运输路线优化、库存预测、设备修理预测、供应链协同管理等方面

04–[理解]-物流实时大屏系统

​ 从实时OLAP数据库ClickHouse表中读取数据,大屏每隔10秒查询数据库表,将数据展示前端大屏,具体如下图所示:

1615517773800在这里插入图片描述

针对实时大屏来说:

  • 1)、大屏展示,如何做的??NodeJS和Vue
  • 2)、数据实时查询,存储在哪里???ClickHouse数据库

1615518197377

上述为整个实时大屏展示技术流程图,大家务必记清楚。

05–[理解]-项目核心业务流程

了解针对物流快递行业来说,业务流程是如何进行的:从客户A下单开始,一直到,客户B收到快件结束。

1615519058188

快递业务流程:

  • 1)、发货客户:客户下单
  • 2)、受理部分:快递员上门取货
  • 3)、发货网点仓库:将快递放到网点仓库,其中需要分类处理,等到运输配送
  • 4)、中转仓库:可选,只有不能直接送到,经过中转仓库,需要再次配送
  • 5)、目的部门:快递经过运输,已经送达到目的地网点,分配给相应派送人员
  • 6)、收货客户:收取快递。

06–[理解]-项目逻辑架构

​ 接下来,看一下整个物流项目:逻辑技术架构图,项目中每个步骤使用什么技术,技术选项(为什么选这个技术框架)。

在这里插入图片描述

AdHoc:即席查询,即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是由用户自定义查询条件的。

即席查询,在大数据领域中,比较普遍需求,随时依据用户的需求,查询分析海量数据。

1615520350430

在神策数据产品中,用户自定义查询,就是所说的即席查询,底层使用Impala分析引擎。

1615520489122

思考:为什么选择这些技术框架,原因是什么???

  • 1)、异构数据源:表示业务数据存储到不同系统中,此处仅仅演示2个数据库

1615520562416

  • 2)、数据采集平台:物流项目数据采集属于实时增量采集,类似Flume日志数据。

1615520585596

  • 3)、数据存储平台

1615520679816

  • 4)、数据计算平台:实时查询(Impala和StructuredStreaming、ES)和离线分析(SparkSQL)

1615520701818

  • 5)、大数据平台应用

1615520747674

07–[掌握]-项目数据流转及核心业务

任何一个大数据项目,首先数据流转图:项目数据从哪里来的,存储到哪里去,进行什么应用分析。

1612062344860

  • 1)、业务服务器(存储业务数据)
    • 物流项目来说,需要将多个业务系统数据,实时采集到大数据框架Kafka中
    • 物流系统Logistics业务数据,存储Oracle数据库
    • CRM客户关系管理系统业务数据,存储MySQL数据库

1615520934019

  • 2)、大数据服务器(存储业务数据、分析数据和调度执行)

    • 第一部分功能、离线报表和即席查询

      • 将业务数据实时增量存储数据库:Kudu(类比HBase数据库)
      • SparkSQL分析Kudu表数据,进行离线报表统计
      • Impala查询Kudu表数据,进行即席查询,一对CP组合1615521044685
    • 第二部分功能:实时大屏展示

      • 将业务数据存储到ClickHouse表中,需要实时查询 ,快速的查询(分组,聚合和排序)
      • 通过服务接口对外提供数据查询功能及数据导出。1615521150871
    • 第三部分功能:物流信息检索

      • 将核心业务数据(快递单数据和运单数据)存储至Elasticsearch索引中,可以快速检索物流1615521233813
  • 3)、如何将业务数据实时ETL存储到Es、CK或Kudu中呢??

    • 编写结构化流应用程序,实时从Kafka消费数据,进行ETL转换后,存储到各种存储引擎。
val spark: SparkSession 

spark.readStream.format("kafka").option().load

streamDF.writeStream.format("es/clickhouse/kudu").option().start

08–[理解]-项目技术选型及软件版本

针对每个项目来说,要清楚一点,技术框架选择(为什么选择)。

  • 1)、流式处理平台:采用Kafka作为消息传输中间介质

在大数据领域中,主要是实时数据分析,实时数据ETL转换等等,基本上都是从Kafka消费数据。

1615521764969

  • 2)、分布式计算平台:分布式计算采用Spark生态

在大数据分析中,可以使用Spark解决问题,就不要考虑Flink框架。

1615521850305

​ 本项目使用Structured Streaming开发实时部分,同时离线计算使用到SparkSQL,而Spark的生态相对于Flink更加成熟,因此采用Spark开发。

为什么不使用SparkStreaming进行实时数据ETL转换存储呢??而是使用StructuredStreaming...

  • 3)、海量数据存储

    • ETL后的数据存储到Kudu中,供实时、准实时查询、分析

    Kudu数据库,提供HBase数据库:随机读写数据;提供HDFS文件系统功能:批量快速加载数据

1615521957745

  • Elastic Search作为单据数据的存储介质,供顾客查询订单信息

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

e64f88a5e1.png)

  • Elastic Search作为单据数据的存储介质,供顾客查询订单信息

[外链图片转存中…(img-CUJnd8m3-1715506022547)]
[外链图片转存中…(img-Bgs3BtRg-1715506022547)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐