大数据物流项目:概述及Docker入门(一)
文章目录
- Logistics_Day01:项目概述及Docker入门
- 01-[理解]-客快物流大数据项目概述
- 02–[了解]-第1天课程内容提纲
- 03–[掌握]-项目整体介绍
- 04–[理解]-物流实时大屏系统
- 05–[理解]-项目核心业务流程
- 06–[理解]-项目逻辑架构
- 07–[掌握]-项目数据流转及核心业务
- 08–[理解]-项目技术选型及软件版本
- 09–[理解]-项目非功能描述
- 10–[了解]-技术亮点及服务器规划
Logistics_Day01:项目概述及Docker入门
每个知识点学习目标:了解(know)、理解(understand)、掌握(grasp)、复习(review)
01-[理解]-客快物流大数据项目概述
大数据分析中,主要分析引擎:
- 1)、MapReduce 分析引擎,更多使用Hive编写SQL,底层转换为MR程序
- 2)、Spark 分析引擎,物流项目,主要使用Spark 分析引擎处理分析数据:离线分析和实时分析
- DataFrame/Dataset = RDD + Schema
- 离线分析:SparkSQL、实时分析:StructuredStreaming
- 3)、Flink 分析引擎
大数据项目:业务数据量大(传统数据库RDBMS无法满足需求)和数据分析复杂性提高。
课程安排如下所示:主要分为3个部分内容
- 1)、项目概述和环境准备(数据采集)
- 2)、数据实时ETL存储和离线报表与即席查询、快速检索
- 3)、OLAP分析,使用ClickHouse数据库存储和查询
整个项目来说,属于Lambda架构项目,既有离线分析,又有实时分析,使用SparkSQL和Structured
- 1)、批处理层:
Batch Layer
,离线分析- 2)、速度层:
Speed Layer
,实时分析- 3)、服务层:
Server Lay
,提供离线分析和实时分析结果数据,便于查询和使用
整个物流项目技术亮点:
02–[了解]-第1天课程内容提纲
主要讲解2个方面的内容:物流项目概述
- 1)、物流项目概述
- 项目整体介绍,比如项目背景、项目功能实现盈利(针对物流快递公司)等等
- 物流项目中,实时大屏展示
项目业务核心流程,物流快递行业发送快递流程
项目逻辑架构
项目数据流转图和核心业务剖析
- 项目中非功能新说明,开发周期,服务器配置,软件版本,技术选项等等
03–[掌握]-项目整体介绍
在整个中,最后给大家展示:实时大屏统计分析,实时性要求不是很高,分钟基本延迟。
实时大屏每隔10秒,刷新一下记录,从ClickHouse 数据库中查询分析数据,进行大屏展示。
1)、行业背景介绍:
自从国内电商购物节开始以后,每年用户电商APP购买物品增加,快递数量指数级别增长。
- 2)、物流行业特点:属于复合型产业,实时产生大量的业务数据,需要关联性分析处理。
- 3)、项目背景介绍:基于上述诉求,需要将快递物流产生相关业务数据,存储到大数据平台引擎中,进行分析(离线报表和实时查询检索)。
- 4)、物流大数据作用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RadClEeU-1625444773065)(/img/1615516690862.png)]
- 5)、物流大数据应用案例
- 传统物流行业报表分析,依然需要完成的,统计
- 大数据应用主要体现在车货匹配、运输路线优化、库存预测、设备修理预测、供应链协同管理等方面
04–[理解]-物流实时大屏系统
从实时OLAP数据库
ClickHouse
表中读取数据,大屏每隔10秒查询数据库表,将数据展示前端大屏,具体如下图所示:
1615517773800
针对实时大屏来说:
- 1)、大屏展示,如何做的??NodeJS和Vue
- 2)、数据实时查询,存储在哪里???ClickHouse数据库
上述为整个实时大屏展示技术流程图,大家务必记清楚。
05–[理解]-项目核心业务流程
了解针对物流快递行业来说,业务流程是如何进行的:从客户A下单开始,一直到,客户B收到快件结束。
快递业务流程:
- 1)、发货客户:客户下单
- 2)、受理部分:快递员上门取货
- 3)、发货网点仓库:将快递放到网点仓库,其中需要分类处理,等到运输配送
- 4)、中转仓库:可选,只有不能直接送到,经过中转仓库,需要再次配送
- 5)、目的部门:快递经过运输,已经送达到目的地网点,分配给相应派送人员
- 6)、收货客户:收取快递。
06–[理解]-项目逻辑架构
接下来,看一下整个物流项目:逻辑技术架构图,项目中每个步骤使用什么技术,技术选项(为什么选这个技术框架)。
AdHoc
:即席查询,即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是由用户自定义查询条件的。即席查询,在大数据领域中,比较普遍需求,随时依据用户的需求,查询分析海量数据。
在神策数据产品中,用户自定义查询,就是所说的即席查询,底层使用Impala分析引擎。
思考:为什么选择这些技术框架,原因是什么???
- 1)、异构数据源:表示业务数据存储到不同系统中,此处仅仅演示2个数据库
- 2)、数据采集平台:物流项目数据采集属于实时增量采集,类似Flume日志数据。
- 3)、数据存储平台
- 4)、数据计算平台:实时查询(Impala和StructuredStreaming、ES)和离线分析(SparkSQL)
- 5)、大数据平台应用
07–[掌握]-项目数据流转及核心业务
任何一个大数据项目,首先数据流转图:项目数据从哪里来的,存储到哪里去,进行什么应用分析。
- 1)、业务服务器(存储业务数据)
- 物流项目来说,需要将多个业务系统数据,实时采集到大数据框架Kafka中
- 物流系统Logistics业务数据,存储Oracle数据库
- CRM客户关系管理系统业务数据,存储MySQL数据库
2)、大数据服务器(存储业务数据、分析数据和调度执行)
- 第一部分功能、离线报表和即席查询
- 将业务数据实时增量存储数据库:Kudu(类比HBase数据库)
- SparkSQL分析Kudu表数据,进行离线报表统计
Impala查询Kudu表数据
,进行即席查询,一对CP组合
- 第二部分功能:实时大屏展示
- 将业务数据存储到ClickHouse表中,需要实时查询 ,快速的查询(分组,聚合和排序)
- 通过服务接口对外提供数据查询功能及数据导出。
- 第三部分功能:物流信息检索
- 将核心业务数据(快递单数据和运单数据)存储至Elasticsearch索引中,可以快速检索物流
3)、如何将业务数据实时ETL存储到Es、CK或Kudu中呢??
- 编写
结构化流
应用程序,实时从Kafka消费数据,进行ETL转换后,存储到各种存储引擎。val spark: SparkSession spark.readStream.format("kafka").option().loadstreamDF.writeStream.format("es/clickhouse/kudu").option().start
08–[理解]-项目技术选型及软件版本
针对每个项目来说,要清楚一点,技术框架选择(为什么选择)。
1)、流式处理平台:采用Kafka作为消息传输中间介质
在大数据领域中,主要是实时数据分析,实时数据ETL转换等等,基本上都是从Kafka消费数据。
2)、分布式计算平台:分布式计算采用Spark生态
在大数据分析中,可以使用Spark解决问题,就不要考虑Flink框架。
本项目使用Structured Streaming开发实时部分,同时离线计算使用到SparkSQL,而Spark的生态相对于Flink更加成熟,因此采用Spark开发。
为什么不使用SparkStreaming进行实时数据ETL转换存储呢??而是使用StructuredStreaming...
3)、海量数据存储
ETL后的数据存储到Kudu中,供实时、准实时查询、分析
Kudu数据库,提供HBase数据库:随机读写数据;提供HDFS文件系统功能:批量快速加载数据
- Elastic Search作为单据数据的存储介质,供顾客查询订单信息
ClickHouse作为实时数据的指标计算存储数据库,进行大屏展示数据查询和数据接口
- ClickHosue数据库目前国内使用最为广泛之一OLAP分析数据库,诞生5年时间
- https://zhuanlan.zhihu.com/p/98135840
- 接口:往往就是URL地址,拼接参数数据,进行HTTP请求,将数据以JSON格式返回。
- 比如:获取用户访问网站IP地址,解析IP地址,获取省份和城市信息,需要请求高德地主APL
http://restapi.amap.com/v3/ip?key=e34eb745a49cd9907f15d96418c4f9c0&ip=116.30.197.230
框架软件版本:主要基于
CDH 6.2.1版本
(版本较新),将来编写简历时,此版本不可用使用CM安装CDH,采集单机部署,提供
node2.itcast.cn
虚拟机上,全部安装完毕,无需到操作。
新框架:Kudu和Impala都属于CDH产品,由于都是Cloudera公司开发的框架。
09–[理解]-项目非功能描述
在实际项目开发中,除了依据业务开发应用(实时ETL数据转换、报表分析、即席查询等)之外,比如集群规模、业务数据量、开发团队人员配置等等。
编写简历时,每个项目【非功能描述】准备好,牢记于心。
- 1)、框架版本选型
- 2)、服务器选型
不差钱,金融相关公司,使用物理机最好。
- 3)、集群规模
数据量:物流项目来说,核心数据【快递单】和【运单】等相关数据
- 4)、集群资源如下图所示
在实际项目,服务器来说,系统盘(安装操作系统)和数据盘(存储数据)时分开的,
- 5)、人员配置参考
- 6)、开发周期
10–[了解]-技术亮点及服务器规划
在项目该物流项目时,有哪些技术亮点:技术框架属于目前大数据技术中比较新的框架,使用较多的
客快物流大数据项目学习中,需要2台服务器(虚拟机)分别构建服务器环境,拓扑图如下:
因服务器资源有限,该项目采用两台服务器进行演示学习,每台服务器配置如下:
需要在windows映射配置文件,配置上述主机名和IP地址隐射:
C:\Windows\System32\drivers\etc\hosts
大数据物流项目:概述及Docker入门(一)相关推荐
- 大数据物流项目:Kudu 入门使用(五)
文章目录 Kudu 入门使用 01-[复习]-上次课程内容回顾 02-[了解]-第5天:课程内容提纲 03-[掌握]-数据实时ETL 处理流程图 04-[理解]-为什么使用Kudu(两大应用场景) 0 ...
- 大数据物流项目:业务服务器和大数据服务器(四)
文章目录 业务服务器和大数据服务器 01-[复习]-上次课程内容回顾 02-[了解]-第4天:课程内容提纲 03-理解]-Canal 数据同步之MySQL binlog日志 04-[理解]-Canal ...
- 大数据物流项目:业务服务器和大数据服务器(三)
业务服务器和大数据服务器 01-[复习]-上次课程内容回顾 主要讲解Docker 基本使用:Docker是什么.Docker 基本命令(镜像image命令和容器container命令). Docker ...
- 对于一个大数据应用项目/产品的落地,可以大致总结为五大步骤阶段?
对于一个大数据应用项目/产品的落地,可以大致总结为五大步骤阶段: 数据规划.数据治理.数据应用.迭代实施.商业价值. 第一阶段:数据规划 一个成功的大数据项目,需要有一个良好的开端,即做好数据规划阶段 ...
- 大数据介绍项目流程_大数据介绍
大数据介绍项目流程 About Big Data 关于大数据 什么是大数据?(What is Big Data?) In modern world, there are many big proble ...
- 海南省大数据管理局项目建设处刘雄:区块链技术在海南政务服务领域的典型应用
12月26日,2021CCF中国区块链技术大会在海南海口举办,本次会议由中国计算机学会(CCF)主办,中国计算机学会区块链专业委员会.海南大学承办,中科国鼎数据科学研究院协办.大会战略合作媒体巴比特现 ...
- 大数据开源项目,一站式全自动化全生命周期运维管家ChengYing(承影)走向何方?
原文链接:三分钟走进袋鼠云一站式全自动化全生命周期运维管家ChengYing(承影) 课件获取:关注公众号 ** "数栈研习社",后台私信 "ChengYing" ...
- 盘点2017年晋升为Apache TLP的大数据相关项目
本文原文:https://www.iteblog.com/archives/2310.html,如下面格式排版错乱,请点击下面阅读原文进入本博客阅读. 本文主要盘点了 2017 年晋升为 Apache ...
- 任谦:实践是大数据提升项目的灵魂丨优秀毕业生专访
[ 导读 ] 清华-青岛数据科学研究院(以下简称"数据院")自2014年4月成立以来,秉承"学校统筹,问题引导,社科突破,商科优势,工科整合,业界联盟"24字指 ...
- 对应chd5.14的spark_GitHub - shixiaopengql/BigData-News: 基于Spark2.2新闻网大数据实时系统项目...
基于Spark2.2新闻网大数据实时系统项目 1. 说明 2.环境配置 2.1 CDH-5.14.2 (安装步骤可参考地址),关于版本是按实际操作, CDH的版本兼容性很好. Service hado ...
最新文章
- 机器学习研究人员需要学习8种神经网络架构
- Windows保护模式学习笔记(五)—— 任务段任务门
- SasSHRM中基于shiro的认证授权:环境搭建
- antd table设置表格一个单元格的字体颜色_开源 UI 库中,唯一同时实现了大表格虚拟化和树表格的 Table 组件
- LeetCode MySQL 178. 分数排名(dense_rank连续排名)
- NLP简报(Issue#6)
- 010 Editor for Mac(十六进制编辑器)v12.0
- 提取win11最新等线字体1.18制作的magisk模块,有常规,加粗,和细体三个字重。
- 计算机的屏幕录像,如何进行电脑屏幕录像?电脑录制屏幕视频的方法|电脑屏幕录像的图文步骤...
- QQ出现大规模盗号,qq被盗发布不良信息怎么办
- c语言中比较两束大小,【 C 语言吧 · 文学 · 西游记 】
- Mac环境下简化ssh连接vlab口令实现免密登录(UNSW)
- 饿饿,饭饭「每日一题」
- PDF编辑方法,PDF文件怎么修改内容
- 为什么会出现慢SQL
- C语言中的全局变量定义与使用
- 2022-2028全球与中国员工时间管理系统市场现状及未来发展趋势
- 敏俊物联MJIOT-AMB-02 RTL8195M 高性能wifi模块
- 模块学习(三)——激光测距模块(TOF10120)
- 云计算的基本特征,主要有哪些?
热门文章
- 2018弱密码TOP 100
- 小程序代码包大小超出限制的解决办法
- 基于OP放大器的有源模拟滤波器设计--一阶有源滤波器
- 经纬度距离、范围、方位角计算、坐标转换
- 安装最好用的计算机软件,装机软件哪个好?教您最好的装机软件推荐
- matlab 二维矩形函数,rect矩形函数 matlab中怎样编写矩形函数
- MySQL(一)-MySQL安装、数据库的创建和操作、CRUD、MySQL常用函数、MD5加密
- [Matlab有限元分析] 1.有限元分析的发展、基本概念和特点
- word批量打印工具,c#写的
- 简单有效的记录日常收支