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 在线等
...全文
845 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
二进制显示??

1,271

社区成员

发帖
与我相关
我的任务
社区描述
Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算。
社区管理员
  • Spark
  • shiter
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧