主仆调教SM束缚绳索捆绑,成品人和精品人的区别三叶草,双性受被各种性器调教学生小说,精品一区二区三区水蜜桃

尚硅谷大數據技術之HBase(新)第8章 Hbase實戰之谷粒微博

8章 Hbase實戰之谷粒微博

8.1 需求分析

1) 微博內容的瀏覽,數據庫表設計

2) 用戶社交體現:關注用戶,取關用戶

3) 拉取關注的人的微博內容

8.2?代碼實現

8.2.1 代碼設計總覽:

1) 創建命名空間以及表名的定義

2) 創建微博內容表

3) 創建用戶關系表

4) 創建用戶微博內容接收郵件表

5) 發布微博內容

6) 添加關注用戶

7) 移除(取關)用戶

8) 獲取關注的人的微博內容

9) 測試

8.2.2 創建命名空間以及表名的定義

//獲取配置conf

private Configuration conf = HBaseConfiguration.create();

//微博內容表的表名

private static final byte[] TABLE_CONTENT = Bytes.toBytes("weibo:content");

//用戶關系表的表名

private static final byte[] TABLE_RELATIONS = Bytes.toBytes("weibo:relations");

//微博收件箱表的表名

private static final byte[] TABLE_RECEIVE_CONTENT_EMAIL = Bytes.toBytes("weibo:receive_content_email");

public void initNamespace(){

HBaseAdmin admin = null;

try {

admin = new HBaseAdmin(conf);

//命名空間類似于關系型數據庫中的schema,可以想象成文件夾

NamespaceDescriptor weibo = NamespaceDescriptor

.create("weibo")

.addConfiguration("creator", "Jinji")

.addConfiguration("create_time", System.currentTimeMillis() + "")

.build();

admin.createNamespace(weibo);

} catch (MasterNotRunningException e) {

e.printStackTrace();

} catch (ZooKeeperConnectionException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}finally{

if(null != admin){

try {

admin.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

8.2.3 創建微博內容表

表結構:

方法名

creatTableeContent

Table Name

weibo:content

RowKey

用戶ID_時間戳

ColumnFamily

info

ColumnLabel

標題,內容,圖片

Version

1個版本

代碼:

/**

?* 創建微博內容表

?* Table Name:weibo:content

?* RowKey:用戶ID_時間戳

?* ColumnFamily:info

?* ColumnLabel:標題 內容 圖片URL

?* Version:1個版本

?*/

public void createTableContent(){

HBaseAdmin admin = null;

try {

admin = new HBaseAdmin(conf);

//創建表表述

HTableDescriptor content = new HTableDescriptor(TableName.valueOf(TABLE_CONTENT));

//創建列族描述

HColumnDescriptor info = new HColumnDescriptor(Bytes.toBytes("info"));

//設置塊緩存

info.setBlockCacheEnabled(true);

//設置塊緩存大小

info.setBlocksize(2097152);

//設置壓縮方式

// info.setCompressionType(Algorithm.SNAPPY);

//設置版本確界

info.setMaxVersions(1);

info.setMinVersions(1);

content.addFamily(info);

admin.createTable(content);

} catch (MasterNotRunningException e) {

e.printStackTrace();

} catch (ZooKeeperConnectionException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}finally{

if(null != admin){

try {

admin.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

<center id="k5hyo"><tr id="k5hyo"></tr></center>
  • <pre id="k5hyo"><abbr id="k5hyo"></abbr></pre>
    <ul id="k5hyo"></ul>

      主站蜘蛛池模板: 姚安县| 上栗县| 太保市| 大渡口区| 武功县| 柘城县| 扬州市| 揭阳市| 通渭县| 达日县| 潞城市| 安泽县| 右玉县| 永济市| 藁城市| 合水县| 昭觉县| 乐陵市| 泰州市| 马边| 昭平县| 望奎县| 嘉峪关市| 利津县| 普兰县| 讷河市| 府谷县| 左权县| 北辰区| 甘南县| 滁州市| 郧西县| 百色市| 理塘县| 江津市| 镇平县| 循化| 稻城县| 拉孜县| 新民市| 清丰县|