Apache HBase

HBase的使用

青春壹個敷衍的年華 提交于 2021-02-15 01:55:43
前言 HBase是一个高可靠,高性能,面向列,可伸缩的分布式存储系统,适用于结构化的存储,底层依赖于Hadoop的HDSF,利用HBase可以在廉价PC server上搭建起大规模结构化存储集群。HBase被广泛应用于大数据存储解决方案中。 HBase 特点 HBase优点: 列可以动态增加,列为空不会存储数据,节省存储空间 自动切分数据,是的数据存储具有水平扩展性 可以提供高并发读写操作的支持 HBase缺点: 不支持条件查询,只支持按照Row Key来查询 不适合传统的事务处理或关联分析,不支持复杂查询 如果应用中的数据每行结构都有差别,可以适用于HBase存储松散数据。可以动态增加列,如果列为空不会存储数据,如果提供的数据存在一个主键,可以依靠HBase的rowkey提供高效查询。 HBase使用场景 卖家操作日志 用来记录商家操作的日志系统,保证商家可以精确查询自己各种操作。卖家无时无刻不再操作,所以卖家操作日志具有数据量大,实时性强,增多查少特点。 最初的设计是将操作日志放到ES中,操作日志数据量大,当时ES资源有限,所以将最近三个月的数据存储到ES中,而长期数据存储使用HBase进行。 消息日志存储 消息日志用来进行全链路追踪及消息的统计分析,每天有几千万消息量。消息追踪要求实时性,多维度精确查询,将最近一周消息日志存储在ES中,在定期将HBase中数据倒入数据集市中

极客时间-左耳听风-程序员攻略-数据库

你。 提交于 2021-02-08 23:52:46
对于数据库方向,重点就是两种数据库,一种是以 SQL 为代表的关系型数据库,另一种是以非 SQL 为代表的 NoSQL 数据库。关系型数据库主要有三个:Oracle、MySQL 和 Postgres。 关系型数据库 Oracle,《 Oracle Database 9i/10g/11g 编程艺术 》 这本书中深入分析了 Oracle 数据库体系结构,包括文件、内存结构以及构成 Oracle 数据库和实例的底层进程,利用具体示例讨论了一些重要的数据库主题,如锁定、并发控制、事务等。同时分析了数据库中的物理结构,如表、索引和数据类型,并介绍采用哪些技术能最优地使用这些物理结构。 MySQL 官方手册]( https://dev.mysql.com/doc/ )。 官方几个 PPT 。 How to Analyze and Tune MySQL Queries for Better Performance MySQL Performance Tuning 101 MySQL Performance Schema & Sys Schema MySQL Performance: Demystified Tuning & Best Practices MySQL Security Best Practices MySQL Cluster Deployment Best Practices

sqoop 从mysql 导入数据到hbase

不羁的心 提交于 2021-02-05 20:25:47
环境: 软件 版本 备注 Ubuntu 19.10 sqoop 1.4.7 mysql 8.0.20-0ubuntu0.19.10.1 (Ubuntu) hbase 2.2.4 必须启动 hadoop 3.1.2 必须启动 hive 3.0.0 之所以和hive有关系是因为需要在.bashrc中设置HCAT_HOME accumulo 2.0.0 需要配合sqoop在.bashrc中设置ACCUMULO_HOMT 数据导入目标: mysql数据------------->Hbase ############################################################################## 准备MYSQL数据集: mysql> create database sqoop_hbase; mysql> use sqoop_hbase; mysql> CREATE TABLE book( -> id INT(4) PRIMARY KEY NOT NULL AUTO_INCREMENT, -> NAME VARCHAR(255) NOT NULL, -> price VARCHAR(255) NOT NULL); 插入数据集 mysql> INSERT INTO book(NAME, price) VALUES('Lie Sporting',

spark项目实践

回眸只為那壹抹淺笑 提交于 2021-02-04 08:29:34
实践目的 通过操作一个开源例子,学习大数据的架构 及基本的使用,各种概念。不涉及自编码与创新。 环境搭建 需要建立 hadoop,hbase ,spark 等大数据环境 在10.30.2.5上建立六个docker , 分别对应 s141~s146 分别用于装大数据环境,具体操作步骤 参考本人 hadoop-spark https://blog.csdn.net/dualvencsdn/article/details/112007643?spm=1001.2014.3001.5501 habase https://blog.csdn.net/dualvencsdn/article/details/112905925?spm=1001.2014.3001.5501 学会操作hbase https://blog.csdn.net/dualvencsdn/article/details/113309385?spm=1001.2014.3001.5501 flume初步学习与使用 https://blog.csdn.net/qq_1018944104/article/details/85462011 /usr/local/flume/do.sh kafka与zookeeper的使用与编程 https://blog.csdn.net/dualvencsdn/article/details

Presto系列 | Presto基本介绍

99封情书 提交于 2021-02-03 07:04:28
前言 Presto是一款Facebook开源的MPP架构的OLAP查询引擎,可针对不同数据源执行大容量数据集的一款分布式SQL执行引擎。因为工作中接触到Presto,研究它对理解SQL Parser、常见算子的实现(如SQL中table scan,join,aggregation)、资源管理与调度、查询优化(如向量化执行、动态代码生成)、大数据下各个组件为何适用不同场景等等都有帮助。我希望通过这个系列可以了解一条SQL在大数据场景下该如何高效执行。233酱准备不定时持续更新这个系列,本文主要从Presto的使用举例,Presto的应用场景、Presto的基本概念三个部分来初步介绍Presto。 Presto的使用举例 比如说,你想对存储在不同数据源中的数据,如HDFS、Mysql、HBase等通过一个SQL做查询分析,那么只需要把每一个数据源当成是Presto的Connector,对应实现Presto SPI暴露出的Connector API就可以了。 hbase 和 es 的Join查询举例 Presto官方版 和 Presto社区版 已经支持了很多Connector,社区版略胜一筹。至于两者有何区别,吃瓜群众可以前往文末参考资料[4]。简而言之,都主要由Facebook那帮大佬核心维护。社区版更新更为频繁,但高版本需要JDK11才能支持;官方版JDK8就行

datax 及datax-web简单介绍

不羁的心 提交于 2021-01-31 23:39:02
1、datax 介绍安装 1.1 简单介绍 DataX是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。 Reader:Reader为数据采集模块,负责采集数据源的数据,将数据发送给Framework。 Writer: Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。 Framework:Framework用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。 DataX3.0六大核心优势:可靠的数据质量监控、丰富的数据转换功能、精准的速度控制、强劲的同步性能、健壮的容错机制、极简的使用体验 1.2 安装环境 Linux(windows 实测也可) JDK(1.8以上,推荐1.8) Python(推荐Python2.6.X,2.7 实测也可) Apache Maven 3.x (服务器上也不装、只用来编译datax) 1.3 支持数据库类型 类型 数据源 Reader(读) Writer(写) 文档

从B+树到LSM树,及LSM树在HBase中的应用

最后都变了- 提交于 2021-01-29 07:34:24
前言 在有代表性的关系型数据库如MySQL、SQL Server、Oracle中,数据存储与索引的基本结构就是我们耳熟能详的B树和B+树。而在一些主流的NoSQL数据库如HBase、Cassandra、LevelDB、RocksDB中,则是使用日志结构合并树(Log-structured Merge Tree,LSM Tree)来组织数据。本文先由B+树来引出对LSM树的介绍,然后说明HBase中是如何运用LSM树的。 回顾B+树 为什么在RDBMS中我们需要B+树(或者广义地说,索引)?一句话:减少寻道时间。在存储系统中广泛使用的HDD是磁性介质+机械旋转的,这就使得其顺序访问较快而随机访问较慢。使用B+树组织数据可以较好地利用HDD的这种特点,其本质是多路平衡查找树。下图是一棵高度为3的4路B+树示例。 与普通B树相比,B+树的非叶子节点只有索引,所有数据都位于叶子节点,并且叶子节点上的数据会形成有序链表。B+树的主要优点如下: 结构比较扁平,高度低(一般不超过4层),随机寻道次数少; 数据存储密度大,且都位于叶子节点,查询稳定,遍历方便; 叶子节点形成有序链表,范围查询转化为顺序读,效率高。相对而言B树必须通过中序遍历才能支持范围查询。 当然,B+树也不是十全十美的,它的主要缺点有两个: 如果写入的数据比较离散,那么寻找写入位置时,子节点有很大可能性不会在内存中

LSM树理解

六眼飞鱼酱① 提交于 2021-01-29 07:32:52
对比三种引擎的实现:   hash存储引擎:哈希表持久化的实现,可以快速支持增删改查等随机操作,且时间复杂度为o(1),但是不支持顺序读取扫描,对应的存储系统为k-v存储系统的实现。 b树存储引擎是b树的持久化实现,不仅支持单条记录的增删改查操作,还支持顺序扫描,对应的存储系统就是mysql。 lsm树存储引擎和b树存储引擎,一样支持,增删改查,也支持顺序扫描操作。LSM牺牲了读性能,提高写性能。 LSM的原理:将对数据的修改增量保存在内存中,达到指定大小限制之后批量把数据flush到磁盘中,磁盘中树定期可以做merge操作,合并成一棵大树,以优化读性能。不过读取的时候稍微麻烦一些,读取时看这些数据在内存中,如果未能命中内存,则需要访问较多的磁盘文件。极端的说,基于LSM树实现的hbase写性能比mysql高了一个数量级,读性能却低了一个数量级。 LSM树原理把一颗大叔拆分成N颗小树,它首先在内存中,它首先写入内存中,随着小树越来越大,内存中的小树会flush到磁盘中,磁盘中的树定期可以做merge操作,合并成为一个大叔,用来优化读性能。 以上就是hbase存储设计的重要思想,这里说明一下: 因为数据是先写到内存中,所以为了防止内存数据丢失,会先把数据写入hlog中,也符合了数据库中标准,先写日志,再写数据 memstore上的树达到一定大小之后,需要flush到磁盘中

基于Storm构建实时热力分布项目实战

给你一囗甜甜゛ 提交于 2021-01-29 04:20:42
基于Storm构建实时热力分布项目实战 下载地址: 百度云盘 Storm是实时流处理领域的一柄利器,本课程采用最新的Storm版本1.1.0,从0开始由浅入深系统讲解,深入Storm内部机制,掌握Storm整合周边大数据框架的使用,从容应对大数据实时流处理! 适合人群及技术储备要求 这是一门非常具有可操作性的课程,适合Java工程师正处于瓶颈期想提升自己技术、想转型做大数据的开发者,更适合对于大数据感兴趣、想从事大数据 研发工作的同学。本课程将手把手带你从零循序渐进地讲解Storm各方面的技术点,让你轻松胜任实际大数 据实时流处理的工作,稳拿高薪! 技术储备要求 熟练掌握Java SE、Linux即可 课程目录:第1章 课程导学引见课程相关背景,学习建议等等1-1 -导学试看1-2 -OOTB环境运用演示1-3 -授课习气与学习建议第2章 初识实时流处置StormStorm作爲近几年Hadoop生态圈很火爆的大数据实时流处置框架,是成爲大数据研发工程师必备的技艺之一。 本章将从如下几个方面让大家关于Storm有微观上的看法:什麼是Storm、Storm的展开史、Storm比照Hadoop的区别、Storm比照Spark Streaming的区别、Storm的劣势、Storm运用现状及展开趋向、Storm运用案例分享...2-1 -课程目录2-2 -Storm是什麼2-3