HBase addColumn addColumns 两个函数的deprecated解决方法
来源:互联网 发布:win8.1电脑优化 编辑:程序博客网 时间:2024/06/05 18:51
HBase addColumn addColumns 两个函数的deprecated解决方法
用HBase0.90.4版本,又用ITHBase,ITHBase称自己支持 HBase0.90版本的,但是有一些error和warning,error的解决方法在前一篇文章二级索引安装配置里说过了。而很多的warning都跟addColumn(), addColumns()这两个函数有关,大体意思就是你最好别用addColumns(byte[][])和addColumn(byte)了,要用addColumn(byte[],byte[])代替.
如何处理,举例如下
1.addColumn(byte[]):
byte[] column = ...
之前:
indexScan.addColumn(column);
修改为:
byte [][] fq = KeyValue.parseColumn(column);
if (fq.length > 1 && fq[1] != null && fq[1].length > 0) {
indexScan.addColumn(fq[0], fq[1]);
} else {
indexScan.addFamily(fq[0]);
}
2.addColumns(byte[][]):
Scan indexScan = new Scan();
allIndexColumns = new byte[indexColumns.length + 1][];
//todo: change the following one line to several lines after it......
之前:
indexScan.addColumns(allIndexColumns);
改为:
for (byte[] column : allIndexColumns) {
byte [][] fq = KeyValue.parseColumn(column);
if (fq.length > 1 && fq[1] != null && fq[1].length > 0) {
indexScan.addColumn(fq[0], fq[1]);
} else {
indexScan.addFamily(fq[0]);
}
}
主要在几个函数里,其中两个函数为:
public Result[] next(final int nbRows) throws IOException {
public ResultScanner getIndexedScanner(final String indexId, final byte[] indexStartRow, final byte[] indexStopRow,
final byte[][] indexColumns, final Filter indexFilter, final byte[][] baseColumns)
用HBase0.90.4版本,又用ITHBase,ITHBase称自己支持 HBase0.90版本的,但是有一些error和warning,error的解决方法在前一篇文章二级索引安装配置里说过了。而很多的warning都跟addColumn(), addColumns()这两个函数有关,大体意思就是你最好别用addColumns(byte[][])和addColumn(byte)了,要用addColumn(byte[],byte[])代替.
如何处理,举例如下
1.addColumn(byte[]):
byte[] column = ...
之前:
indexScan.addColumn(column);
修改为:
byte [][] fq = KeyValue.parseColumn(column);
if (fq.length > 1 && fq[1] != null && fq[1].length > 0) {
indexScan.addColumn(fq[0], fq[1]);
} else {
indexScan.addFamily(fq[0]);
}
2.addColumns(byte[][]):
Scan indexScan = new Scan();
allIndexColumns = new byte[indexColumns.length + 1][];
//todo: change the following one line to several lines after it......
之前:
indexScan.addColumns(allIndexColumns);
改为:
for (byte[] column : allIndexColumns) {
byte [][] fq = KeyValue.parseColumn(column);
if (fq.length > 1 && fq[1] != null && fq[1].length > 0) {
indexScan.addColumn(fq[0], fq[1]);
} else {
indexScan.addFamily(fq[0]);
}
}
主要在几个函数里,其中两个函数为:
public Result[] next(final int nbRows) throws IOException {
public ResultScanner getIndexedScanner(final String indexId, final byte[] indexStartRow, final byte[] indexStopRow,
final byte[][] indexColumns, final Filter indexFilter, final byte[][] baseColumns)
- HBase addColumn addColumns 两个函数的deprecated解决方法
- Deprecated: Function ereg_replace() is deprecated的解决方法
- $HADOOP_HOME is deprecated的解决方法
- Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
- PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
- warning: deprecated conversion from string constant to ‘char的解决方法
- Warning: $HADOOP_HOME is deprecated.的原因以及解决方法。
- hadoop1.2.1报Warning: $HADOOP_HOME is deprecated. 的解决方法
- Warning: $HADOOP_HOME is deprecated.的原因以及解决方法
- [Warning] deprecated conversion from string constant的解决方法
- php5.3 中显示Deprecated: Assigning the return value of new by reference is deprecated in 的解决方法
- first deprecated in ios6解决方法
- Function eregi is deprecated (解决方法)
- Warning: $HADOOP_HOME is deprecated解决方法
- unction eregi is deprecated (解决方法)
- Function eregi is deprecated (解决方法)
- void addColumn(TableColumn aColumn)
- HBase连接池 HTablePool被Deprecated之后
- 贝尔笔试题及答案
- Java学习笔记之Hashtable
- source insight中显示完整路径
- hdu 1024 Max Sum Plus Plus
- ubuntu 网络配置
- HBase addColumn addColumns 两个函数的deprecated解决方法
- 硬件工程师面试试题及答案
- TreeView使用笔记
- PHP的中间件
- JBPM通过AssignmentHandler绑定自定义用户模型实现用户授权(1)
- 身份证验证
- VS2008自动生成属性代码
- linux下修改root密码以及找回密码的方法
- 将JAVA程序编译成本地代码的几种方法