01观远自助分析产品简介
观远数据是一家致力于提供数据分析与智能决策产品及解决方案的公司,服务于零售、金融、制造等多个行业的领先企业。其自助分析产品具备交互式查询、多种图表、灵活拖拽和秒级响应等特点,同时提供零门槛的多数据源融合和复杂任务处理能力。
02观远自助分析系统的挑战
观远自助分析系统面临多方面的挑战,包括:
- 灵活的部署方式与系统架构:需支持SaaS、私有化、云平台及容器化等多种部署模式,并实现从单机到大规模集群的扩展。
- 稳定高效的计算服务:需应对大规模集群、复杂离线任务、高并发查询,并保证秒级响应和稳定服务。
- 灵活的资源调度与隔离:需实现跨部门任务的统一分配和资源隔离,确保各引擎(查询/离线)的高效运行。
- 优秀的查询体验:需优化复杂查询和高并发场景下的响应速度。
- 强大的数据处理能力:需提升系统稳定性和吞吐量,并优化任务执行效率。
03相关解决方案
针对上述挑战,观远采用以下解决方案:
- 灵活的部署方式:基于Docker和Kubernetes实现容器化部署,并支持接入CDH等大数据平台,采用存算分离架构,兼容NAS、S3、HDFS等多种存储。
- 灵活的资源调度与隔离:通过Job Control Tower结合Yarn/Spark Standalone模式,使用RESTful API和JSON规则分配任务至不同队列,实现资源隔离。
- 稳定高效的计算服务:
- 优化Spark应用稳定性:通过Rule Based Optimizer和Broadcast Hash Join减少内存占用。
- 监控与异常处理:实现多application监控、Join Key检查、shuffle数据量限制及资源自动释放机制。
- 优秀的查询体验:通过任务分离和引擎水平扩展,基于Spark Metric动态分配资源,针对性优化复杂任务。
- 强大的数据处理能力:
- 管控机制:限制节点数和运行时长。
- 优化SQL生成:拆分缓存、减少alias和withColumn调用,提升执行效率。
- 复杂任务拆分:通过判断整体复杂度并拆分缓存节点,减少运行问题并提升性能。
04总结与未来展望
观远自助分析系统已实现私有化部署(支持主流云平台和CDH)、超大集群扩展(近2万核)及高并发处理(单系统近3万月活用户,查询9分位3s内完成,单日30万+Spark任务)。未来将向云原生发展,并融合Databricks、ClickHouse等多引擎技术,同时回馈开源社区(贡献Spark、Delta Lake等)。