大数据 陈涛-喜马拉雅数据计算平台xql
2020-02-27 634浏览
- 1.喜⻢马拉雅数据计算平台XQL 数据组 陈涛 2017.11
- 2.Outline » XQL总览 » 系统演进过程 » 周边产品 » 经验总结 » 未来展望
- 3.XQL总览 » 研发背景 » 总体架构 » 使⽤用⼈人群与场景
- 4.XQL总览 研发背景
- 5.XQL总览 研发背景 ړຉ ӱݎۓ හഝݎ አಁᗭ֛ ᦇᓒක ಗᤈ᭛ଶౌ ಸᤒޮ๗ᳩ හഝਂؙ MVRQړຉࢯᵙ P\VTOړପړᤒ
- 6.XQL总览 研发背景 ړຉ ӱݎۓ SQL හഝݎ Core አಁᗭ֛ ᦇᓒක ׁᩢKLYHزහഝ ᇇݒๅ᷇ᔺ හഝਂؙ හഝړව ໒ୗݱ
- 7.XQL总览 总体架构 ;4/֛ຝࢶ
- 8.XQL总览 总体架构 » memory: 4T » spark Task: 200w+ » XQL job: 4000+ » dataSource:hdfs、hive、hbase、es、kafka、mysql、pg » fileFormat: parquet、orc、csv、json、xml
- 9.XQL总览 使⽤用⼈人群与场景
- 10.系统演进过程 » v1版本 » v2版本 » v3版本
- 11.系统演进过程 v1版本架构 ၨᥦ ๐੶ۓ ᭗੶מ ᦇᓒක v1ᇇຝࢶ ᚕ
- 12.系统演进过程 v1版本通信逻辑 client 用户提交 Http server 返回异步ID LocalProxy 请请求求可可用用地地址址 启启动动注注册册 Single Spark Application on Yarn Spark Driver JVM 通通知知mmaasstteerr MMaasstteerr 共共享享SSppaarrkkCCoonntteexxtt 分分配配执执行行 WWoorrkkeerr WWoorrkkeerr 隔隔离离SSppaarrkkSSeessssiioonn 通知proxy SSppaarrkk RRSSppppccSSaapprrkkaarrEEkkxxSSeeEEppccxxuueeaaccttrrookkuurrttEEooJJ写写xxrrVVeeHHJJMMccVVuuDDMMttFFooSSrr JJVVMM SSppaarrkk EExxeeccuuttoorr JJVVMM 通知下载 DownloadHandler 下载结果 HDFS
- 13.系统演进过程 v1版本其他功能 » 采⽤用spark sql代替hive » spark常驻服务 » 对hbase和json的hive表做了了适配 » ⽀支持⽂文件的上传下载 » 提供rest接⼝口,⽀支持shell脚本和程序调⽤用
- 14.系统演进过程 v1版本存在的问题 » 数据源⽀支持⽐比较有限 » 依赖hive的元数据 » sql可读性差的问题仍未解决 » 服务稳定性不不⾼高 » 没有⽤用户权限验证 » ⼤大任务会耗尽所有资源
- 15.系统演进过程 v2版本架构 ၨᥦ ᚕ ๐੶ۓ ᭗੶מ եᤈ ᥴຉ ᦇᓒක v2ᇇຝࢶ ᐶᕚ॒ቘ
- 16.系统演进过程 v2版本综合demo Without XQL XQL
- 17.系统演进过程 v2版本load语法 » Datasource: » HDFS (parquet、orc、json、csv) » HBase » JDBC Sharding » Hive
- 18.系统演进过程 v2版本load语法
- 19.系统演进过程 v2版本save语法 » Datasink: » HDFS (parquet、orc、json、csv) » HBase » JDBC » Hive
- 20.系统演进过程 v2版本save语法
- 21.系统演进过程 v2版本web演示
- 22.系统演进过程 v2版本其他功能 » ⼤大任务报警机制 » 语法帮助,sql⾃自动⽣生成 » 上传下载对⽂文件智能转码 » 采⽤用spark的fair调度 » ⽀支持邮件订阅结果 » 统⼀一账户管理理
- 23.系统演进过程 v2版本监控报警 Spark Listener JobWaring Actor
- 24.系统演进过程 v2版本sql补全
- 25.系统演进过程 v2版本存在的问题 » 没有负载均衡 » 缺少权限和审计 » tableau(商业分析软件)的最后⼀一公⾥里里 » 开发⼈人员的拓拓展需求
- 26.系统演进过程 v3版本架构图 ၨᥦ WDEOHDX ᚕ եᤈ :HE๐ۓ :HE๐ۓ ᴴഴګ ๐੶ۓ ᭗੶מ ᥴຉ ᦇᓒක v3ᇇ لᐺํ᮱ᗟຝࢶ හഝ፡ ᧣ଶᔮᕹ ᐶᕚ॒ቘ
- 27.系统演进过程 v3版本通信逻辑 请求可用地址 返返回回可可用用地地址址 Client 用户提交 Http Server LocalProxy LoadBalance Service 请求LB 启动注册 Multiple Spark Application on Yarn Multiple Spark Application on Yarn Spark Driver JVM Master 共享sparkContext Worker Worker 隔离sparkSession SpSaprkarEkxeEScxpueatcroukrtEoJxVreMJcVuMtor JVM Spark Rpc Spark Executor JVM DownloadHandler EmailHandler HDFS
- 28.系统演进过程 v3版本权限模块 » id加密混淆 » 数据源读写权限验证 » ⽤用户操作⽇日志实时落盘
- 29.系统演进过程 v3版本权限模块
- 30.系统演进过程 v3版本权限模块
- 31.系统演进过程 v3版本权限模块 ٟᴴḵᦤ
- 32.系统演进过程 v3版本性能优化 » hbase增加snapshot的读取⽅方式 » 测试环境xql,内存400G » spark 2.2 » hbase 0.98.18
- 33.系统演进过程 v3版本性能优化 » ⼩小⽂文件写⼊入优化 » ⽀支持按字段merge » ⽀支持数据重排
- 34.系统演进过程 v3版本tableau⽀支持 »before:pg、hive »now:web connect
- 35.系统演进过程 v3版本其他功能 » 离线版本⽀支持⽤用户udf反射注册 » 提供公共classpath和私有classpath并存的部署模式,减少冲突 » ⽀支持kafka、es作为数据源 » ⽀支持xml格式的hdfs⽂文件 » ⽀支持灰度发布
- 36.周边产品 调度系统 Job DAG
- 37.周边产品 调度系统 Taskᖫᬋ
- 38.周边产品 调度系统 හഝᬌڊ
- 39.周边产品 数据看板
- 40.经验总结 » 单元测试的覆盖率 » 升级前预发布环境流量量重放 » 先⼩小⽽而美,再⼤大⽽而全,快速上线,持续迭代 » 注重⽤用户体验 » 积极参与社区
- 41.未来展望 » sql的优化建议 » 数据源⽀支持与强化:redis、carbondata、es与kafka » ⽀支持类似awk和grep的⽂文本格式的分析 » 多实例例的 AB test
- 42.THANKS --------- Q&A Section -------- 喜⻢马拉雅FM招⼤大量量Java开发 base 上海海、成都 todd.chen@ximalaya.com