zoukankan      html  css  js  c++  java
  • HBase学习记录

    HBase

    使用docker搭建参考https://blog.csdn.net/baifanwudi/article/details/78498325

    搭建好以后,网页端可以看到:

    terminal 界面

    HBase是一种构建在HDFS之上的分布式、面向列的存储系统。在需要实时读写,随机访问超大规模数据集时,可以使用HBase。

    HBase的特点

    1、大,一个表可以有上一行,上百万行。

    2、面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。

    3、稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计得非常稀疏。

    4、无模式:每一行都有一个可以排序的主键和任意多的列,列可以根据需要动态增加,同一张表中不同的行可以有截然不同的列。

    5、数据多版本,每个单元中的数据可以有多个版本,默认情况下,版本号自动分配,版本号就是单元格插入时的时间戳。

    6、数据类型单一:HBase中的数据都是字符串,没有类型。

    基本操作

    whoam i     查看当前用户身份

    list      查看有哪些表

    create 't1' ,{NAME => 'f1',VERSIONS => '2'}   创建表,family name是f1

    disbale 't1' 然后 drop 't1'   删除表

    describe 't1'     查看表't1'结构

    put 't1','rowkey001','f1:col1','value01' 在ti表中添加一行记录,其中rowkey是rowkey001,family name是f1,columu name是col1,value是value01。

    get 't1' ,'rowkey001'获取表't1'的'rowkey001'的所有信息

    scan 't1' 获取表t1的所有信息。

    python 2 连接 HBase

    首先安装 包

    pip install thrift

    pip install hbase-thrift

    然后可以连接过去

    from thrift.transport import TSocket,TTransport
    from thrift.protocol import TBinaryProtocol
    from hbase import Hbase
    
    # thrift默认端口是9090
    socket = TSocket.TSocket('localhost',9090)
    socket.setTimeout(5000)
    
    transport = TTransport.TBufferedTransport(socket)
    protocol = TBinaryProtocol.TBinaryProtocol(transport)
    
    client = Hbase.Client(protocol)
    socket.open()
    
    print(client.getTableNames())
    print(client.get('t1','rowkey001','f1:col1'))

    结果

     

  • 相关阅读:
    字符串常量池
    JDK1.8-java.lang.Object类源码阅读
    请给你的Mysql(InnoDB)表加上主键吧
    java线程占多大的内存,占哪里的内存?
    c# 多线程
    c# 遍历文件夹及其所有文件
    T-SQL 查询语句总结
    SQL Server使用LIKE运算符进行匹配查询
    sql server中关于批处理与脚本的简单介绍
    关于SQL Server数据表的五中约束
  • 原文地址:https://www.cnblogs.com/youmuchen/p/9322228.html
Copyright © 2011-2022 走看看