Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 619|回复: 0

企业级技术解决方案:hbase+es

[复制链接]
  • TA的每日心情
    奋斗
    2024-4-6 11:05
  • 签到天数: 748 天

    [LV.9]以坛为家II

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    705612
    发表于 2021-7-12 09:52:28 | 显示全部楼层 |阅读模式

    1:需求:

    解决海量数据的存储,并且能够实现海量数据的秒级查询

     

    Hbase是典型的nosql,是一种构建在HDFS之上的分布式、面向列的存储系统,在需要的时候可以进行实时的大规模数据集的读写操作;但是hbase的语法非常固话,即便在hbase之上嫁接了phoneix在应对复杂查询的时候,仍然力不从心;

    所以说很多公司在历史遗留问题,最开始数据存储在hbase上,当业务越来越复杂,数据量越来越大的时候,使用hbase构建复杂的查询就很吃力了,甚至很多指标无法完成;

    这个时候,我们就是用elasticsearch架构在hbase之上;

    海量的数据存储使用hbase,数据的即席查询(快速检索)使用elasticsearch

    通过elasticsearch+hbase就可以做到海量数据的复杂查询;

    在操作之前,我们还要考虑:一批数据在elasticsearch中构建索引的时候,针对每一个字段要分析是否存储和是否构建索引

     

    实际生产中,一遍文章要分成标题和正文;但是正文的量是比较大的,那么我们一般会在,在hbase中存储正文(hbase本身就是做海量数据的存储);这样通过es的倒排索引列表检索到关键词的文档id,然后根据文档id在hbase中查询出具体的正文

    (当然具体情况看具体需求)

    分析,数据哪些字段需要构建索引:

    文章数据(id、title、author、describe、conent)

    字段名称 是否需要索引 是否需要存储
    Id 默认索引 默认存储
    Title 需要 需要
    Author 看需求 看需求
    Dscribe 需要 存储
    Content 看需求(高精度查询,是需要的 ) 看需求
    Time 需要 需要

    2:mapping的配置信息


    curl -XPUT http://hadoop01:9200/articles -d '
    {  
       "settings":{  
            "number_of_shards":3,  
            "number_of_replicas":1  
      },  
       "mappings":{  
            "article":{  
                "dynamic":"strict",  
                "properties":{  
                    "id":{"type": "string", "store": true},  
                    "title":{"type": "string","store": true,"index" : "analyzed","analyzer": "ik_max_word"},
                    "from":{"type": "string","store": true},
                    "readCounts":{"type": "integer","store": true},  
                    "content":{"type": "string","store": false,"index": "no"},
                    "times": {"type": "string", "index": "not_analyzed"}
                }  
            }  
      }  
    } '

    3: 架构设计

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-29 00:50 , Processed in 0.071655 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表