FusionInsight大数据开发---sorl应用开发
sorl应用开发
要求:
- 了解Solr应用开发适用场景
- 熟悉Solr应用开发流程
- 熟悉并使用Solr常用API
- 理解Collection设计基本原则
- 应用开发实践
Solr简介
- Solr是一个高性能,基于Lucene的全文检索服务,也可以作为NoSQL数据库使用。
- Solr对Lucene进行了扩展,提供了比Lucene更为丰富的查询语句,同时实现了可配置、可扩展,并对查询性能进行了优化,还提供了一个完善的功能管理界面。
- SolrCloud是从Solr 4.0 版本开始发出的具有开创意义的分布式索引和索引方案,基于Sorl和Zookeeper进行开发的。
Solr概念体系-总述
常见术语:
- Config Set:Solr Core提供一组配置文件 ,
- Core:即Solr Core ,
- Shard:Collection的逻辑分片
- Replice:Shard下的实际存储索引的一个副本,与Core对应
- Leader:赢得选举的Shard Peplicas
- Zookeeper:它在Solr Core是必须的,提供分布式锁、处理Leader选举、管理配置等功能
Solr的常用应用场景
- 待检索数据类型复杂
- 检索条件多样化(如涉及字段太多),常规查询无法满足
- 读取远多于写入数据
Solr应用开发流程-制定业务目标
业务数据规模及数据模型
- 涉及Collection的Shard划分及Schema的定义
实时索引、查询性能要求
- 涉及Collection的Shard划分、索引存储位置
查询场景
- 涉及Collection的Schema定义
Solr应用开发流程-初始化及安全认证
- 初始化并获取配置
- 安全认证
- 获取CloudSolrClient
- 调用Solr APL
Solr应用开发流程-设计Collection
- 根据业务数据的关系设计schema.xml
- 根据写入和查询场景设计uniqueKey字段
- 根据写入和查询性能要求设计solrconfig.xml
- 根据业务数据规模和Solr集群规模确定Shard数目
- 根据可靠性能要求设定Shard副本数
Collection设计-索引存储位置
索引存储在HDFS
缺点:
- 与存储在本地磁盘相比,性能下降30%-50%
- 实时单节点写入速度<=2MB/s
- 数据膨胀略高于存储在本地
优点:
- Sorl设置Replica即可,利用HDFS副本机制保障数据可靠性
- 数据管理由HDFS完成,包括各节点数据balance、方便迁移
配置集Schema设计-Field
dynamicField
- 动态的字段设置,用于后期自定义字段,”*“号通配符。
copyField
- 将多个字段集中到一个字段
FusionInsight大数据开发---sorl应用开发的更多相关文章
- FusionInsight大数据开发学习总结(1)
FusionInsight大数据开发 FusionInsight HD是一个大数据全栈商用平台,支持各种通用大数据应用场景. 技能需求 扎实的编程基础 Java/Scala/python/SQL/sh ...
- 大数据全栈式开发语言 – Python
前段时间,ThoughtWorks在深圳举办一次社区活动上,有一个演讲主题叫做“Fullstack JavaScript”,是关于用JavaScript进行前端.服务器端,甚至数据库(MongoDB) ...
- 为什么说Python 是大数据全栈式开发语言
欢迎大家访问我的个人网站<刘江的博客和教程>:www.liujiangblog.com 主要分享Python 及Django教程以及相关的博客 交流QQ群:453131687 原文链接 h ...
- FusionInsight大数据开发---Hive应用开发
Hive应用开发 了解Hive的基本架构原理 掌握JDBC客户端开发流程 了解ODBC客户端的开发流程 了解python客户端的开发流程 了解Hcatalog/webHcat开发接口 掌握Hive开发 ...
- FusionInsight大数据开发---MapReduce与YARN应用开发
MapReduce MapReduce的基本定义及过程 搭建开发环境 代码实例及运行程序 MapReduce开发接口介绍 1. MapReduce的基本定义及过程 MapReduce是面向大数据并行处 ...
- FusionInsight大数据开发---HDFS应用开发
HDFS应用开发 HDFS(Dadoop Distributed File System) HDFS概述 高容错性 高吞吐量 大文件存储 HDFS架构包含三部分 Name Node DataNode ...
- FusionInsight大数据开发---Redis应用开发
Redis应用开发 要求: 了解Redis应用场景 掌握Redis二次开发环境搭建 掌握Redis业务开发 Redis简介 Redis是一个基于网络的,高性能key-value内存数据库 Redis根 ...
- 一文总结高并发大数据量下MySQL开发规范【军规】
在互联网公司中,MySQL是使用最多的数据库,那么在并发量大.数据量大的互联网业务中,如果高效的使用MySQL才能保证服务的稳定呢?根据本人多年运维管理经验的总结,梳理了一些核心的开发规范,希望能给大 ...
- FusionInsight大数据开发--HBase应用开发
HBase应用开发 HBase的定义 HBase是一个高可靠.高性能.面向列.可伸缩的分布式存储系统. 适合于存储大表数据,可以达到实时级别. 利用Hadoop HDFS 作为其文件存储系统,提供实时 ...
随机推荐
- Test CMake run finished with errors
Test CMake run finished with errors 记录一个安装 CLion 过程中的错误. CLion的安装和破解教程网上有很多,大家可以自行搜索. 安装了之后在 Setting ...
- rhel7 学习第三天
<Linux就该这么学>学习第三天,掌握了一些常用的命令
- centos7下安装docker 以及简单使用
一 环境准备1.虚拟机or物理机 2.centos7系统(稳定,对docker支持友好) 二 安装过程step1:使用yum命令进行安装 yum install -y docker备注:-y 表示不询 ...
- Centos安装JDK(java环境)
王小私下问我 centos 中 jdk 怎么安装呀,所以再次整理了这篇基础环境搭建的文章. 1.创建java目录2.下载上传jdk3.解压jdk4.配置环境变量 1.创建java目录 首先我们创建ja ...
- spring学习3
spring整合JDBC spring提供了很多模板整合Dao技术 spring中提供了一个可以操作数据库的对象.对象封装了jdbc技术. JDBCTemplate => JDBC模板对象 ...
- rpm 子包创建学习
rpm 在打包的时候,可以创建子包,这样可以清晰的进行软件包的拆分,以下是结合官方文档学习 的一个实践 预备条件 需要安装rpmdevtools spec 文件 内容 Name: foo Versio ...
- ESA2GJK1DH1K基础篇: 来吧! 彻底了解一下MQTT
首先你需要知道MQTT并不是什么高大上的事物,它只是一个软件,对就是一个软件.其实就是个TCP服务器 一,既然是TCP服务器,这个TCP服务器和咱平时做的有什么不一样呢. 首先,平时的时候咱做的TCP ...
- 30-ESP8266 SDK开发基础入门篇--SPI
这节只是做记录, 整个的教程呢,重新整理下 教程有点乱,需要再细分一下 这节只是做一下我使用其SPI的记录 还是老样子,看人家LUA源码里面怎么使用的 注意哈,对于8266 SDK的学习我还是建议大家 ...
- [RN] React Native 使用 图片预览和放大 插件 react-native-image-zoom-viewer 过程中,放大报错问题
React Native 使用 图片预览和放大 插件 react-native-image-zoom-viewer 过程中,放大报错问题 报错如下: Cannot record touch end w ...
- Set学习笔记
今天又去看了一下STL里的set,来这里水一下博客 What is set? set的本质是一种功能受限的平衡树,不支持重复数字,也就是说如果插入一大堆数字12,输出它的长度还是1 如何定义 定义 s ...