欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

HBase如何進行編程

這篇文章主要介紹了HBase如何進行編程,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)建站從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站制作、做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元容城做網(wǎng)站,已為上家服務,為容城各地企業(yè)和個人服務,聯(lián)系電話:18980820575

一、使用Eclipse開發(fā)HBase應用程序

1,在Eclipse中新建一個Java Project,命名為HBaseTest,然后右鍵Properties中選擇Java Build Path,選擇Add External Jars,將HBase/lib目錄下的jar包導入進來。

2,在工程根目錄下創(chuàng)建Conf文件夾,將HBase/Conf下的hbase-site.xml文件復制到該文件夾中,通過右鍵選擇Properties->Java BuildPath->Libraries->Add Class Folder,然后選擇Conf文件夾即可。

二、簡要介紹HBaseJava API

1,  HbaseConfiguration

關系:org.apache.hadoop.hbase.HBaseConfiguration

作用:通過此類可以對HBase進行配置

2,  HBaseAdmin

         關系:org.apache.hadoop.hbase.client.HBaseAdmin

         作用:提供一個接口來管理HBase數(shù)據(jù)庫中的表信息。它提供創(chuàng)建表、刪除表等方法。

3,  HTableDescriptor

         關系:org.apache.hadoop.hbase.client.HTableDescriptor

          作用:包含了表的名字及其對應列族。 提供的方法有

        void          addFamily(HColumnDescriptor)          添加一個列族

        HColumnDescriptor   removeFamily(byte[] column)      移除一個列族

        byte[]              getName()                     獲取表的名字

        byte[]              getValue(byte[] key)              獲取屬性的值

        void                setValue(String key,Stringvalue)    設置屬性的值

4,  HColumnDescriptor

        關系:org.apache.hadoop.hbase.client.HColumnDescriptor

        作用:維護關于列的信息。提供的方法有

        byte[]              getName()                   獲取列族的名字

        byte[]              getValue()                獲取對應的屬性的值

        void              setValue(String key,String value)設置對應屬性的值

5,  HTable

        關系:org.apache.hadoop.hbase.client.HTable

作用:用戶與HBase表進行通信。此方法對于更新操作來說是非線程安全的,如果啟動多個線程嘗試與單個HTable實例進行通信,那么寫緩沖器可能會崩潰。

6,  Put

        關系:org.apache.hadoop.hbase.client.Put

        作用:用于對單個行執(zhí)行添加操作

7,  Get

        關系:org.apache.hadoop.hbase.client.Get

        作用:用于獲取單個行的相關信息

8,  Result

        關系:org.apache.hadoop.hbase.client.Result

        作用:存儲Get或Scan操作后獲取的單行值。

9,  ResultScanner

        關系:Interface

        作用:客戶端獲取值的接口。

三、 HBase Java API簡單實例

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Get;
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;
/*
 * @author minglaihan
 */

public class HBaseTest {
	
	static Configuration cfg = HBaseConfiguration.create();
	
	//通過HBaseAdmin HTableDescriptor來創(chuàng)建一個新表
	public static void create(String tableName, String columnFamily) throws Exception{
		HBaseAdmin admin = new HBaseAdmin(cfg);
		if(admin.tableExists(tableName)){
			System.out.println("Table exist");
			System.exit(0);
		}
		else {
			HTableDescriptor tableDescriptor = new HTableDescriptor(tableName);
			tableDescriptor.addFamily(new HColumnDescriptor(columnFamily));
			admin.createTable(tableDescriptor);
			System.out.println("Table create success");
		}
	}
	
	//添加一條數(shù)據(jù),通過HTable Put為已存在的表添加數(shù)據(jù)
	public static void put(String tableName,String row,String columnFamily,String column,String data) throws IOException{
		HTable table = new HTable(cfg, tableName);
		Put put = new Put(Bytes.toBytes(row));
		put.add(Bytes.toBytes(columnFamily),Bytes.toBytes(column),Bytes.toBytes(data));
		table.put(put);
		System.out.println("put success");
	}
	
	//獲取tableName表里列為row的結(jié)果集
	public static void get(String tableName,String row) throws IOException{
		HTable table = new HTable(cfg, tableName);
		Get get = new Get(Bytes.toBytes(row));
		Result result = table.get(get);
		System.out.println("get "+ result);	
	}
	
	//通過HTable Scan來獲取tableName表的所有數(shù)據(jù)信息
	public static void scan (String tableName) throws IOException{
		HTable table = new HTable(cfg, tableName);
		Scan scan = new Scan();
		ResultScanner resultScanner = table.getScanner(scan);
		for(Result s:resultScanner){
			System.out.println("Scan "+ resultScanner);
		}
	}
	
	public static boolean delete(String tableName) throws Exception{
		HBaseAdmin admin = new HBaseAdmin(cfg);
		if(admin.tableExists(tableName)){
			try {
				admin.disableTable(tableName);
				admin.deleteTable(tableName);
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
				return false;
			}
		}
		return true;
	}
	
	public static void main(String[] args) {
		String tableName = "hbase_test";
		String columnFamily = "c1";
		
		try {
			HBaseTest.create(tableName, columnFamily);
			HBaseTest.put(tableName, "row1", columnFamily, "column1", "data1");
			HBaseTest.get(tableName, "row1");
			HBaseTest.scan(tableName);
			if(HBaseTest.delete(tableName)==true){
				System.out.println("delete table "+ tableName+"success");
			}
			
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}
}

將Delete的步驟注釋掉的運行結(jié)果截圖:

 HBase如何進行編程

HBase如何進行編程

感謝你能夠認真閱讀完這篇文章,希望小編分享的“HBase如何進行編程”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!

當前文章:HBase如何進行編程
鏈接分享:http://www.aaarwkj.com/article34/godipe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、網(wǎng)站策劃、定制開發(fā)、品牌網(wǎng)站制作、電子商務、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設
欧美激情韩国三级日本| 国产激情视频一区二区三区| 欧美日韩精品视频在线| av在线播放网址网站| 日韩国产欧美一区二区三区 | 日本特黄特色大片免费| 久久久久久成人综合色| 国产大神91一区二区三区| 亚洲精品一区国产精品av| 婷婷六月亚洲激情综合| 精品欧美日韩国产一区| 免费av在线网址网站| 亚洲黄色av在线免费观看 | 亚洲码与欧洲码一二三| 宅男午夜一区二区三区| 久久国产麻豆精品电影| 91欧美日韩国产在线观看| 日韩欧美啪啪一区二区| 亚洲av天堂在线观看| 国产一区二区91精品| 最新国产激情福利网站| 久久中文字幕av一区| 国产免费av一区二区在线观看 | 久久久久精品激情三级| 国产日韩手机在线不卡视频| 欧美亚洲国产日韩熟女| 四虎成人免费永久视频| 亚洲精品熟女一区二区三区| 欧美激情三级一区二区| 欧美黄色一级在线免费观看| 天堂8在线最新版av| 在线成人影院中文字幕| 欧美日韩亚洲一区在线| 欧美视频免费一级黄片| 日日夜夜天天操天天干| 国产内射一级一片高清视频观看| 91欧美激情另类亚洲| 亚洲国产高清第一第二区| 要爽死国产一区在线播放| 日韩欧美高清一区二区| 欧美一区二区国产精品日韩|