【物流大数据实践】基于阿里云Maxcompute实现物流跟踪

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 摘要: 目前我国物流业保持较快增长,但还是存在一些问题:物流成本高、效率低,条块分割严重(自营物流、规模小、技术落后、标准不统一)、基础设施相对滞后(物流基础设施之间不衔接、不配套),对订单创建到用户签收整套完整流程缺乏完善的监控和预警手段.

免费开通大数据服务:https://www.aliyun.com/product/odps

摘要:

目前我国物流业保持较快增长,但还是存在一些问题:物流成本高、效率低,条块分割严重(自营物流、规模小、技术落后、标准不统一)、基础设施相对滞后(物流基础设施之间不衔接、不配套),对订单创建到用户签收整套完整流程缺乏完善的监控和预警手段.



基于建设统一物流平台的基本要求,用户希望打通各大系统,能够跟踪所有订单在物流系统中的流转过程、处理状态等信息,具体如下需求:

1:订单分为5个阶段,订单处理、发运处理、拣货出库、配送和签收

2:每个阶段的状态判定:未处理、一般报警、严重报警、完成

3:超期天数:需要判定基于订单、装运单的超期天数

4:进度:当前阶段的进度百分比                        

ff43993009168414dae85d08e5d422a1566c314d


由上图我们能够分析得出此需求可能涉及多个系统的数据整合,其中订单来源于ERP系统,发运处理和拣货出库数据来源SAP系统,而配送签收就需要使用到GPS等外部系统数据。实际场景中订单、交货单、运单分别来自不同的数据库,所以整体工作项包括:

1、首先要进行数据的整合上云  

2、利用阿里云大数据计算服务进行数据处理和预警判定产生预警结果

3、将预警结果同步到本地预警数据库中

4、本地搭建订单预警应用使用预警数据库进行可视化展示


bf79d4076f25501bf8ee3bbc2eae29178978c056



bee5940d79a10ac8b919e434b3d164952ab834a7

技术架构

218c255b16900c62f0dd4529ce292c0b742052e6

主要处理流程:

bb3ff62f42df8a963e958dcc4f84ad3535614939


开发环境:windows7、Python、Data IDE

工具:DataX、Data IDE、Eclipse



【正文】
一、数据同步上云

安装Python环境>下载datax客户端>创建项目>创建表>编写json配置文件>同步数据到odps       

Python地址:https://www.python.org/downloads/

Datax地址:http://datax-opensource.oss-cn- hangzhou.aliyuncs.com/datax.tar.gz"


1基于阿里云大数据平台创建数据同步表

1.1.首先您需要阿里云账号并已开通大数据计算服务,如果您已开通大数据计算服务,则直接进入控制台点击“大数据开发套件”进入Data IDE环境。

1.2.点击管理控制台,进入管理控制台页面,点击创建项目,新建MaxCompter项目

c7659b6722ea1500c5854de7696ec8428003fbb6

1.3.点击进入工作区,进入到odps工作空间,工具栏点击【新建】,选择新建表

f9551dce87e8a0c212d26ab49ae9b055a4acffd6

对应本地数据订单抬头表,将需要进行数据处理的字段提出来,新建表sql如下

45b629af8b05362750d75b1cda6d76d49ebcc942



注:登录阿里云市场点击【我的头像】点击【管理控制台】下的【大数据开发套件】,进入项目管理找到自己新建的项目点击【进入工作区】,在IDE工作环境中标题栏中选择【数据管理】。在左边标题栏下点击【数据表管理】,加载出数据管理页面。找到我【管理的表】,点击查看                        

103fb092f9a67a7d7705a1712e9ea96e259b64cc

以上就完成了Maxcompute建立项目和建表的工作内容。


2、配置DataX数据同步配置文件

  首先需要下载的dataxdatax 是不同类型的数据库中间交换数据的工具

6f2da4d8f7e534095cae8201d77f9865372aab30

5b4ba90fe2c86070e23efb082f278d6c618fa045



以上配置:MysqlReader通过JDBC连接器连接到远程的Mysql数据库,并根据用户配置的信息生成查询SELECT SQL语句,然后发送到远程Mysql数据库,并将该SQL执行返回结果使用DataX自定义的数据类型拼装为抽象的数据集,并传递给下游Writer处理。odpsWriter 通过 DataX 框架获取 Reader 生成的协议数据,根据你配置的 writeMode 生成。

打开cmd.exe命令行窗口  输入datax文件地址我的是:D:\programFiles\file2\datax\bin
执行命令 datax.py   ..\job\t_oc_hostorderline.json. 

3bbb1011351734f0b065228f42f68b7ef72fbdd6

执行成功

c5808e8c756dc7e49443abb60c41c9f3dca69dc7

注:datax window下乱码异常解决方式

打开cmd.exe命令行窗口,通过chcp命令改变代码页为65001

chcp 65001
在命令行标题栏上点击右键,选择“属性”->“字体,将字体修改为True Type字体“Lucida Console”,然后点击确定将属性应用到当前窗口


3、查看云上表数据

    登录阿里云市场点击【我的头像】点击【管理控制台】下的【大数据开发套件】,进入项目管理,找到自己新建的项目点击【进入工作区】,在IDE工作环境中标题栏中选择【数据管理】。在左边标题栏下点击【数据表管理】,加载出数据管理页面。找到我【管理的表】,点击查看

290b38693d0f62008af56b435413e24efcfca97b

双击【t_oc_hostorderline】进入表的详情页面在表的详情页面点击【数据预览】。下面出现本地数据,说明数据本地同步到odps成功

5690b0f7e8b1aba3807f94617b2111d44f805da7


二、数据处理、预警判定、结果集输出

   我们使用阿里云Data IDE流程组件中的ODPS_SQL节点来进行数据处理(包括数据集合并、单位统一、数据空值补全等),然后基于阿里云标准开发自定义的MR来进行预警判定,最后将预警结果写入到结果表中,具体操作步骤如下:


1.建立任务

登录阿里云市场点击【我的头像】点击【管理控制台】下的【大数据开发套件】,进入项目管理找到自己新建的项目点击【进入工作区】,在工具栏点击【新建】,选择新建

选择工作流任务,周期调度

534d7a934c0e2fd0e4b2aa3930c32686442b1ca3

2.获取订单信息,交货单信息,运单信息,根据订单号组装成预警判定所需要的订单预警对象,根据订单号分组组装成完整的预警数据对象cb42fb119cec886915a8faf9783e1d8b8fc71a5a

3.选择节点组件的虚节拖拽连接完整的处理流程

29152fa2297bc7ac7a19a595ad956880831abed5


ODPS_SQL节点,以SQL语句来进行多表数据的合并、空数据补全、单位统一等处理

OPEN MR节点,使用JAVA语言开发的自定义预警MapReduce程序(打包为jar上传到平台使用)


feefc3731d49f4091dcbf4411555327b441c16ed

de8154cb44fcd19e5ae9bdc76d39e0f2632a4511

    以上流程开发完毕后即可点击"测试"按钮,测试运行整个流程任务,也可设置任务为周期任务设置任务定时启动的时间,这样任务就可以按照设定周期性的定时执行。

    

    以上流程中,在ODPS SQL进行数据处理之后,结果作为MapReduce输入表,以订单号作为key,订单预警对象作为value,分发给不同的Reduce进行规制判定,将满足预警条件的结果写入MaxCompute结果表【orderalarm_result】中

431fae9cef2e614ec5ea84336d2c495926b13b5f


三、计算结果同步到本地

   通过以上流程任务的运行,已经产生了我们需要的预警结果数据,但用户不希望将预警结果数据放在云端使用,用户想将结果数据能够放在本地MySQL或其它数据库中,基于本地搭建预警应用使用本地数据库中的数据进行可视化展示

    基于以上用户需求,我们只基于云平台产生了预警结果数据,接下来我们还需要将云端的数据同步到本地。

  (我们使用DataX工具设置job任务将大数据平台结果表中的数据同步到本地预警平台数据库的预警结果表中)

1新建配置文件 

 t_oc_hostorderline2.json,job文件内容如下


1ce311751547e127468747f1b950fe8cebb0ccd8

打开cmd.exe命令行窗口  输入datax文件地址我的是:D:\programFiles\file2\datax\bin
执行命令 datax.py   ..\job\result.json. 

5941e09d4611e5597b74f30738a85763a12c0b4f



3查看本地数据库

507a846843f499787cb17fb5ec2c6a8cfd9a555f

四、可视化展示

    将云上预警结果数据同步到本地数据库以后,用户即可基于本地环境搭建预警应用,使用本地数据库中的数据来进行可视化展示。


1建立ssm项目添加订单预警

626a33531f36e4a26fda34384079f1439fc49014

2、展示页面

5b0598b392f82ff2d857eadfad09289d2ad1d1a5


以上基于阿里云MaxCompute平台通过:数据上云、大数据计算、云上数据同步到本地、本地可视化展示  四大步来讲解如何实现物流订单的预警与跟踪。


其主要用到的工具包括:DataX(数据同步/集成工具)、Data IDE(大数据开发套件)、Eclips(Java、MapReduce开发)。



-END-


转自蓝智云海公众号


相关文章

https://yq.aliyun.com/articles/72250

https:// yq.aliyun.com/articles/70510

https://yq.aliyun.com/articles/70509

https:// yq.aliyun.com/articles/69333

https://yq.aliyun.com/articles/68211

https://yq.aliyun.com/articles/67275

https://yq.aliyun.com/articles/70359

https://yq.aliyun.com/articles/70353

https://yq.aliyun.com/articles/70412

https://yq.aliyun.com/articles/70347

bba01b493e1c5d904e882b1c380673c6ebe49a98

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1天前
|
机器学习/深度学习 人工智能 分布式计算
我的阿里云社区年度总结报告:Python、人工智能与大数据领域的探索之旅
我的阿里云社区年度总结报告:Python、人工智能与大数据领域的探索之旅
59 35
|
11天前
|
数据采集 人工智能 分布式计算
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
39 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
|
18天前
|
存储 人工智能 数据管理
|
12天前
|
存储 人工智能 数据管理
媒体声音|专访阿里云数据库周文超博士:AI就绪的智能数据平台设计思路
在生成式AI的浪潮中,数据的重要性日益凸显。大模型在实际业务场景的落地过程中,必须有海量数据的支撑:经过训练、推理和分析等一系列复杂的数据处理过程,才能最终产生业务价值。事实上,大模型本身就是数据处理后的产物,以数据驱动的决策与创新需要通过更智能的平台解决数据多模处理、实时分析等问题,这正是以阿里云为代表的企业推动 “Data+AI”融合战略的核心动因。
|
17天前
|
机器学习/深度学习 分布式计算 数据挖掘
MaxFrame 性能评测:阿里云MaxCompute上的分布式Pandas引擎
MaxFrame是一款兼容Pandas API的分布式数据分析工具,基于MaxCompute平台,极大提升了大规模数据处理效率。其核心优势在于结合了Pandas的易用性和MaxCompute的分布式计算能力,无需学习新编程模型即可处理海量数据。性能测试显示,在涉及`groupby`和`merge`等复杂操作时,MaxFrame相比本地Pandas有显著性能提升,最高可达9倍。适用于大规模数据分析、数据清洗、预处理及机器学习特征工程等场景。尽管存在网络延迟和资源消耗等问题,MaxFrame仍是处理TB级甚至PB级数据的理想选择。
45 4
|
2月前
|
存储 消息中间件 分布式计算
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
Cisco WebEx 早期数据平台采用了多系统架构(包括 Trino、Pinot、Iceberg 、 Kyuubi 等),面临架构复杂、数据冗余存储、运维困难、资源利用率低、数据时效性差等问题。因此,引入 Apache Doris 替换了 Trino、Pinot 、 Iceberg 及 Kyuubi 技术栈,依赖于 Doris 的实时数据湖能力及高性能 OLAP 分析能力,统一数据湖仓及查询分析引擎,显著提升了查询性能及系统稳定性,同时实现资源成本降低 30%。
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
|
25天前
|
SQL DataWorks 数据可视化
阿里云DataWorks评测:大数据开发治理平台的卓越表现
阿里云DataWorks是一款集数据集成、开发、分析与管理于一体的大数据平台,支持多种数据源无缝整合,提供可视化ETL工具和灵活的任务调度机制。其内置的安全体系和丰富的插件生态,确保了数据处理的高效性和安全性。通过实际测试,DataWorks展现了强大的计算能力和稳定性,适用于中小企业快速搭建稳定高效的BI系统。未来,DataWorks将继续优化功能,降低使用门槛,并推出更多灵活的定价方案,助力企业实现数据价值最大化。
|
26天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
62 2
|
2月前
|
存储 分布式计算 大数据
【赵渝强老师】阿里云大数据生态圈体系
阿里云大数据计算服务MaxCompute(原ODPS)提供大规模数据存储与计算,支持离线批处理。针对实时计算需求,阿里云推出Flink版。此外,阿里云还提供数据存储服务如OSS、Table Store、RDS和DRDS,以及数据分析平台DataWorks、Quick BI和机器学习平台PAI,构建全面的大数据生态系统。
91 18
|
21天前
|
SQL 存储 分布式计算
阿里云 Paimon + MaxCompute 极速体验
Paimon 和 MaxCompute 的对接经历了长期优化,解决了以往性能不足的问题。通过半年紧密合作,双方团队专门提升了 Paimon 在 MaxCompute 上的读写性能。主要改进包括:采用 Arrow 接口减少数据转换开销,内置 Paimon SDK 提升启动速度,实现原生读写能力,减少中间拷贝与转换,显著降低 CPU 开销与延迟。经过双十一实战验证,Paimon 表的读写速度已接近 MaxCompute 内表,远超传统外表。欢迎体验!

相关产品

  • 云原生大数据计算服务 MaxCompute