日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

使用HBase Client访问阿里云NoSQL数据库表格存储

發布時間:2025/3/19 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用HBase Client访问阿里云NoSQL数据库表格存储 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Apache HBase

  • Apache HBase是Hadoop database,屬于Hadoop生態系統。
  • 自從十四年前Google相繼發布論文:《The Google File System》、《MapReduce: Simplified Data Processing on Large Clusters》和《Bigtable: A Distributed Storage System for Structured Data》后,開源界開始模仿論文設計開源版本的這三個系統,其中佼佼者就是Hadoop生態,分別對應于Hadoop,HDFS和HBase。
  • 經過十幾年業界大規模的使用和錘煉,目前Hadoop生態已經成為一種事實上的業界規范,導致NoSQL的鼻祖Google的Bigtable都支持HBase wrapper,提供了Bigtable HBase client。

Tablestore

  • Tablestore,中文名表格存儲,是阿里云自主研發的NoSQL數據庫,不同于HBase使用了Java,表格存儲和Bigtable一樣使用了C++語言來開發。
  • 作為同類型的NoSQL數據庫,HBase的大部分功能也同樣存在于表格存儲中,甚至大部分場景下性能更優,但是表格存儲還是不同于HBase,有部分高級功能,HBase并不擁有,這個后面單獨文章介紹。

HBase client

  • HBase client是HBase提供的便于用戶訪問HBase的客戶端,支持讀、寫、掃描、批量、表管理等功能。

場景

Hadoop生態作為長久以來唯一的開源大數據解決方案,被廣泛用于各個公司中。目前,大部分自建數據處理系統的公司使用了HBase等Hadoop生態的系統。當這部分用戶想將數據遷移到阿里云的NoSQL數據庫表格存儲時,之前都需要用戶重寫客戶端代碼才能使用表格存儲,雖然這種方式性能更好,對后續的使用也更友好的,但是還是初期比較耗時間,為了解決這個問題,表格存儲年前也推出了TableStore HBase client。

如何使用

用戶如果之前使用HBase Client訪問HBase,現在只需要在項目中將對HBase Client的依賴 修改為對Tablestore HBase client的依賴,同時修改hbase-site.xml中的hbase.client.connection.impl值為com.alicloud.tablestore.hbase.TablestoreConnection即可。其他代碼都不需要任何改動。

例子

代碼位置

當前示例程序使用了HBase API訪問表格存儲服務,完整的示例程序位于Github的Aliyun Tablestore HBase client for Java項目中,目錄位置是src/test/java/samples/HelloWorld.java。

配置項目依賴

Maven的依賴配置如下:

<dependencies><dependency><groupId>com.aliyun.openservices</groupId><artifactId>tablestore-hbase-client</artifactId><version>1.2.0</version></dependency></dependencies>

配置文件

hbase-site.xml中增加下列配置項:

<configuration><property><name>hbase.client.connection.impl</name><value>com.alicloud.tablestore.hbase.TablestoreConnection</value></property><property><name>tablestore.client.endpoint</name><value>endpoint</value></property><property><name>tablestore.client.instancename</name><value>instance_name</value></property><property><name>tablestore.client.accesskeyid</name><value>access_key_id</value></property><property><name>tablestore.client.accesskeysecret</name><value>access_key_secret</value></property><property><name>hbase.client.tablestore.family</name><value>f1</value></property><property><name>hbase.client.tablestore.table</name><value>ots_adaptor</value></property> </configuration>

連接表格存儲

通過創建一個TableStoreConnection對象鏈接表格存儲服務。

Configuration config = HBaseConfiguration.create();// 創建一個Tablestore ConnectionConnection connection = ConnectionFactory.createConnection(config);// Admin 負責創建、管理、刪除等Admin admin = connection.getAdmin();

創建表

通過指定表名創建一張表,MaxVersion和TimeToLive都是用默認值。

// 創建一個HTableDescriptor,只有一個列族HTableDescriptor descriptor = new HTableDescriptor(TableName.valueOf(TABLE_NAME));// 創建一個列族,MaxVersion和TimeToLive使用默認值,MaxVersion默認值是1,TimeToLive默認值是Integer.INF_MAX。descriptor.addFamily(new HColumnDescriptor(COLUMN_FAMILY_NAME));// 通過Admin的createTable接口創建表System.out.println("Create table " + descriptor.getNameAsString());admin.createTable(descriptor);

寫數據

寫入一行數據到表格存儲。

// 創建一個TablestoreTable,用于單個表上的讀寫更新刪除等操作Table table = connection.getTable(TableName.valueOf(TABLE_NAME));// 創建一個Put對象,主鍵是row_1System.out.println("Write one row to the table");Put put = new Put(ROW_KEY);// 增加一列,表格存儲只支持單列族,列族名稱在hbase-site.xml中配置,如果沒有配置默認是“f”,所以寫入數據時COLUMN_FAMILY_NAME可以是空值put.addColumn(COLUMN_FAMILY_NAME, COLUMN_NAME, COLUMN_VALUE);// 執行Table的put操作,使用Hbase API將這一行數據寫入表格存儲table.put(put);

讀數據

讀取指定行的數據。

// 創建一個Get對象,讀取主鍵為ROW_KEY的行Result getResult = table.get(new Get(ROW_KEY));Result result = table.get(get);// 打印結果String value = Bytes.toString(getResult.getValue(COLUMN_FAMILY_NAME, COLUMN_NAME));System.out.println("Get one row by row key");System.out.printf("\t%s = %s\n", Bytes.toString(ROW_KEY), value);

掃描數據

范圍讀取數據。

掃描全表所有行數據System.out.println("Scan for all rows:");Scan scan = new Scan();ResultScanner scanner = table.getScanner(scan);// 循環打印結果for (Result row : scanner) {byte[] valueBytes = row.getValue(COLUMN_FAMILY_NAME, COLUMN_NAME);System.out.println('\t' + Bytes.toString(valueBytes));}

刪表

使用Admin API刪除一張表。

print("Delete the table");admin.disableTable(table.getName());admin.deleteTable(table.getName());

完結

按照上面的步驟就可以使用Tablestore HBase client了,目前,已經有用戶開始使用,后續,我們會根據用戶的反饋持續優化Tablestore HBase client,使其性能能追趕到原生的表格存儲(Tablestore)。

雖然通過Tablestore HBase Client也可以訪問表格存儲,但是還是建議用戶直接使用表格存儲的SDK訪問表格存儲,這樣性能更好,功能更多,價格更便宜。表格存儲的官方網站:https://cn.aliyun.com/product/ots

總結

以上是生活随笔為你收集整理的使用HBase Client访问阿里云NoSQL数据库表格存储的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美深性狂猛ⅹxxx深喉 | 中文字幕一区二区三区乱码不卡 | 午夜免费激情视频 | 狠狠爱五月婷婷 | 蜜臀视频在线观看 | 最近的中文字幕在线看视频 | 国产精品麻豆欧美日韩ww | 狂野欧美性猛交xxⅹ李丽珍 | 免费看国产黄色片 | 欧美精品黄 | 精品影视一区二区 | 国产视频久久久久久 | 成人97| 超碰夜夜 | 好吊妞一区二区三区 | av在线网址大全 | 日本成人精品 | 久久桃色 | 亚洲h网站 | 找av导航| av黄色成人 | 日韩永久 | 日韩三级在线观看 | 用力挺进新婚白嫩少妇 | 少女与动物高清版在线观看 | 打开每日更新在线观看 | 国产精品国语 | 人人妻人人澡人人爽精品日本 | 4438全国成人免费 | 日韩天堂在线视频 | 欧美打屁股| 深夜激情影院 | 欧美三级三级三级爽爽爽 | 添女人荫蒂视频 | 麻豆网站在线免费观看 | 国模视频在线 | 中文字幕一区二区三区久久久 | 色秀视频网 | 国产av不卡一区二区 | 久久成人在线视频 | 久久精品久久精品 | 秋霞欧美一区二区三区视频免费 | 亚洲精品久久久久久宅男 | 性插插视频 | 成人av国产 | 亚洲国产黄 | 爱爱激情网 | 日韩欧美三级在线观看 | 善良的少妇伦理bd中字 | 91在线高清| 天天碰天天操 | 日本免费在线视频 | 成人午夜影院 | 妖精视频一区二区三区 | 国产精品九九热 | 简单av在线 | 色批网站 | 日韩在线国产 | 色综合久久88色综合天天免费 | 日本午夜视频 | 久久视频热 | 欧美激情黑人 | 韩国三级在线看 | 国产视频一区在线观看 | 国产乱码一区二区三区在线观看 | 亚洲a√ | 精品国产乱码久久久久久婷婷 | 国产伦精品一区二区免费 | 一级片在线免费观看 | 亚洲免费观看在线 | 91日韩在线视频 | 国产精品久久久久久69 | 91福利网址 | 精品黑人一区二区三区观看时间 | 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 中文字幕在线视频免费播放 | 精品黑人一区二区三区国语馆 | 四虎影成人精品a片 | 国内毛片毛片毛片毛片毛片 | 涩涩屋视频在线观看 | 女性私密整形视频 | 高清不卡一区二区三区 | 日本一区二区高清视频 | 女人毛片视频 | aaa国产 | 国产一区二区内射 | 国产妻精品一区二区在线 | 亚洲一区视频网站 | 91福利在线观看视频 | 国产成人在线视频观看 | 国产精品99无码一区二区视频 | 国产a不卡 | 邻居校草天天肉我h1v1 | 精彩视频一区二区三区 | 看黄色一级视频 | 免费观看成人鲁鲁鲁鲁鲁视频 | 日本午夜精品理论片a级app发布 | 成人av资源在线 | 狠狠干狠狠操视频 |