北大青鸟java培训:Hbase知识点总结?

Python010

北大青鸟java培训:Hbase知识点总结?,第1张

hbase概念:  非结构化的分布式的面向列存储非关系型的开源的数据库,根据谷歌的三大论文之一的bigtable  高宽厚表  作用:  为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

  能干什么:  存储大量结果集数据,低延迟的随机查询。

  sql:  结构化查询语言  nosql:  非关系型数据库,列存储和文档存储(查询低延迟),hbase是nosql的一个种类,其特点是列式存储。

  非关系型数据库--列存储(hbase)  非关系型数据库--文档存储(MongoDB)  非关系型数据库--内存式存储(redis)  非关系型数据库--图形模型(graph)  hive和hbase区别?  Hive的定位是数据仓库,虽然也有增删改查,但其删改查对应的是整张表而不是单行数据,查询的延迟较高。

其本质是更加方便的使用mr的威力来进行离线分析的一个数据分析工具。

  HBase的定位是hadoop的数据库,电脑培训http://www.kmbdqn.cn/发现是一个典型的Nosql,所以HBase是用来在大量数据中进行低延迟的随机查询的。

  hbase运行方式:  standalonedistrubited  单节点和伪分布式?  单节点:单独的进程运行在同一台机器上  hbase应用场景:  存储海量数据低延迟查询数据  hbase表由多行组成  hbase行一行在hbase中由行健和一个或多个列的值组成,按行健字母顺序排序的存储。

hbase 是动态列的,直接加就可以了,不用事先定义的啊

例如:(代码没有调试过,具体可看hbase的例子)

Table table = connection.getTable(TableName.valueOf(<表名>))

Put put = new Put(Bytes.toBytes(<主键字符串>))

put.addColumn(FieldFamily, Bytes.toBytes(<字段名1>), Bytes.toBytes(<插入的值1>))

put.addColumn(FieldFamily, Bytes.toBytes(<字段名2>), Bytes.toBytes(<插入的值2>))

.........

table.put(put)