2020-09-15 15:46发布
现有原始hbase表如下,
rowkey: hbase的主键
F1:列簇F1
C1:列簇F1下的列C1
F2:列簇F2
C2:列簇F2下的列C2
C11:列簇F1,列名C1对应的列值C11
C21:列簇F2,列名C2对应的列值C21
查询hbase中,符合条件F1:C1=C11的F2:C2的值
如实查询就像mysql中,select name from t1 where address=‘bj’;
如果能够知道F1:C1=C11对应的hbase中的rowkey,然后根据rowkey查询F2:C2的列值,这样就很快速的查出来了,怎么办呢?
构建hbase二级索引库如上图
重新构建一张表,把F1:C1对应的列值作为rowkey,F3:C3对应的列值是原始hbase中F1:C1的rowkey。
也就是对F:C1这列建立索引时,只需要建立F:C1各值到其对应行键的映射关系即可,如C11->RK1,这样就完成了对F1:C1列值的二级索引的构建。
根据C1=C11到索引库数据中查找到对应的RK,查询得到对应的RK=RK1
得到RK1后就自然能根据RK1来查询C2的值了。
创建test文件夹hadoop fs -mkdir /test
Hadoop的三大核心组件分别是:1、HDFS(Hadoop Distribute File System):hadoop的数据存储工具。2、YARN(Yet Another Resource Negotiator,另一种资源协调者):Hadoop 的资源管理器。3、Hadoop MapReduce:分布式计算框架。HDFS是一个高度容错性的系统,适合部...
hbase依靠HDFS来存储底层数据。Hadoop分布式文件系统(HDFS)为HBase提供了高可靠性的底层存储支持,HBase中的所有数据文件都存储在Hadoop HDFS文件系统上。
HBase分布式数据库具有如下的显著特点:容量大:HBase分布式数据库中的表可以存储成千上万的行和列组成的数据。面向列:HBase是面向列的存储和权限控制,并支持独立检索。列存储,其数据在表中是按照某列存储的,根据数据动态的增加列,并且可以单独对列进行...
解决问题的层面不一样首先,Hadoop和Apache Spark两者都是大数据框架,但是各自存在的目的不尽相同。Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,意味着您不需要购买和维护昂贵的服务...
1、HBase写快读慢,HBase的读取时长通常是几毫秒,而Redis的读取时长通常是几十微秒。性能相差非常大。2、HBase和Redis都支持KV类型。但是Redis支持List、Set等更丰富的类型。3、Redis支持的数据量通常受内存限制,而HBase没有这个限制,可以存储远超内存大小...
列式存储格式是指以列为单位存储数据的数据存储格式,相比于传统的行式存储格式,它具有压缩比高、读I/O少(此处指可避免无意义的读I/O)等优点,目前被广泛应用于各种存储引擎中。对于HBase而言,它并不是一个列式存储引擎,而是列簇式存储引擎,即同一列簇中...
一、简单理解Hadoop是一个大象:一个hadoop集群主要包含三个主要的模块:Mapreduce,hdfs,yarn。mapreduce是一个分离在合并的计算框架,注意他不是一个集群,而是一个编程框架。hdfs是一个分布式文件系统,是一个分布式集群,用于存放数据。yarn集群是负责集群...
01 网络公开数据集02 数据报采集03 网络爬虫04 日志收集05 社会调查06 业务数据集07 埋点采集08 传感器采集09 数据交易平台10 个人数据收集
1 Hadoop 各个目录的解释bin:Hadoop管理脚本和使用脚本所在目录, sbin目录下的脚本都是使用此目录下的脚本实现的。etc:Hadoop的所有配置文件所在的目录,所有hadoop的配置在etc/hadoop目录下include:对外提供的库的头文件lib :对外提供的动态编程库和静态...
HDFS存储机制,包括HDFS的写入过程和读取过程两个部分: 1、写入过程: 1)客户端向namenode请求上传文件,namenode检查目标文件是否已存在,父目录是否存在。2)namenode返回是否可以上传。3)客户端请求第一个 block上传到哪几个datanode服务器上。4)nam...
adoop核心:MapReduce原理。 MR的核心是shuffle,被称为奇迹发生的地方。 shuffle,弄乱,洗牌的意思。partition 分区,sort 排序,spill溢出,disk 磁盘下面是官方对shuffle的配图: phase 阶段,fetch 最终,merge 合并...
Shuffle阶段分为两部分:Map端和Reduce端。一 map端shuffle过程;1-内存预排序:默认每个map有100M内存进行预排序(为了效率),超过阈值,会把内容写到磁盘; 此过程使用快速排序算法;2-根据key和reducer的数量进行分区和排序;首先根据数据所属的Parti...
大数据时代需要1存储大量数据2快速的处理大量数据3从大量数据中进行分析
hadoop的四种模式。1、本地模式:本地模式就是解压源码包,不需要做任何的配置。通常用于开发调试,或者感受hadoop。2、伪分布模式:在学习当中一般都是使用这种模式,伪分布模式就是在一台机器的多个进程运行多个模块。虽然每一个模块都有相应的进程,但是却...
进入和退出安全模式 [root@localhost bin]# ./hdfs dfsadmin -safemode enter15/08/03 07:26:24 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where ......
最多设置5个标签!
1. 现有实例数据
现有原始hbase表如下,
rowkey: hbase的主键
F1:列簇F1
C1:列簇F1下的列C1
F2:列簇F2
C2:列簇F2下的列C2
C11:列簇F1,列名C1对应的列值C11
C21:列簇F2,列名C2对应的列值C21
2. 需求
查询hbase中,符合条件F1:C1=C11的F2:C2的值
3. 分析
如实查询就像mysql中,select name from t1 where address=‘bj’;
如果能够知道F1:C1=C11对应的hbase中的rowkey,然后根据rowkey查询F2:C2的列值,这样就很快速的查出来了,怎么办呢?
4. hbase对列值构建二级索引
构建hbase二级索引库如上图
重新构建一张表,把F1:C1对应的列值作为rowkey,F3:C3对应的列值是原始hbase中F1:C1的rowkey。
也就是对F:C1这列建立索引时,只需要建立F:C1各值到其对应行键的映射关系即可,如C11->RK1,这样就完成了对F1:C1列值的二级索引的构建。
5. 如何查询
根据C1=C11到索引库数据中查找到对应的RK,查询得到对应的RK=RK1
得到RK1后就自然能根据RK1来查询C2的值了。
1. 现有实例数据
现有原始hbase表如下,
rowkey: hbase的主键
F1:列簇F1
C1:列簇F1下的列C1
F2:列簇F2
C2:列簇F2下的列C2
C11:列簇F1,列名C1对应的列值C11
C21:列簇F2,列名C2对应的列值C21
2. 需求
查询hbase中,符合条件F1:C1=C11的F2:C2的值
3. 分析
如实查询就像mysql中,select name from t1 where address=‘bj’;
如果能够知道F1:C1=C11对应的hbase中的rowkey,然后根据rowkey查询F2:C2的列值,这样就很快速的查出来了,怎么办呢?
4. hbase对列值构建二级索引
构建hbase二级索引库如上图
重新构建一张表,把F1:C1对应的列值作为rowkey,F3:C3对应的列值是原始hbase中F1:C1的rowkey。
也就是对F:C1这列建立索引时,只需要建立F:C1各值到其对应行键的映射关系即可,如C11->RK1,这样就完成了对F1:C1列值的二级索引的构建。
5. 如何查询
根据C1=C11到索引库数据中查找到对应的RK,查询得到对应的RK=RK1
得到RK1后就自然能根据RK1来查询C2的值了。
相关问题推荐
创建test文件夹hadoop fs -mkdir /test
Hadoop的三大核心组件分别是:1、HDFS(Hadoop Distribute File System):hadoop的数据存储工具。2、YARN(Yet Another Resource Negotiator,另一种资源协调者):Hadoop 的资源管理器。3、Hadoop MapReduce:分布式计算框架。HDFS是一个高度容错性的系统,适合部...
hbase依靠HDFS来存储底层数据。Hadoop分布式文件系统(HDFS)为HBase提供了高可靠性的底层存储支持,HBase中的所有数据文件都存储在Hadoop HDFS文件系统上。
HBase分布式数据库具有如下的显著特点:容量大:HBase分布式数据库中的表可以存储成千上万的行和列组成的数据。面向列:HBase是面向列的存储和权限控制,并支持独立检索。列存储,其数据在表中是按照某列存储的,根据数据动态的增加列,并且可以单独对列进行...
解决问题的层面不一样首先,Hadoop和Apache Spark两者都是大数据框架,但是各自存在的目的不尽相同。Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,意味着您不需要购买和维护昂贵的服务...
1、HBase写快读慢,HBase的读取时长通常是几毫秒,而Redis的读取时长通常是几十微秒。性能相差非常大。2、HBase和Redis都支持KV类型。但是Redis支持List、Set等更丰富的类型。3、Redis支持的数据量通常受内存限制,而HBase没有这个限制,可以存储远超内存大小...
列式存储格式是指以列为单位存储数据的数据存储格式,相比于传统的行式存储格式,它具有压缩比高、读I/O少(此处指可避免无意义的读I/O)等优点,目前被广泛应用于各种存储引擎中。对于HBase而言,它并不是一个列式存储引擎,而是列簇式存储引擎,即同一列簇中...
一、简单理解Hadoop是一个大象:一个hadoop集群主要包含三个主要的模块:Mapreduce,hdfs,yarn。mapreduce是一个分离在合并的计算框架,注意他不是一个集群,而是一个编程框架。hdfs是一个分布式文件系统,是一个分布式集群,用于存放数据。yarn集群是负责集群...
01 网络公开数据集02 数据报采集03 网络爬虫04 日志收集05 社会调查06 业务数据集07 埋点采集08 传感器采集09 数据交易平台10 个人数据收集
1 Hadoop 各个目录的解释bin:Hadoop管理脚本和使用脚本所在目录, sbin目录下的脚本都是使用此目录下的脚本实现的。etc:Hadoop的所有配置文件所在的目录,所有hadoop的配置在etc/hadoop目录下include:对外提供的库的头文件lib :对外提供的动态编程库和静态...
HDFS存储机制,包括HDFS的写入过程和读取过程两个部分: 1、写入过程: 1)客户端向namenode请求上传文件,namenode检查目标文件是否已存在,父目录是否存在。2)namenode返回是否可以上传。3)客户端请求第一个 block上传到哪几个datanode服务器上。4)nam...
adoop核心:MapReduce原理。 MR的核心是shuffle,被称为奇迹发生的地方。 shuffle,弄乱,洗牌的意思。partition 分区,sort 排序,spill溢出,disk 磁盘下面是官方对shuffle的配图: phase 阶段,fetch 最终,merge 合并...
Shuffle阶段分为两部分:Map端和Reduce端。一 map端shuffle过程;1-内存预排序:默认每个map有100M内存进行预排序(为了效率),超过阈值,会把内容写到磁盘; 此过程使用快速排序算法;2-根据key和reducer的数量进行分区和排序;首先根据数据所属的Parti...
大数据时代需要1存储大量数据2快速的处理大量数据3从大量数据中进行分析
hadoop的四种模式。1、本地模式:本地模式就是解压源码包,不需要做任何的配置。通常用于开发调试,或者感受hadoop。2、伪分布模式:在学习当中一般都是使用这种模式,伪分布模式就是在一台机器的多个进程运行多个模块。虽然每一个模块都有相应的进程,但是却...
进入和退出安全模式 [root@localhost bin]# ./hdfs dfsadmin -safemode enter15/08/03 07:26:24 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where ......