Uber永世定位体系及时数据说明进程实践!
副问题[/!--empirenews.page--]
按照Gartner所言,到2020年,每个伶俐都市将行使约13.9亿辆联网汽车,这些汽车配备物联网传感器和其他装备。都市中的车辆定位和举动模式说明将有助于优化流量,更好的筹划决定和举办更智能的告白投放。譬喻,对GPS汽车数据说明可以应承都市基于及时交通讯息来优化交通流量。电信公司正在行使移动电话定位数据,辨认和猜测都市生齿的位置勾当趋势和保留地区。 本文,我们将接头在数据处理赏罚管道中行使Spark Structured Streaming对Uber变乱数据举办聚类说明,以检测和可视化用户位置实践。(注:本文所用数据并非Uber内部现适用户数据,文末附详细代码可能示例获取渠道) 起首,我们回首几个布局化流媒体涉及的观念,然后切磋端到端用例: 行使MapR-ES宣布/订阅变乱流 MapR-ES是一个漫衍式宣布/订阅变乱流体系,让出产者和斲丧者可以或许通过Apache Kafka API以并行和容错方法及时互换变乱。 流暗示从出产者到斲丧者的持续变乱序列,个中变乱被界说为键值对。 ![]() topic是一个逻辑变乱流,将变乱按种别区分,并将出产者与斲丧者疏散。topic按吞吐量和可伸缩性举办分区,MapR-ES可以扩展到很是高的吞吐量级别,行使平凡硬件可以轻松实现每秒传输数百万条动静。 ![]() 你可以将分区视为变乱日记:将新变乱附加到末端,并为其分派一个称为偏移的次序ID号。 ![]() 与行列一样,变乱按吸取次序转达。 ![]() 可是,与行列差异,动静在读取时不会被删除,它们保存在其他斲丧者可用分区。动静一旦宣布,就不行变且永世保存。 ![]() 读打动静时不删除动静担保了大局限读取时的高机能,满意差异斲丧者针对差异目标(譬喻具有多说话耐久性的多个视图)处理赏罚沟通动静的需求。 ![]() Spark数据集,DataFrame,SQL Spark数据集是漫衍在集群多个节点上类工具的漫衍式荟萃,可以行使map,flatMap,filter或Spark SQL来哄骗数据集。DataFrame是Row工具的数据集,暗示包括行和列的数据表。 ![]() Spark布局化流 布局化流是一种基于Spark SQL引擎的可扩展、可容错的流处理赏罚引擎。通过Structured Streaming,你可以将宣布到Kafka的数据视为无界DataFrame,并行使与批处理赏罚沟通的DataFrame,Dataset和SQL API处理赏罚此数据。 ![]() 跟着流数据的不绝撒播,Spark SQL引擎会慢慢一连处理赏罚并更新最终功效。 ![]() 变乱的流处理赏罚对及时ETL、过滤、转换、建计划数器、聚合、关联值、富厚其他数据源或呆板进修、耐久化文件或数据库以及宣布到管道的差异topic很是有效。 ![]() Spark布局化流示例代码 下面是Uber变乱数据聚类说明用例的数据处理赏罚管道,用于检测位置。 ![]() 行使Kafka API将行车位置数据宣布到MapR-ES topic 订阅该topic的Spark Streaming应用措施:
在MapR-DB JSON中存储转换和富厚数据。 ![]() 用例数据示例 示例数据集是Uber观光数据,传入数据是CSV名目,下面表现了一个示例,topic依次为: 日期/时刻,纬度,经度,位置(base),反向时刻戳 2014-08-06T05:29:00.000-07:00,40.7276,-74.0033,B02682,9223370505593280605 我们行使集群ID和位置富厚此数据,然后将其转换为以下JSON工具:
![]() 加载K-Means模子 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |