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表中讀取數據
例如,我們會
- 將值插入到先前在創建包含行和列名稱的表的步驟(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配置時,它將指向我們在HBase安裝期間在hbase-site.xml和hbase-default.xml文件中設置的任何配置
- 使用HTable方法創建表“guru99”
- 將row1添加到表“guru99”
- 指定列名“education”和“projects”,並將值插入相應row1中的列名。這裡插入的值是“BigData”和“HBaseTutorials”。
從Hbase表中讀取數據:
步驟2)無論我們在步驟(1)中放置在HBase表中的值是什麼,這裡我們將獲取並顯示這些值。
用於檢索存儲在“guru99”中的結果
上面的截圖顯示正在從HBase表'guru99'讀取數據
- 在這裡,我們將獲取存儲在列族中的值,即“education”和“projects”
- 使用“ get ”命令,我們將在HBase表中獲取存儲的值
- 使用“scan”命令掃描結果。存儲在row1中的值將顯示在控制檯上。
編寫代碼完成後,您必須像這樣運行java應用程序
- 右鍵單擊HBaseLoading.java - > Run As - > Java Application
- 運行“HBaseLoading .java”之後,將在HBase的每一列中插入“guru99”的值,並且在同一程序中它也可以檢索值。
在HBase shell模式下檢索插入的值
在本節中,我們將檢查以下內容
- 插入HBase表“guru99”的值
- HBase Table guru99中存在值的列名
從上面的屏幕截圖中,我們將獲得這些
- 如果我們在HBase shell中運行“scan”命令,它將在“guru99”中顯示插入的值,如下所示
- 在HBase shell中,它將顯示由我們的代碼插入的具有列名和行名的值
- 在這裡我們可以看到插入的列名是“education”和“projects”
- 插入的值是“BigData”和“HBase Tutorials”到提到的列中
閱讀更多 飛禹德蒙 的文章