百度Elasticsearch大数据实践:从云分析到CASIO业务
需积分: 16 168 浏览量
更新于2024-07-20
收藏 2.09MB PPTX 举报
“百度Elasticsearch实践分享了百度在使用Elasticsearch进行大数据分析时的经验,包括面临的挑战、解决方案以及对ES的优化与改进。”
在“百度Elasticsearch实践”中,我们可以了解到Elasticsearch在百度大数据部的重要应用。Elasticsearch(简称ES)是一个被广泛应用的开源搜索引擎,不仅用于全文检索,也被广泛用于数据分析。它在Wikipedia、Github、Quora、Facebook等知名公司中有使用,同时也在 Goldman Sachs、Ubnt、Foursquare和LinkedIn等企业中用于面向分析的场景,如OLAP(在线分析处理)和报告生成。
在百度,Elasticsearch被定位为一个用于OLAP Reporting和多维分析的工具,能够处理结构化和非结构化数据,尤其适用于文本数据分析。自2013年10月开始,百度内部已有20多个业务线采用Elasticsearch,涵盖云分析、网盟、预测、文库、直达号、钱包和风控等多个领域。单个集群每天处理的数据量高达30TB,总处理量超过60TB,使用了近300台机器,运行500+ ES节点。
在实际应用中,百度遇到了一些挑战。例如,在云分析业务中,需要处理大量文本数据的分词和索引构建,以及应对数万用户的索引分片管理和元数据管理问题。fielddata的内存占用也是一个重大挑战,可能导致Out-of-Memory(OOM)错误。为解决这些问题,百度采取了以下策略:
1. 根据索引大小设置不同的分片数,通过type合并索引,以优化资源利用。
2. 针对非分词字段,将数据存储为docvalue,减少内存消耗。
3. 分离master node、data node和client node,以提高系统性能和稳定性。
4. 设置fielddata内存占用的软硬限制,并设定有效期,避免长时间占用内存。
在casio业务中,面对字段不确定、大量数据持续导入以及高并发的聚合查询需求,百度采用了动态mapping以适应未知字段,通过数据分发和批量导入提升效率,以及全部使用docvalue存储,减少内存消耗。此外,使用模板进行数据管理,按照天级别进行分区,以满足小时级和天级的快速聚合分析需求。
通过这些实践,百度不仅展示了Elasticsearch在大数据分析领域的强大能力,还分享了他们在优化ES性能、处理大规模数据和应对复杂查询需求方面的宝贵经验。这些经验对于任何正在或计划使用Elasticsearch进行大数据处理的企业都具有重要的参考价值。
436 浏览量
115 浏览量
185 浏览量
436 浏览量
点击了解资源详情
135 浏览量
1350 浏览量
点击了解资源详情

匠心零度
- 粉丝: 9531
最新资源
- VS2010环境Qt链接MySQL数据库测试程序
- daycula-vim主题:黑暗风格的Vim色彩方案
- HTTPComponents最新版本发布,客户端与核心组件升级
- Android WebView与JS互调的实践示例
- 教务管理系统功能全面,操作简便,适用于winxp及以上版本
- 使用堆栈实现四则运算的编程实践
- 开源Lisp实现的联合生成算法及多面体计算
- 细胞图像处理与模式识别检测技术
- 深入解析psimedia:音频视频RTP抽象库
- 传名广告联盟商业正式版 v5.3 功能全面升级
- JSON序列化与反序列化实例教程
- 手机美食餐饮微官网HTML源码开源项目
- 基于联合相关变换的图像识别程序与土豆形貌图片库
- C#毕业设计:超市进销存管理系统实现
- 高效下载地址转换器:迅雷与快车互转
- 探索inoutPrimaryrepo项目:JavaScript的核心应用