(转载)hbase的基本操作

本文列举一些hbase的基本操作代码。 

Java代码  收藏代码
  1. package allen.studyhbase;  
  2.   
  3. import java.io.IOException;  
  4. import java.util.LinkedList;  
  5. import java.util.List;  
  6.   
  7. import org.apache.commons.logging.Log;  
  8. import org.apache.commons.logging.LogFactory;  
  9. import org.apache.hadoop.hbase.HColumnDescriptor;  
  10. import org.apache.hadoop.hbase.HTableDescriptor;  
  11. import org.apache.hadoop.hbase.client.Delete;  
  12. import org.apache.hadoop.hbase.client.HBaseAdmin;  
  13. import org.apache.hadoop.hbase.client.HTableInterface;  
  14. import org.apache.hadoop.hbase.client.HTablePool;  
  15. import org.apache.hadoop.hbase.client.Put;  
  16. import org.apache.hadoop.hbase.client.Result;  
  17. import org.apache.hadoop.hbase.client.ResultScanner;  
  18. import org.apache.hadoop.hbase.client.Scan;  
  19. import org.apache.hadoop.hbase.util.Bytes;  
  20. import org.junit.After;  
  21. import org.junit.AfterClass;  
  22. import org.junit.Before;  
  23. import org.junit.BeforeClass;  
  24.   
  25. public class BaseTest {  
  26.     protected static Log log = LogFactory.getLog(BaseTest.class);  
  27.   
  28.     protected static HBaseAdmin hbaseAdmin;  
  29.     protected static HTablePool pool;  
  30.     protected static String TableName = "allen_test";  
  31.     protected static byte[] TableNameBytes = Bytes.toBytes(TableName);  
  32.     protected static byte[] ColumnFamilyName = Bytes.toBytes("cf");  
  33.   
  34.     protected static String QNameStr1 = "q1";  
  35.     protected static String QNameStr2 = "q2";  
  36.     protected static String QNameStr3 = "q3";  
  37.   
  38.     protected static byte[] QName1 = Bytes.toBytes(QNameStr1);  
  39.     protected static byte[] QName2 = Bytes.toBytes(QNameStr2);  
  40.     protected static byte[] QName3 = Bytes.toBytes(QNameStr3);  
  41.   
  42.     protected HTableInterface table;  
  43.   
  44.     @BeforeClass  
  45.     public static void beforeClass() throws Exception {  
  46.         hbaseAdmin = CommonConfig.getHBaseAdmin();  
  47.         deleteTable();  
  48.         createTable();  
  49.     }  
  50.   
  51.     @AfterClass  
  52.     public static void afterClass() throws Exception {  
  53.         deleteTable();  
  54.     }  
  55.   
  56.     @Before  
  57.     public void before() throws Throwable {  
  58.         pool = CommonConfig.getHTablePool();  
  59.         table = pool.getTable(TableName);  
  60.         fillData();  
  61.     }  
  62.   
  63.     @After  
  64.     public void after() throws Exception {  
  65.         try {  
  66.             // full scan.  
  67.             Scan scan = new Scan();  
  68.             ResultScanner resultScanner = table.getScanner(scan);  
  69.   
  70.             List<byte[]> rows = new LinkedList<byte[]>();  
  71.             for (Result result = resultScanner.next(); result != null; result = resultScanner  
  72.                     .next()) {  
  73.                 rows.add(result.getRow());  
  74.             }  
  75.   
  76.             for (byte[] row : rows) {  
  77.                 table.delete(new Delete(row));  
  78.                 log.info("delete " + Bytes.toString(row));  
  79.             }  
  80.   
  81.             // return table to pool.  
  82.             table.close();  
  83.   
  84.         } catch (IOException e) {  
  85.             throw new RuntimeException(e);  
  86.         }  
  87.     }  
  88.   
  89.     private static void createTable() throws Exception {  
  90.         // create new table.  
  91.         HTableDescriptor tableDescriptor = new HTableDescriptor(TableName);  
  92.         tableDescriptor.addFamily(new HColumnDescriptor(ColumnFamilyName));  
  93.         hbaseAdmin.createTable(tableDescriptor);  
  94.     }  
  95.   
  96.     private static void deleteTable() throws Exception {  
  97.         // delete table if table exist.  
  98.         if (hbaseAdmin.tableExists(TableName)) {  
  99.             // disable table before delete it.  
  100.             hbaseAdmin.disableTable(TableName);  
  101.             hbaseAdmin.deleteTable(TableName);  
  102.         }  
  103.     }  
  104.   
  105.     String rowKeyStr1 = "allen_test_row1";  
  106.     String rowKeyStr2 = "allen_test_row2";  
  107.     String rowKeyStr3 = "allen_test_row3";  
  108.     String rowKeyStr4 = "allen_test_row4";  
  109.   
  110.     byte[] rowKey1 = Bytes.toBytes(rowKeyStr1);  
  111.     byte[] rowKey2 = Bytes.toBytes(rowKeyStr2);  
  112.     byte[] rowKey3 = Bytes.toBytes(rowKeyStr3);  
  113.     byte[] rowKey4 = Bytes.toBytes(rowKeyStr4);  
  114.   
  115.     private void fillData() throws Throwable {  
  116.   
  117.         Put put = new Put(rowKey1);  
  118.         put.add(ColumnFamilyName, QName1, Bytes.toBytes(100L));  
  119.         put.add(ColumnFamilyName, QName2, Bytes.toBytes(100L));  
  120.         table.put(put);  
  121.   
  122.         put = new Put(rowKey2);  
  123.         put.add(ColumnFamilyName, QName1, Bytes.toBytes(20L));  
  124.         put.add(ColumnFamilyName, QName2, Bytes.toBytes(200L));  
  125.         table.put(put);  
  126.   
  127.         // set null case.  
  128.         put = new Put(rowKey3);  
  129.         put.add(ColumnFamilyName, QName1, null);  
  130.         put.add(ColumnFamilyName, QName2, null);  
  131.         table.put(put);  
  132.   
  133.         // empty case.  
  134.         put = new Put(rowKey4);  
  135.         put.add(ColumnFamilyName, QName3, Bytes.toBytes("test"));  
  136.         table.put(put);  
  137.     }  
  138.   
  139. }  

 

Java代码  收藏代码
  1. package allen.studyhbase;  
  2.   
  3.   
  4.   
  5. import org.apache.hadoop.conf.Configuration;  
  6.   
  7. import org.apache.hadoop.hbase.HBaseConfiguration;  
  8.   
  9. import org.apache.hadoop.hbase.client.HBaseAdmin;  
  10.   
  11. import org.apache.hadoop.hbase.client.HTablePool;  
  12.   
  13.   
  14.   
  15. /** 
  16.  
  17.  * CommonConfig. 
  18.  
  19.  * */  
  20.   
  21. public class CommonConfig {  
  22.   
  23.   
  24.   
  25.     private static HTablePool pool;  
  26.   
  27.     private static HBaseAdmin hbaseAdmin;  
  28.   
  29.     private static Configuration conf;  
  30.   
  31.   
  32.   
  33.     static {  
  34.   
  35.         try {  
  36.   
  37.             conf = HBaseConfiguration.create();  
  38.   
  39.             pool = new HTablePool(conf, 50);  
  40.   
  41.             hbaseAdmin = new HBaseAdmin(conf);  
  42.   
  43.         } catch (Exception e) {  
  44.   
  45.             throw new RuntimeException(e);  
  46.   
  47.         }  
  48.   
  49.     };  
  50.   
  51.   
  52.   
  53.     public static Configuration getConfiguration() {  
  54.   
  55.         return conf;  
  56.   
  57.     }  
  58.   
  59.   
  60.   
  61.     public static HBaseAdmin getHBaseAdmin() {  
  62.   
  63.         return hbaseAdmin;  
  64.   
  65.     }  
  66.   
  67.   
  68.   
  69.     public static HTablePool getHTablePool() {  
  70.   
  71.         return pool;  
  72.   
  73.     }  
  74.   
  75. }  

 

Java代码  收藏代码
  1. package allen.studyhbase;  
  2.   
  3. import java.util.HashSet;  
  4. import java.util.Set;  
  5.   
  6. import org.apache.hadoop.hbase.client.Delete;  
  7. import org.apache.hadoop.hbase.client.Get;  
  8.   
  9. import org.apache.hadoop.hbase.client.Put;  
  10. import org.apache.hadoop.hbase.client.Result;  
  11. import org.apache.hadoop.hbase.client.ResultScanner;  
  12. import org.apache.hadoop.hbase.client.Scan;  
  13.   
  14. import org.apache.hadoop.hbase.util.Bytes;  
  15.   
  16. import org.junit.Assert;  
  17.   
  18. import org.junit.Test;  
  19.   
  20. public class TestHbaseOp extends BaseTest {  
  21.   
  22.     @Test  
  23.     public void testDelete() throws Exception {  
  24.   
  25.         Get get = new Get(rowKey1);  
  26.         Result result = table.get(get);  
  27.         Assert.assertTrue(!result.isEmpty());  
  28.   
  29.         Delete delete = new Delete(rowKey1);  
  30.         table.delete(delete);  
  31.   
  32.         get = new Get(rowKey1);  
  33.         result = table.get(get);  
  34.         Assert.assertTrue(result.isEmpty());  
  35.   
  36.     }  
  37.   
  38.     @Test  
  39.     public void testDeleteNotExistRow() throws Exception {  
  40.         byte[] rowKey = Bytes.toBytes("allen_test_row");  
  41.         Delete delete = new Delete(rowKey);  
  42.         table.delete(delete);  
  43.     }  
  44.   
  45.     @Test  
  46.     public void testScan_01() throws Exception {  
  47.   
  48.         Set<String> resultRowKeys = new HashSet<String>();  
  49.         Scan scan = new Scan(rowKey1, rowKey2);  
  50.         ResultScanner resultScanner = table.getScanner(scan);  
  51.         for (Result result = resultScanner.next(); result != null; result = resultScanner  
  52.                 .next()) {  
  53.             resultRowKeys.add(Bytes.toString(result.getRow()));  
  54.         }  
  55.   
  56.         Assert.assertTrue(resultRowKeys.size() == 1);  
  57.         Assert.assertTrue(resultRowKeys.contains(rowKeyStr1));  
  58.     }  
  59.   
  60.     @Test  
  61.     public void testScan_02() throws Exception {  
  62.         Set<String> resultRowKeys = new HashSet<String>();  
  63.   
  64.         Scan scan = new Scan(rowKey1);  
  65.         ResultScanner resultScanner = table.getScanner(scan);  
  66.         for (Result result = resultScanner.next(); result != null; result = resultScanner  
  67.                 .next()) {  
  68.             resultRowKeys.add(Bytes.toString(result.getRow()));  
  69.         }  
  70.   
  71.         Assert.assertTrue(resultRowKeys.size() == 4);  
  72.         Assert.assertTrue(resultRowKeys.contains(rowKeyStr1));  
  73.         Assert.assertTrue(resultRowKeys.contains(rowKeyStr2));  
  74.         Assert.assertTrue(resultRowKeys.contains(rowKeyStr3));  
  75.         Assert.assertTrue(resultRowKeys.contains(rowKeyStr4));  
  76.     }  
  77.   
  78.     @Test  
  79.     public void testScan_03() throws Exception {  
  80.         Set<String> resultRowKeys = new HashSet<String>();  
  81.   
  82.         Scan scan = new Scan(rowKey1);  
  83.         scan.addColumn(ColumnFamilyName, QName1);  
  84.         ResultScanner resultScanner = table.getScanner(scan);  
  85.         for (Result result = resultScanner.next(); result != null; result = resultScanner  
  86.                 .next()) {  
  87.             resultRowKeys.add(Bytes.toString(result.getRow()));  
  88.         }  
  89.   
  90.         Assert.assertTrue(resultRowKeys.size() == 3);  
  91.         Assert.assertTrue(resultRowKeys.contains(rowKeyStr1));  
  92.         Assert.assertTrue(resultRowKeys.contains(rowKeyStr2));  
  93.         Assert.assertTrue(resultRowKeys.contains(rowKeyStr3));  
  94.   
  95.     }  
  96.   
  97.     @Test  
  98.     public void testCheckAndPut() throws Exception {  
  99.         byte[] rowKey = Bytes.toBytes("allen_test_row");  
  100.         Put put = new Put(rowKey);  
  101.         put.add(ColumnFamilyName, QName1, Bytes.toBytes("a"));  
  102.         put.add(ColumnFamilyName, QName2, Bytes.toBytes("b"));  
  103.   
  104.         boolean result = false;  
  105.   
  106.         result = table.checkAndPut(rowKey, ColumnFamilyName, QName2,  
  107.                 Bytes.toBytes("b"), put);  
  108.         // check fail, put fail.  
  109.         Assert.assertFalse(result);  
  110.   
  111.         result = table.checkAndPut(rowKey, ColumnFamilyName, QName2, null, put);  
  112.         // check ok, put ok.  
  113.         Assert.assertTrue(result);  
  114.   
  115.         result = table.checkAndPut(rowKey, ColumnFamilyName, QName2, null, put);  
  116.         // check fail, put fail.  
  117.         Assert.assertFalse(result);  
  118.   
  119.         result = table.checkAndPut(rowKey, ColumnFamilyName, QName2,  
  120.                 Bytes.toBytes("b"), put);  
  121.         // check ok, put ok.  
  122.         Assert.assertTrue(result);  
  123.     }  
  124.   
  125.     @Test  
  126.     public void testPutAndGet() throws Exception {  
  127.         byte[] rowKey = Bytes.toBytes("allen_test_row");  
  128.         Put put = new Put(rowKey);  
  129.         put.add(ColumnFamilyName, QName1, Bytes.toBytes("a"));  
  130.         put.add(ColumnFamilyName, QName3, null);  
  131.         table.put(put);  
  132.   
  133.         Get get = new Get(rowKey);  
  134.         Result result = table.get(get);  
  135.   
  136.         byte[] q1 = result.getValue(ColumnFamilyName, QName1);  
  137.         byte[] q2 = result.getValue(ColumnFamilyName, QName2);  
  138.         byte[] q3 = result.getValue(ColumnFamilyName, QName3);  
  139.   
  140.         Assert.assertEquals("a", Bytes.toString(q1));  
  141.         // we get null byte array here.  
  142.         Assert.assertEquals(null, Bytes.toString(q2));  
  143.         // we get empty byte array here. not a null.  
  144.         Assert.assertEquals("", Bytes.toString(q3));  
  145.   
  146.         // get a row doesn't exist.  
  147.         byte[] rowKey2 = Bytes.toBytes("allen_test_row_not_exist");  
  148.         get = new Get(rowKey2);  
  149.         result = table.get(get);  
  150.         Assert.assertTrue(result.isEmpty());  
  151.     }  
  152.   
  153.     @Test  
  154.     public void testPutWithoutColumn() throws Exception {  
  155.         byte[] rowKey = Bytes.toBytes("allen_test_row");  
  156.         Put put = new Put(rowKey);  
  157.         try {  
  158.             table.put(put);  
  159.             Assert.fail();  
  160.         } catch (IllegalArgumentException e) {  
  161.             // ignore.  
  162.         }  
  163.     }  
  164. }  
KV Cache 详解:新手也能理解的 LLM 推理加速技巧 (Autoregressive)生成的,即每次生成一个 token,然后将其作为输入继续生成下一个 token。:如果序列太长,超过了 KV Cache 的存储限制,就需要丢弃最早的 tokens(类似滑动窗口)。时,每次只会生成一个新 token,然后再把这个 token 作为输入继续生成下一个 token。,只缓存计算过的 K,VK, V,每次只计算新 token 的 K,VK, V,从而提升推理效率。:如果输入的 prompt 发生变化,之前的 KV Cache 不能复用,必须重新计算。 阅读详情

相关推荐

告别RXTX:SpringBoot集成jSerialComm实现更现代的串口通信(附完整代码对比)

本文详细介绍了如何从传统的RXTX库迁移到jSerialComm,实现SpringBoot项目中更现代的串口通信。通过对比两种技术的依赖配置、API设计和跨平台支持,展示了jSerialComm在简化部署、提升性能和增强稳定性方面的优势,并提供了完整的代码示例和实战经验。

weixin_42522964的博客 288

Hbase基本操作

Hbase基本操作    Hbase中主要的客户端接口是HTable类,HTable提供了对数据的所有CRUD操作。需要注意的是由于创建HTabe实例比较耗时, 所以在实际使用中最好创建单例模式的HTable实例,不过如果需要多个HTable实例的话,可以考虑使用HBase的HTablePool特性(下面后讲到)。Hbase不提供直接的update操作。由于Hbase中数据存储有版本支持。

qzlzwhx的专栏 1855

Reeds-Shepp曲线公式推导及代码实现-第三部分(共三部分)

根据原始起点的坐标和航向,将上一小节计算出来的局部进行整体的平移和旋转(与归一化的步骤刚好相反),最终得到全局路径的轨迹。根据计算出来的路径,选择路径最短的轨迹(也可根据我们实际的需要定制选优规则),作为最终的轨迹输出。Reeds-Shepp曲线公式推导及代码实现-第一部分(共三部分)Reeds-Shepp曲线公式推导及代码实现-第二部分(共三部分)的值进行等步长插值,得到每段轨迹对应的生成一系列插值距离列表。根据上一步生成的插值距离列表的值,计算其对应的局部位姿值。后,我们需要根据字段类型(

jianmo的博客 1089

HBase基本操作

HBase基本操作   (一)连接数据库   hbase shell      (二)list操作:查看当前数据库所有表 (三)创建表   create '表名',''列族名1’,'列族名2'    (三)插入数据   put '表名','行键名',...

151

从零开始之stm32之CAN通信

CAN通信极简教程(小白友好版),从小白的视角了解并实现简单的STM32F103的CAN通信,直接上手。

qq_30993593的博客 1309

RTKLIB PPP与RTK_POST精密定位实战:从实时到事后处理的完整流程解析

本文详细解析了如何使用RTKLIB进行精密单点定位(PPP)的完整流程,涵盖从实时处理到事后处理(RTK_POST)的关键步骤。文章深入探讨了数据准备、软件配置、核心参数设置(如电离层、对流层、潮汐改正)以及常见问题排查,旨在帮助用户掌握高精度GNSS定位技术,实现从入门到精通的实战应用。

weixin_29047919的博客 280

[Hbase]hbase命令行基本操作

-进入hbase shell hbase shell - 帮助help help - 查看hbase versionversion - 查看hbase 状态 status - 创建表create 'tableName', 'columnFamily:column' - 查看存在哪些表 list - 查看表结构describe 'tableName' - 存储数据put 'ta...

weixin_30845171的博客 162

深入解析“PROJ: proj_create_from_database: Cannot find proj.db”错误:从环境配置到打包实战

本文深入解析了“PROJ: proj_create_from_database: Cannot find proj.db”错误的根源与解决方案,涵盖环境配置、PyInstaller打包及跨平台兼容性处理。通过详细分析PROJ库路径问题及GDAL依赖关系,提供动态路径设置、资源文件打包等实战技巧,帮助开发者高效解决地理数据处理中的常见错误。

weixin_29074409的博客 446

Hive Hbase区别 转载整理

Hive是為簡化編寫MapReduce程序而生的,使用MapReduce做過數據分析的人都知道,很多分析程序除業務邏輯不同外,程序流程基本一樣。在這種情況下,就需要Hive這樣的用戶編程接口。Hive本身不存儲和計算數據,它完全依賴於HDFS和MapReduce,Hive中的表純邏輯表,就是些表的定義等,也就是表的元數據。使用SQL實現Hive是因為SQL大家都熟悉,轉換成本低,類似作用的Pig就

maixia24的专栏 2万+

一种基于机载LiDAR点云电力线自动提取方法

文章目录一、引言二、算法实现2.1实现步骤2.2实现代码 一、引言 二、算法实现 2.1实现步骤 (1)首先采用首先采用高程滤波方法去除地面点和低矮地物点,滤波后的点云数据中除电力线点云外还含部分杆塔点、高植被点和噪声点。 (2)根据点云空间维度特征提取电力线点,使用空间密度聚类的方法实现单根电力线精确分离。 2.2实现代码 在这里插入代码片 ...

dayuhaitang1的博客 5172

AI处理器组合

编号0-3的处理器处于同一个链路中,编号4-7的处理器处于另外一个链路中,不通链路中的处理器不能通信,如下图所示。- 如果申请处理器个数为1,则选择同一链路,剩余可用的处理器数量为1个的最佳,其次是剩余3个的为次佳,然后是剩余2个,最后是剩余4个。输出为组合列表,当array=[0, 1, 4, 5, 6, 7] ,num=1时,输出为[[0], [1]]- 如果申请处理器个数为2,则选择同一链路剩余可用的处理器数量2个的为最佳,其次是剩余4个,最后是剩余3个。任务申请1个处理器。

面试高手的博客 1万+

【转载】HBase总结

原文来自阿里数据平台,感觉这是HBase文章里最通俗易懂的一篇文章了 HBase的逻辑视图 HBase以表的形式存储数据。表有行和列组成。列划分为若干个列族(row family) Row Key 与nosql数据库们一样,row key是用来检索记录的主键。访问hbase table中的行,只有三种方式: 1 通过单个row key访问 2 通过row key的ran...

a39324584的博客 205

5、自适应 RBF 神经网络控制方法解析

本文详细解析了基于RBF神经网络的多种自适应控制方法,包括针对函数未知、参数未知以及存在外部干扰的非线性系统的控制策略。通过李雅普诺夫稳定性理论设计自适应律,确保闭环系统稳定,并结合仿真示例和MATLAB代码实现,展示了方法的有效性。文章还对比了不同控制方法的适用场景,并给出了实际应用流程,为复杂系统控制提供了系统性解决方案。

ol789012的博客 75

通过JavaAPI使用HBase

1.准备工作 (1) 启动zookeeper服务,我的是在本地启动zookeeper /usr/local/zookeeper/bin$ sudo zkServer.sh start (2) 启动HBase和HBase shell 启动HBase: /usr/local/hbase/bin下启动start-hbase.sh 启动HBase shell /usr/l...

weixin_34205076的博客 98

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【转载】HBase Region重点剖析

Region的概念 Region是HBase数据管理的基本单位。数据的move,数据的balance,数据的split,都是按照region来进行操作的。 region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region。 一个表中可以包含一个或多个Region。 每个Region只能被一个RS(RegionServer)提供服务,RS可以同...

weixin_30652879的博客 176

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

玉女心经HBase——HBase安装及简单使用

转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/86493197 本文出自【我是干勾鱼的博客】 Ingredients: Language Java:Java SE Development Kit 8u162(Oracle Java Archive),Linux下安装JDK修改环境变量 Hadoop:hadoop-2....

干勾鱼的优快云博客 3237

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

HBase Shell命令大全 转载

https://blog.csdn.net/vbirdbest/article/details/88236575 一:简介 HBase的名字的来源于Hadoop database,即hadoop数据库,不同于一般的关系数据库,它是非结构化数据存储的数据库,而且它是基于列的而不是基于行的模式。 HBase是一个分布式的、面向列的、基于Google Bigtable的开源实现。 利用Hadoop HDFS作为其文件存储系统, 利用Hadoop MapReduce来处理HBase中的海量数据, 利用Z.

一休求索 332

转载:Hive整合HBase完整笔记

原始链接:https://blog.csdn.net/dajiangtai007/article/details/79696853 Hive整合HBase完整笔记(亲测) Hive与HBase整合文档 1、Hive整合HBase配置 1.1拷贝hbase 相关jar包 将hbase 相关jar包拷贝到hive lib目录下 hbase-client-0.98.13-hadoop2.jar hbase-common-0.98.13-hadoop2.jar hbase-server-0...

黄道婆的专栏 231

【转载】HBase基本概念和hbase shell常用命令用法

1. 简介   HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》。HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。 2. HBase的表结构   

lijuan2441988的专栏 517

【转载】Hive vs HBase

转自:http://www.chinastor.com/a/hbase/0G3Z532014.html Hive是什么? Apache Hive是一个构建于Hadoop(分布式系统基础架构)顶层的数据仓库,注意这里不是数据库。Hive可以看作是用户编程接口,它本身不存储和计算数据;它依赖于HDFS(Hadoop分布式文件系统)和MapReduce(一种编程模型,映射与化简;用于大数据...

amo1561的博客 145

Hbase中的Column Family(转载)

1. 概述 HBase是一帮家伙看了Google发布的一片名为“BigTable”的论文以后,犹如醍醐灌顶,进而“山寨”出来的一套系统。 由此可见:   1. 几乎所有的HBase中的理念,都可以从BigTable论文中得到解释。原文是英语的,而且还有不少数学概念,看了有点儿懵,建议网上找找学习笔记看看,差不多也就可以入门了。   2. Google确实牛X。   3. 老外也爱山寨~ 第一次看HBase, 可能看到以下描述会懵:“基于列存储”,“稀疏MAP”,“RowKey”,“Colu.

微电子学与固体电子学-俞驰 1111

Hbase 操作工具类

依赖jar <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>2.0.5<...

weixin_33697898的博客 115

转载:hbase入门 一些简单的查询语句

这里我们用一个学生成绩表作为例子,对HBase的基本操作和基本概念进行讲解: 下面是学生的成绩表: name grad      course:math   course:art Tom    1                87                    97 Jerry   2            100                  80         这里g...

iteye_18761的博客 1510

2.7 HBase架构深入剖析

一、1、client整个HBase集群的访问入口; 使用HBase RPC机制与HMaster和HRegionServer进行通信; 与HMaster进行通信进行管理类操作; 与HRegionServer进行数据读写类操作; 包含访问HBase的接口,并维护cache来加快对HBase的访问2、zookeeper保证任何时候,集群中只有一个HMaster; 存贮所有HRegion的寻入口...

weixin_30819163的博客 122

转载:Hbase原理详解

原始链接:https://blog.csdn.net/sinat_30802291/article/details/80817426 1、Hbase原理详解 1.Hadoop生态系统 Zookeeper分布式监控中心: HDFS的NameNode和MapReduce高可用。 zookeeper内部维护一个内存数据库。 存储Hbase一些数据(后续再谈) MapReduce:分布式计算框架 Hive:数据仓库 HBase...

黄道婆的专栏 172

HBase之——部署经验与坑总结

转载请注明出处:https://blog.csdn.net/l1028386804/article/details/88696276 1.本地单机部署hbase,想要使用独立zookeeper,不使用自带的 vim conf/hbase-env.sh export HBASE_MANAGES_ZK=false 设置不使用自带zookeeper,但是总是报错: Could not sta...

冰河的专栏 2191
上一篇: (转载)hbase轻量级中间件simplehbase v0.1简介
下一篇: (转)用mapreduce来操作hbase的两点优化
weixir123
博客等级 码龄16年 1粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值