hbase的字符编码方式的问题,在线等

zgycsmb 2018-11-29 09:59:08
spark环境是可以的,在java文件中,

我设置13,这个值,能正常进hbase时,
通过 scan 'imooc_course_clickcount' 显示的是13,
我希望显示时,显示的数据样子是 \x00\x00\x04R 这种的
我应该如何修改呢

整个进hbase的源代码如下:

package com.spark.project.utils;

import org.apache.hadoop.conf.Configuration;
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.util.Bytes;

import java.io.IOException;

/**
* HBase操作工具类:Java工具类建议采用单例模式封装
*/
public class HBaseUtils {


HBaseAdmin admin = null;
Configuration configuration = null;


/**
* 私有改造方法
*/
private HBaseUtils(){
configuration = new Configuration();
configuration.set("hbase.zookeeper.quorum", "hadoop000:2181");
configuration.set("hbase.rootdir", "hdfs://hadoop000:8020/hbase");

try {
admin = new HBaseAdmin(configuration);
} catch (IOException e) {
e.printStackTrace();
}
}

private static HBaseUtils instance = null;

public static synchronized HBaseUtils getInstance() {
if(null == instance) {
instance = new HBaseUtils();
}
return instance;
}


/**
* 根据表名获取到HTable实例
*/
public HTable getTable(String tableName) {

HTable table = null;

try {
table = new HTable(configuration, tableName);
} catch (IOException e) {
e.printStackTrace();
}

return table;
}

/**
* 添加一条记录到HBase表
* @param tableName HBase表名
* @param rowkey HBase表的rowkey
* @param cf HBase表的columnfamily
* @param column HBase表的列
* @param value 写入HBase表的值
*/
public void put(String tableName, String rowkey, String cf,
String column, String value) {
HTable table = getTable(tableName);

Put put = new Put(Bytes.toBytes(rowkey));
put.add(Bytes.toBytes(cf), Bytes.toBytes(column),
Bytes.toBytes(value));

try {
System.out.println(put);
table.put(put);
} catch (IOException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {

//HTable table = HBaseUtils.getInstance().getTable("imooc_course_clickcount");
//System.out.println(table.getName().getNameAsString());

String tableName = "imooc_course_clickcount" ;
String rowkey = "20171022_008";
String cf = "info" ;
String column = "click_count";
String value = "13";
HBaseUtils.getInstance().put(tableName, rowkey, cf, column, value);
}

}

请帮忙看下 thanks 在线等
...全文
725 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
RivenDong 2019-09-08
你看一下.put方法是不是put的char类型的数?
  • 打赏
  • 举报
回复
zgycsmb 2019-04-25
要用 这种方式
String value ="\0\0\0\0\0\0\0a";
代表97
  • 打赏
  • 举报
回复
zgycsmb 2019-04-24
已解决了,大家回复下,就可接分
  • 打赏
  • 举报
回复
xxbb339 2019-04-24
二进制显示??
  • 打赏
  • 举报
回复
相关推荐
发帖
Spark
加入

1190

社区成员

Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算。
社区管理员
  • Spark
  • shiter
申请成为版主
帖子事件
创建了帖子
2018-11-29 09:59
社区公告
暂无公告