加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Uber永世定位体系及时数据说明进程实践!

发布时间:2018-08-26 04:47:32 所属栏目:教程 来源:赵钰莹
导读:按照Gartner所言,到2020年,每个伶俐都市将行使约13.9亿辆联网汽车,这些汽车配备物联网传感器和其他装备。都市中的车辆定位和举动模式说明将有助于优化流量,更好的筹划决定和举办更智能的告白投放。譬喻,对GPS汽车数据说明可以应承都市基于及时交通讯
副问题[/!--empirenews.page--]

按照Gartner所言,到2020年,每个伶俐都市将行使约13.9亿辆联网汽车,这些汽车配备物联网传感器和其他装备。都市中的车辆定位和举动模式说明将有助于优化流量,更好的筹划决定和举办更智能的告白投放。譬喻,对GPS汽车数据说明可以应承都市基于及时交通讯息来优化交通流量。电信公司正在行使移动电话定位数据,辨认和猜测都市生齿的位置勾当趋势和保留地区。

本文,我们将接头在数据处理赏罚管道中行使Spark Structured Streaming对Uber变乱数据举办聚类说明,以检测和可视化用户位置实践。(注:本文所用数据并非Uber内部现适用户数据,文末附详细代码可能示例获取渠道)

起首,我们回首几个布局化流媒体涉及的观念,然后切磋端到端用例:

行使MapR-ES宣布/订阅变乱流

MapR-ES是一个漫衍式宣布/订阅变乱流体系,让出产者和斲丧者可以或许通过Apache Kafka API以并行和容错方法及时互换变乱。

流暗示从出产者到斲丧者的持续变乱序列,个中变乱被界说为键值对。

Uber永世定位体系及时数据说明进程实践!

topic是一个逻辑变乱流,将变乱按种别区分,并将出产者与斲丧者疏散。topic按吞吐量和可伸缩性举办分区,MapR-ES可以扩展到很是高的吞吐量级别,行使平凡硬件可以轻松实现每秒传输数百万条动静。

Uber永世定位体系及时数据说明进程实践!

你可以将分区视为变乱日记:将新变乱附加到末端,并为其分派一个称为偏移的次序ID号。

Uber永世定位体系及时数据说明进程实践!
与行列一样,变乱按吸取次序转达。
Uber永世定位体系及时数据说明进程实践!

可是,与行列差异,动静在读取时不会被删除,它们保存在其他斲丧者可用分区。动静一旦宣布,就不行变且永世保存。

Uber永世定位体系及时数据说明进程实践!

读打动静时不删除动静担保了大局限读取时的高机能,满意差异斲丧者针对差异目标(譬喻具有多说话耐久性的多个视图)处理赏罚沟通动静的需求。

Uber永世定位体系及时数据说明进程实践!
Spark数据集,DataFrame,SQL

Spark数据集是漫衍在集群多个节点上类工具的漫衍式荟萃,可以行使map,flatMap,filter或Spark SQL来哄骗数据集。DataFrame是Row工具的数据集,暗示包括行和列的数据表。

Uber永世定位体系及时数据说明进程实践!
Spark布局化流

布局化流是一种基于Spark SQL引擎的可扩展、可容错的流处理赏罚引擎。通过Structured Streaming,你可以将宣布到Kafka的数据视为无界DataFrame,并行使与批处理赏罚沟通的DataFrame,Dataset和SQL API处理赏罚此数据。

Uber永世定位体系及时数据说明进程实践!

跟着流数据的不绝撒播,Spark SQL引擎会慢慢一连处理赏罚并更新最终功效。

Uber永世定位体系及时数据说明进程实践!

变乱的流处理赏罚对及时ETL、过滤、转换、建计划数器、聚合、关联值、富厚其他数据源或呆板进修、耐久化文件或数据库以及宣布到管道的差异topic很是有效。

Uber永世定位体系及时数据说明进程实践!
Spark布局化流示例代码

下面是Uber变乱数据聚类说明用例的数据处理赏罚管道,用于检测位置。

Uber永世定位体系及时数据说明进程实践!
行使Kafka API将行车位置数据宣布到MapR-ES topic

订阅该topic的Spark Streaming应用措施:

  • 输入Uber行车数据流;
  • 行使已陈设的呆板进修模子、集群ID和位置富厚行程数据;

在MapR-DB JSON中存储转换和富厚数据。

Uber永世定位体系及时数据说明进程实践!

用例数据示例

示例数据集是Uber观光数据,传入数据是CSV名目,下面表现了一个示例,topic依次为:

日期/时刻,纬度,经度,位置(base),反向时刻戳

2014-08-06T05:29:00.000-07:00,40.7276,-74.0033,B02682,9223370505593280605

我们行使集群ID和位置富厚此数据,然后将其转换为以下JSON工具:

  1. {  
  2. "_id":0_922337050559328,  
  3. "dt":"2014-08-01 08:51:00",  
  4. "lat":40.6858,  
  5. "lon":-73.9923,  
  6. "base":"B02682",  
  7. "cid":0,  
  8. "clat":40.67462874550765,  
  9. "clon":-73.98667466026531  
Uber永世定位体系及时数据说明进程实践!

加载K-Means模子

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读