目前的wwWwtxffCoM联通4g接入点点,系统为啥wtxff就是登不上

何时才能继续wwWwtxffcom欣赏,里面的129WE那写节目com呀_百度知道
何时才能继续wwWwtxffcom欣赏,里面的129WE那写节目com呀
我有更好的答案
这都不知道,挺容易的先到;[hne.pk3.tech]这是我先找到的,O(∩_∩)O~
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。HBase表管理系统
1. 软件版本 & 部署:
maven:3.3.9,jdk:1.7 ,Struts2:2.3.24.1,Hibernate:4.3.6,Spring:4.2.5,MySQL:5.1.34,Junit:4,Myeclipse:2014;
Hadoop2.6.4,HBase1.1.2
2. 功能及核心实现
2.1系统菜单
HBase表管理系统主要是对表以及表数据的相关操作;
2.2 表管理
直接打开Table管理界面,即可看到所有表的简要信息,包括(namspace)、表名、简单表描述等;
这个查询的信息直接基于Admin的listTableNames方法,具体调用如下:
* 获取所有表
* @throws IOException
public List getTables() throws IOException {
List list = new ArrayList&&();
Admin admin = HadoopUtils.getHBaseConnection().getAdmin();
TableName[] tables = admin.listTableNames();
HBaseTable hTable =
for (TableName t : tables) {
hTable = new HBaseTable();
hTable.setNameSpace(t.getNamespaceAsString());
hTable.setTableName(t.getNameAsString());
// HTableDescriptor htableDes = admin.getTableDescriptor(t);
// System.out.println(htableDes.toString());
// System.out.println(htableDes.toStringTableAttributes());
// System.out.println(htableDes.getFamilies().toString());
// System.out.println(htableDes.toStringCustomizedValues());
hTable.setDescription(admin.getTableDescriptor(t)
.toStringCustomizedValues());
setRegions(hTable, admin.getTableRegions(t));
list.add(hTable);
2.2.1 表详细
表详细功能需要先选定一行记录,否则会提示:
选择一个记录后,点击表详细即可弹出表详细信息:
后台实现通过admin.getTableDescriptor即可获得表的详细信息,但是需要提供表名,表名可以从前天传入即可,如下:
* 获取指定表详细信息
* @param tableName
* @throws IOException
public String getTableDetails(String tableName) throws IOException {
Admin admin = HadoopUtils.getHBaseConnection().getAdmin();
HTableDescriptor tableDescriptors = admin
.getTableDescriptor(getTableName(tableName));
System.out.println(tableDescriptors.toStringCustomizedValues());
System.out.println(tableDescriptors.toString());
return admin.getTableDescriptor(getTableName(tableName)).toString();
2.2.2 表新增
表新增功能只是提供一个简单的新增,即只提供表名、列簇名即可,如下:
同时提交后台后,如果表已经存在则会进行对应的提示,后台通过遍历所有表名实现此功能,效率不高,实现如下:
public boolean checkTableExists(String tableName) throws IOException {
Admin admin = HadoopUtils.getHBaseConnection().getAdmin();
TableName[] tables = admin.listTableNames();
for (TableName t : tables) {
if (t.getNameAsString().equals(tableName)) {
新增表,通过admin的createTable实现:
public boolean saveTable(String tableName, String cfs) throws IOException {
Admin admin = HadoopUtils.getHBaseConnection().getAdmin();
HTableDescriptor hTableDescriptor = new HTableDescriptor(
getTableName(tableName));
String[] cfsArr = StringUtils.split(cfs, Utils.COMMA);
for (String cf : cfsArr) {
hTableDescriptor.addFamily(new HColumnDescriptor(cf));
admin.createTable(hTableDescriptor);
2.2.3 表删除
表删除,同样需要选择一条记录,如果没有选择记录,同样会提示选择表,选择表后,点击删除,会进行下面的提示:
如果点击OK,则删除,Cancel则取消;
删除实现,同样使用Admin的disableTable, deleteTable方法
public boolean deleteTable(String tableName) throws IOException {
Admin admin = HadoopUtils.getHBaseConnection().getAdmin();
admin.disableTable(getTableName(tableName));
admin.deleteTable(getTableName(tableName));
备注: 这里应该先判断此表是否是enable状态,如果不是则直接删除;如果是disable状态,则执行上述代码会有问题;
2.3 表数据管理
在打开表数据管理页面后,会初始化表名的下拉框,下拉框中数据的获取采用AJax的方式访问后台获取,方法同样使用Admin的listTableNames方法;
在选择一个表后,会初始化列簇名下拉框数据和start rowkey ,如下:
在查询数据时,可以选择多个列簇名,同时可以修改Start rowkey ,选择记录数以及版本数;
根据表名获取列簇名后台代码实现如下(通过HTableDescriptor的getColumnFamilies方法获取):
public List getTablesColumnFamily(String tableName)
throws IOException {
List list = new ArrayList&&();
Admin admin = HadoopUtils.getHBaseConnection().getAdmin();
HTableDescriptor tableDescriptor = admin
.getTableDescriptor(getTableName(tableName));
HColumnDescriptor[] columnDescriptors = tableDescriptor
.getColumnFamilies();
for (HColumnDescriptor t : columnDescriptors) {
list.add(new TextValue(t.getNameAsString()));
以及start rowKey的后台代码如下(即,只读取第一行数据,然后返回其rowkey):
public String getTableRowKey(String tableName) throws IOException {
Table table = HadoopUtils.getHBaseConnection().getTable(
getTableName(tableName));
Scan scan = new Scan();
ResultScanner scanner = table.getScanner(scan);
Result firstRow = scanner.next();
scanner.close();
table.close();
if (firstRow == null)
return &-1&;
return new String(firstRow.getRow());
根据表名、列簇名、start rowkey、版本数、记录数,获取数据的后台代码如下:
public List getTableData(String tableName, String cfs,
String startRowKey, int limit, int versions) throws IOException {
List datas = new ArrayList&&();
Table table = HadoopUtils.getHBaseConnection().getTable(
getTableName(tableName));
Scan scan = new Scan();
scan.setMaxVersions(versions);
if (startRowKey != &-1&) {
scan.setStartRow(startRowKey.getBytes());
String[] cfsArr = cfs.split(Utils.COMMA, -1);
for (String cf : cfsArr) {
scan.addFamily(cf.getBytes());
ResultScanner scanner = table.getScanner(scan);
Result[] rows = scanner.next(limit);
for (Result row : rows) {
// Cell[] cells = row.rawCells();
datas.addAll(getFromCells(row.rawCells()));
scanner.close();
table.close();
通过设置Scan的maxVersions以及startRow 来限定版本数和开始遍历位置,通过设置scanner.next来限定获取的记录数;
数据新增,通过指定表名、列簇名即可,如果列簇名指定多个,会提示错误:
数据新增使用window弹出框,为了把表名和列簇名传递到该window,使用了url加参数的方法(比较别扭的方式),具体如下:
var win_table_add_data_ = $('#win_table_add_data').window({
width:450,
height:350,
modal:true,
title:'数据新增',
collapsible:false,
minimizable:false,
maximizable:false,
content: '
' + &a& +'
' content: '&iframe frameborder="0" id="tabIframe" src="hbaseCommand/data_add.jsp?tableName='+tableName_+'&cf='+cf_+	
	'" style="border-top: 0 height: 100%; border-right: 0 width: 100%; border-bottom: 0 border-left: 0px"&&#39, // href:&hbaseCommand/data_add.jsp&, onOpen:function(){ // 修改对应的值; // $(&#39#data_add_ff_tableName&#39).val(getFakeData(&#39cc_data_retrieve_tableName&#39)); // $(&#39#data_add_ff_family&#39).val(cf_); // $(&#39#data_add_ff_family&#39).textbox(&#39setValue&#39,cf_); } });
在弹出框中,用户可以输入rowkey,column,vlaue :
表名、列簇名不可编辑,用户点击添加后,直接put数据到表中;
public boolean saveTableData(String tableName, String cfs, String rowkey,
String column, String value) throws IOException {
Table table = HadoopUtils.getHBaseConnection().getTable(
getTableName(tableName));
Put put = new Put(Bytes.toBytes(rowkey));
put.addColumn(Bytes.toBytes(cfs), Bytes.toBytes(column),
Bytes.toBytes(value));
table.put(put);
table.close();
3.3.2数据删除
直接根据提供的数据使用checkAndDelete进行删除,防止在删除的时候数据被修改:
public boolean deleteTableData(String tableName, String family,
String qualifier, String rowkey, String value, long timestamp)
throws IOException {
Table table = HadoopUtils.getHBaseConnection().getTable(
getTableName(tableName));
Delete delete = new Delete(Bytes.toBytes(rowkey));
delete.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier),
timestamp);
boolean flag = table.checkAndDelete(Bytes.toBytes(rowkey),
Bytes.toBytes(family), Bytes.toBytes(qualifier),
Bytes.toBytes(value), delete);
table.close();
3.3.3 数据更新
数据更新,同样需要选择一条记录,弹出框的方式类似数据新增(比较别扭的方式),不过可修改的内容只有值而已:
除了值之外,其他输入框都是只读的;后台实现,同样使用checkAndPut 方法:
public boolean updateTableData(String tableName, String cfs, String rowkey,
String column, String value, long timestamp, String oldValue)
throws IOException {
Table table = HadoopUtils.getHBaseConnection().getTable(
getTableName(tableName));
Put put = new Put(Bytes.toBytes(rowkey));
put.addColumn(Bytes.toBytes(cfs), Bytes.toBytes(column), timestamp,
Bytes.toBytes(value));
table.checkAndPut(Bytes.toBytes(rowkey), Bytes.toBytes(cfs),
Bytes.toBytes(column), Bytes.toBytes(oldValue), put);
table.close();
1)HBase的相关API的使用不是很难,主要是如果是插入或者更新操作,需要保持记录前后一致,需要进行row lock,这时就需要用到checkAndXxx 操作了,具体可以参考: ;
2) 数据新增和数据更新弹出框的方式比较别扭,可以考虑使用新的方式(因为要进行参数的传递);
分享,成长,快乐
脚踏实地,专注
转载请注明blog地址:超人:钢铁之躯
来宾食戟之灵
iphone8真难看
未找到信息!
收录 / 索引信息
未找到信息!
来宾羽天齐会有这般抱负
一般不超过80字符
网站关键词
来宾食戟之灵,超人:钢铁之躯,iphone8真难看
一般不超过100字符
食戟之灵,爱车自驾游论坛,交流汽车改装经验与技巧,欣赏汽车修改作业,精彩尽在爱车论坛。最爱自驾游,苗子598,户外高手,申请版主,认证车主全站人申请认证车主热门网站。
一般不超过200字符
同主机安全
虚假或欺诈网站
挂马或恶意网站
未存在违规内容
alexa排名趋势
服务器信息
服务器类型
源文件大小
压缩后大小
最后修改时间
关闭关闭关闭豆丁微信公众号
君,已阅读到文档的结尾了呢~~
广告剩余8秒
文档加载中
中国证券业协会首次公开发行股票网下投资者备案管理系统主
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
(课件)-中国证券业协会首次公开发行股票网下投资者备案管理系统主
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口}

我要回帖

更多关于 联通4g网速最快接入点 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信