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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

c# 访问hbase_C#教程之通过Thrift实现C#与Hbase交流

發布時間:2025/3/20 C# 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c# 访问hbase_C#教程之通过Thrift实现C#与Hbase交流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

近期著手的一個項目需要將我方數據存儲到Hadoop的大數據環境,由于本人是.net平臺的開發者,沒有怎么接觸過大數據(因為他實在是太高大尚了)。但還好baidu, google后,還是很找到了解決辦法,就是C#寫數據到hbase,然后大數據開發者在從hbase讀取數據進行多維度處理,如將一部分歷史數據轉移到hive,或者是將一部分數據推送到機器學習庫進行學習。

一、獲取hbase的thrift定義,并生成c#類

1.1 到hbase源碼地址獲取thrift的定義

注意Hbase的版本一定要與運行的Hbase對應。

請選擇thrift,而不是thrift2,原因thrift接口看上更為好用

1.2 獲取thrift,生成c#代碼

thrift生成代碼可以參考的我《半小時入Thrift》

二、啟動hbase的thrift服務

輸入如下命令:

hbase-daemon.shstart thrift

hbase-daemons.sh start thrift (集群版本)

默認的thrift端口是9090,可以在hbase-site.xml配置文件中修改默認端口。

三、用C#編寫測試代碼

var transport = new TSocket("10.34.51.62", 9090);

TProtocol protocol= newTBinaryProtocol(transport);var client = newHbase.Client(protocol);

transport.Open();var tabls =client.getTableNames();foreach(var t intabls)

{

Console.WriteLine(Encoding.Default.GetString(t));

}//寫

Mutation mutation = newMutation();

mutation.Column= Encoding.UTF8.GetBytes("personal_data:abc");

mutation.Value= Encoding.UTF8.GetBytes("Hello");

client.mutateRow(Encoding.UTF8.GetBytes("emp"), Encoding.UTF8.GetBytes("008"), new List { mutation }, null);

Console.WriteLine("add success");var row = client.getRow(Encoding.UTF8.GetBytes("emp"), Encoding.UTF8.GetBytes("008"), null);foreach (var r inrow)

{

Console.WriteLine(Encoding.UTF8.GetString(r.Row));foreach(var c inr.Columns)

{

Console.WriteLine("--" + Encoding.UTF8.GetString(c.Key) + ":" +Encoding.UTF8.GetString(c.Value.Value));

}

}

client.deleteAllRow(Encoding.UTF8.GetBytes("emp"), Encoding.UTF8.GetBytes("008"), null);

Console.WriteLine("delete success");

Console.ReadKey();

transport.Close();

上述代碼實現了hbase寫入,讀取,刪除等功用。

四、測試結果

成功寫入。

五、總結

1. 注意選擇thrift和版本,通過查看maven的依賴獲得

2. 使用thirft版本,而不是thrift2

3. hbase的rowKey+列Key相同時,會對數據進行修改

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的c# 访问hbase_C#教程之通过Thrift实现C#与Hbase交流的全部內容,希望文章能夠幫你解決所遇到的問題。

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