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'))

    结果

     

  • 相关阅读:
    怎么将java项目打包成双击就可以运行的jar包---fatjar
    hdu 2629 Identity Card (字符串解析模拟题)
    求最远点对,输出距离
    poj 2299 求逆序数
    第九周作业 实现图片压缩
    第八周作业 struts,spring,jpa整合简单测试
    第七周作业 POI操作Excel,world文档
    第七周作业 关于xml问题
    第六周作业 略谈jsp
    第六作业 持久层框架mybatis小记
  • 原文地址:https://www.cnblogs.com/youmuchen/p/9322228.html
Copyright © 2011-2022 走看看