Agentic AI、具身智能、强化学习框架、端侧大模型……来QCon上海站,感受AI的未来! 了解详情
写点什么

Kylin 在携程的实践(下)

  • 2020-11-27
  • 本文字数:1587 字

    阅读完需:约 5 分钟

Kylin 在携程的实践(下)

案例分享


离线分析案例



携程之前使用的是 OpenTSDB+Hive。采用 Kylin 前,先从 Hive 先生成聚合表,然后导入 HBase,通过 OpenTSDB 去分析,现在积累了接近百亿的数据,随着数据的增长,老的方案已经无法满足业务需求了,而且同步数据成本高,OpenTSDB 没办法支持精准去重响应时间也很差。用了 Kylin 之后,现在的业务规模已经可以支撑上百亿了,目前已经配有 200 个左右的线上活跃的 Cube。


实时分析案例



这个是去年 3、4 月份用户提的新需求。Kylin 现在是上图所示的 Streaming-Cube 的架构,Kylin 接入的是携程的 Hermes,Hermes 是 Kafka 的一个封装。我们现在支持原生 Kafka 接入和 Hermes 接入,底层沿用 MR,因为我们测试过 Spark,其实很多的场景上和 MR 相当,效果不是特别明显。



这部分主要是用于度假预订状态告警,度假团队需要去分析用户预订的情况,准确实时地发送给客服人员任何预订失败等错误状况,所以这块对于数据构建落地的时间敏感度比较高。目前,通过一系列优化,Streaming 的构建基本保持在 5 分钟左右,可以满足一部分业务的需求。但是,更大的挑战是达到一分钟以内,也就是说秒级构建,所以对于我们来说 Streaming-realtime 会是一个值得尝试的方向。


展望


携程针对 Kylin 主要有两方面的展望。


1 支持自动构建 Cube


这块我们目前在调研,通过分析应用采集的元数据、SQL 特征,可以自动地为用户构建 Cube,为用户节约 Kylin 的学习成本,同时减少重复查询对于 MPP 的压力。


2 Real-time Streaming 的调研和落地


为了能够更加丰富 Kylin 的使用场景,我们打算对 eBay 为 Kylin 贡献的实时流处理技术做进一步调研和落地工作。


Q&A


Q:演讲中提到的构建的 Cube 有 20 个指标,这种情况下去重,是精准去重还是近似去重?有多少个指标呢?


A:用户配的是精确。精确去重指标不会太多。


Q:演讲中提到 20 个维度的响应时间是亚秒级,有 20 个维度。请问你们做了哪些优化的工作来达到如此快的响应时间?


A:我们构建的时候,对于这种维度多的情况,建议当用户采取了以下 3 种措施来优化查询:


  • 使用 Mandatory Dimension;

  • 实现分布式缓存;

  • 配置高基维度的时候,会建议他们把高基维度往前移,这样会更高效地命中 Cube,并减小扫描的数据范围)。


Q:配了 20 个维度,最终产生的 Cube 单日有多大?


A:最大的 Cube 日产生 13 T 的数据。


Q:刚刚提到的监控方案是你们自主研发的,还是有开源的方案可以用?


A:监控是我们自主研发的。我们接入了公司已经成熟的监控平台,避免反复造轮子。


Q:分享里提到的实时 5 分钟构建一次,我理解是采用批操作,并不是真正的流,而是把流几分钟拆成一个批次。是吗?


A:对的。


Q:前面讲到底层用的 MR,没用 Spark,因为觉得时间上并没有什么节省。这个是 Spark 本身的原因,还是因为你们的任务还不是很大的量?因为每次 Spark 启任务的时间和 MR 相比有差别?


A:离线这块目前可以达到要求,所以还没有转成 Spark。我们在实时这块用 Spark 的过程中,就是像你说的,每次提交任务就很慢,达不到要求。


Q:是因为频繁提交的问题?不是因为它本身?


A:对,不是因为它本身。我们也在调研如何避免每个构建过程都启动一次 driver。


Q:在我之前的应用场景里,有一个维度特别的高基维,每天增量就很大,我们查询机制里这个维度是必选的。比如说是人的工号,里面放了很多人,然后我们要去预计算,如果说这个维度非常高,数据量会非常大,这种情况下你们会采取什么办法呢?


A:高基字段可以设置下 shard by。


Q:携程每天预计算的集群大概是有多大?


A:离线集群是 2 台物理机,每台 100 多 G 的物理机,查询节点放了 4 台虚机。实时这块,因为用户量目前不多,所以都是建在虚机上,所以内存也不大。


Q:在维度特别大,数据量又很大的情况下,剪枝的话,Cuboid 大概会控制在多少?


A:维度特别大的情况,我们最多是 4096 个 Cuboid。


本文转载自公众号 apachekylin(ID:ApacheKylin)。


原文链接


Kylin 在携程的实践(下)


2020-11-27 10:101472

评论

发布
暂无评论
发现更多内容

Lattice – 基于扩展点的多维度业务定制叠加

原力在线

架构 lattice 高可扩展

互联网都在说降本增效,小红书技术团队是怎么做的?

小红书技术REDtech

5.外包学生管理系统实战

程序员小张

「架构实战营」

内部CRM和商业化SAAS CRM的区别

久歌

SaaS 架构设计 CRM

腾讯智慧农业首次亮相,助力青海大通农产品走进大湾区

科技热闻

2022腾讯Techo前沿技术论坛召开,六位科学家分享前沿科学成果

科技热闻

1-5-10 快恢在数字化安全生产平台 DPS 中的设计与落地

阿里巴巴云原生

阿里云 云原生 数字化安全生产平台

快速开发协同办公OA系统 让企业管理提质增效

力软低代码开发平台

空间节省50%,时序性能提升5倍,三一重工从Hadoop+Spark到MatrixDB架构变迁实现One for ALL

YMatrix 超融合数据库

三一重工 超融合数据库 数据库· YMatrix

数据治理:指标体系管理

用友BIP

NFTScan 与 Merlin Protocol 达成战略合作伙伴,双方将在 NFT 数据层面展开深度合作

NFT Research

NFT 数据基础设施

声网王浩宇:RTE 场景下的 Serverless 架构挑战【RTE 2022】

声网

架构 实时互动

TitanIDE引领企业开发工具变革

行云创新

ide CloudIDE WebIDE

Istio的使用场景

穿过生命散发芬芳

istio 12月月更

Flask上手:step by step

无人之路

flask web开发 Web应用开发 Python. python web

NTFS读写工具Tuxera for Mac2023下载及功能介绍

茶色酒

Tuxera2022 Tuxera NTFS2022 Tuxera NTFS Mac2022

AI 作画领域中的“神笔马良”是怎样炼成的?

行者AI

MySQL索引的底层数据结构原理剖析(二叉树、 红黑树、Hash、B-Tree、B+Tree)

C++后台开发

MySQL 数据结构 后端开发 底层原理 C++开发

国产智能BI产品崛起,帆软Fine BI、瓴羊Quick BI等应该如何选择

小偏执o

一图读懂《2022 年中国政企数智办公平台行业研究报告》

融云 RongCloud

办公 数智化 图论

Wallys//QCN9074/QCN9024/WiFi6/WiFi6E/4x4 MU MIMO Dual Band WiFi Module MiniPCIe/industrial wifi6 moudle

wallysSK

QCN9074 QCN9024 QCN9072

API网关与南北向安全设计

阿泽🧸

API网关 12月月更

腾讯云NoSQL数据库产品2022再迎升级,多项技术细节首次公开

科技热闻

iOS 15 TableView willDisplayCell获取失败

刿刀

UITableView iOS16

超聚变服务器操作系统FusionOS与阿里云PolarDB数据库完成兼容性认证

阿里云数据库开源

阿里云 开源数据库 polarDB PolarDB-X PolarDB for PostgreSQL

教你用JavaScript实现粘性导航

小院里的霍大侠

JavaScript 编程开发 初学者 入门实战

如何在Ubuntu20.04上安装RDP远程

吴脑的键客

ubuntu DevOps RDP

使用 JS 转换数据的最佳实践

夏木

typescript data-convert

服务超80家金融行业头部企业,腾讯会议将支持混合云部署

科技热闻

量化合约对冲交易机器人app系统开发源代码部署

开发微hkkf5566

爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术

OpenAnolis小助手

开源 cpu 爱奇艺 混部 龙蜥操作系统

Kylin 在携程的实践(下)_架构_apachekylin_InfoQ精选文章