在HBase中創建,插入,讀取表

System.out.println(“連接”);

HBaseAdminhba =新HBaseAdmin(hc);

System.out.println(“創建表”);

hba.createTable(ht);

的System.out.println( “完成......”);

}

}

這是必須放在HBaseConnection.java中的代碼,必須運行java程序

運行此程序後,它將與HBase建立連接,然後它將創建一個包含列名的表。

  • 表名是“guru99”
  • 列名是“教育”和“項目”

步驟4)我們可以通過HBase shell模式和“list”命令檢查是否使用HBase中的兩列創建“guru99”表。

“list”命令提供有關在HBase中創建的所有表的信息。

有關“list”命令的更多信息,請參閱“HBase Shell和常規命令”一文。

在這個屏幕中,我們要做

  • 通過執行“list”命令檢查HBase shell中的代碼。
  • 如果我們運行“list”命令,它將顯示在HBase中創建的表,如下所示。在我們的例子中,我們可以看到創建表“guru99”
在HBase中創建,插入,讀取表

將值放入表中並從表中檢索值:

在本節中,我們將會介紹

  • 將數據寫入HBase表和
  • 從HBase表中讀取數據

例如,我們會

  • 將值插入到先前在創建包含行和列名稱的表的步驟(3)中創建的表“guru99”中
  • 然後從表“guru99”中檢索此值

以下是要放在HBaseLoading.java下的Java代碼,如下所示,用於寫入和檢索數據。

代碼放在HBaseLoading_Java文檔下

import java.io.IOException;

import org.apache.hadoop.hbase.HBaseConfiguration;

import org.apache.hadoop.hbase.client.Get;

import org.apache.hadoop.hbase.client.HTable;

import org.apache.hadoop.hbase.client.Put;

import org.apache.hadoop.hbase.client.Result;

import org.apache.hadoop.hbase.client.ResultScanner;

import org.apache.hadoop.hbase.client.Scan;

import org.apache.hadoop.hbase.util.Bytes;

公共類HBaseLoading

{

public static void main(String [] args)拋出IOException

{

//當您創建HBaseConfiguration時,它會讀入您在hbase-site.xml和hbase-default.xml中設置的任何內容,只要這些內容可以在CLASSPATH上找到

org.apache.hadoop.conf.Configurationconfig = HBaseConfiguration.create();

//這會實例化一個將您連接到“test”表的HTable對象

HTable table = newHTable(config,“guru99”);

//要添加到行,請使用Put。Put構造函數將要插入的行的名稱作為字節數組。

把p = new Put(Bytes.toBytes(“row1”));

//要在“row1”行中設置要更新的值,請指定要更新的表格單元格的列族,列限定符和值。列族必須已存在於表架構中。限定符可以是任何東西。

p.add(Bytes.toBytes( “教育”),

Bytes.toBytes( “COL1”),Bytes.toBytes( “BigData”));

p.add(Bytes.toBytes( “項目”),Bytes.toBytes( “COL2”),Bytes.toBytes( “HBaseTutorials”));

//使用您想要進行的所有更新裝飾Put實例後,提交它執行以下操作

table.put(P);

//現在,檢索我們剛寫的數據。

獲取g = new Get(Bytes.toBytes(“row1”));

結果r = table.get(g);

byte [] value = r.getValue(Bytes.toBytes(“education”),Bytes.toBytes(“col1”));

byte [] value1 = r.getValue(Bytes.toBytes(“projects”),Bytes.toBytes(“col2”));

String valueStr = Bytes.toString(value);

String valueStr1 = Bytes.toString(value1);

System.out.println(“GET:”+“education:”+ valueStr +“projects:”+ valueStr1);

Scan s = new Scan();

s.addColumn(Bytes.toBytes(“education”),Bytes.toBytes(“col1”));

s.addColumn(Bytes.toBytes(“projects”),Bytes.toBytes(“col2”));

ResultScanner scanner = table.getScanner;

嘗試

{

for(結果rr = scanner.next(); rr!= null; rr = scanner.next())

{

System.out.println(“找到行:”+ rr);

}

終於

{

//確保在完成後關閉掃描儀!

scanner.close();

}

}

}

首先,我們將看到如何編寫數據,然後我們將看到如何從hbase表中讀取數據。

將數據寫入HBase表:

步驟1)在這一步中,我們要將數據寫入HBase表“guru99”

首先,我們必須使用-HBaseLoading.java程序編寫用於插入和檢索HBase值的代碼。

要在列級別創建值並將值插入表中,您必須編寫如下代碼

在HBase中創建,插入,讀取表

從上面的屏幕截圖

  1. 當我們創建HBase配置時,它將指向我們在HBase安裝期間在hbase-site.xml和hbase-default.xml文件中設置的任何配置
  2. 使用HTable方法創建表“guru99”
  3. 將row1添加到表“guru99”
  4. 指定列名“education”和“projects”,並將值插入相應row1中的列名。這裡插入的值是“BigData”和“HBaseTutorials”。

從Hbase表中讀取數據:

步驟2)無論我們在步驟(1)中放置在HBase表中的值是什麼,這裡我們將獲取並顯示這些值。

用於檢索存儲在“guru99”中的結果

在HBase中創建,插入,讀取表

上面的截圖顯示正在從HBase表'guru99'讀取數據

  1. 在這裡,我們將獲取存儲在列族中的值,即“education”和“projects”
  2. 使用“ get ”命令,我們將在HBase表中獲取存儲的值
  3. 使用“scan”命令掃描結果。存儲在row1中的值將顯示在控制檯上。

編寫代碼完成後,您必須像這樣運行java應用程序

  • 右鍵單擊HBaseLoading.java - > Run As - > Java Application
  • 運行“HBaseLoading .java”之後,將在HBase的每一列中插入“guru99”的值,並且在同一程序中它也可以檢索值。

在HBase shell模式下檢索插入的值

在本節中,我們將檢查以下內容

  • 插入HBase表“guru99”的值
  • HBase Table guru99中存在值的列名
在HBase中創建,插入,讀取表

從上面的屏幕截圖中,我們將獲得這些

  • 如果我們在HBase shell中運行“scan”命令,它將在“guru99”中顯示插入的值,如下所示
  • 在HBase shell中,它將顯示由我們的代碼插入的具有列名和行名的值
  • 在這裡我們可以看到插入的列名是“education”和“projects”
  • 插入的值是“BigData”和“HBase Tutorials”到提到的列中


分享到:


相關文章: