本文整理了Java中org.apache.kylin.common.util.Bytes.compareTo()
方法的一些代码示例,展示了Bytes.compareTo()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Bytes.compareTo()
方法的具体详情如下:
包路径:org.apache.kylin.common.util.Bytes
类名称:Bytes
方法名:compareTo
[英]Lexicographically compare two arrays.
[中]按字典顺序比较两个数组。
代码示例来源:origin: apache/kylin
@Override
public int compareTo(ByteArray o) {
if (this.data == null && o.data == null)
return 0;
else if (this.data == null)
return -1;
else if (o.data == null)
return 1;
else
return Bytes.compareTo(this.data, this.offset, this.length, o.data, o.offset, o.length);
}
代码示例来源:origin: apache/kylin
@Override
public int compareTo(AppendDictSliceKey that) {
return Bytes.compareTo(key, that.key);
}
代码示例来源:origin: apache/kylin
@Override
public int compare(byte[] o1, byte[] o2) {
if (compareAll) {
return Bytes.compareTo(o1, o2);
}
int result = 0;
// profiler shows this check is slow
// Preconditions.checkArgument(keyLength == o1.length && keyLength == o2.length);
for (int i = 0; i < keyLength; ++i) {
if (compareMask[i]) {
int a = (o1[i] & 0xff);
int b = (o2[i] & 0xff);
result = a - b;
if (result == 0) {
continue;
} else {
return result;
}
}
}
return result;
}
};
代码示例来源:origin: apache/kylin
/**
* @param left left operand
* @param right right operand
* @return True if equal
*/
public static boolean equals(final byte[] left, final byte[] right) {
// Could use Arrays.equals?
//noinspection SimplifiableConditionalExpression
if (left == right)
return true;
if (left == null || right == null)
return false;
if (left.length != right.length)
return false;
if (left.length == 0)
return true;
// Since we're often comparing adjacent sorted data,
// it's usual to have equal arrays except for the very last byte
// so check that first
if (left[left.length - 1] != right[right.length - 1])
return false;
return compareTo(left, right) == 0;
}
代码示例来源:origin: apache/kylin
@Override
public int compare(byte[] o1, byte[] o2) {
return Bytes.compareTo(o1, o2);
}
});
代码示例来源:origin: apache/kylin
bPadded = b;
if (compareTo(aPadded, bPadded) >= 0) {
throw new IllegalArgumentException("b <= a");
代码示例来源:origin: apache/kylin
public static ByteBuffer getValueAsByteBuffer(Result hbaseRow, byte[] cf, byte[] cq) {
List<Cell> cells = hbaseRow.listCells();
if (cells == null || cells.size() == 0) {
return null;
} else {
for (Cell c : cells) {
if (Bytes.compareTo(cf, 0, cf.length, c.getFamilyArray(), c.getFamilyOffset(), c.getFamilyLength()) == 0 && //
Bytes.compareTo(cq, 0, cq.length, c.getQualifierArray(), c.getQualifierOffset(), c.getQualifierLength()) == 0) {
return ByteBuffer.wrap(c.getValueArray(), c.getValueOffset(), c.getValueLength());
}
}
}
return null;
}
代码示例来源:origin: apache/kylin
/**
* @return true if should bypass this record
*/
boolean shouldByPass(GTRecord record) {
if (dumps.size() > 0) {
return false; //rare case: limit tends to be small, when limit is applied it's not likely to have dumps
//TODO: what if bypass before dump happens?
}
Preconditions.checkState(aggBufMap.size() <= aggregateBufferSizeLimit);
if (aggBufMap.size() == aggregateBufferSizeLimit) {
Preconditions.checkNotNull(currentLastKey);
for (int i = 0; i < groupBy.trueBitCount(); i++) {
int c = groupBy.trueBitAt(i);
ByteArray col = record.get(c);
int compare = Bytes.compareTo(col.array(), col.offset(), col.length(), currentLastKey,
groupOffsetsInLastKey[i], col.length());
if (compare > 0) {
byPassCounter++;
return true;
} else if (compare < 0) {
return false;
}
}
}
return false;
}
代码示例来源:origin: apache/kylin
@Test
public void testBasic() throws Exception {
Configuration hconf = HadoopUtil.getCurrentConfiguration();
Context context = MockupMapContext.create(hconf, cubeName, outKV);
CubeHFileMapper mapper = new CubeHFileMapper();
mapper.doSetup(context);
Text key = new Text("not important");
Text value = new Text(new byte[] { 2, 2, 51, -79, 1 });
mapper.map(key, value, context);
KeyValue outValue = (KeyValue) outKV[1];
assertTrue(Bytes.compareTo(value.getBytes(), 0, value.getLength(), outValue.getValueArray(), outValue.getValueOffset(), outValue.getValueLength()) == 0);
}
代码示例来源:origin: org.apache.kylin/kylin-common
@Override
public int compareTo(ByteArray o) {
return Bytes.compareTo(this.data, o.data);
}
}
代码示例来源:origin: org.apache.kylin/kylin-core-common
@Override
public int compareTo(ByteArray o) {
if (this.data == null && o.data == null)
return 0;
else if (this.data == null)
return -1;
else if (o.data == null)
return 1;
else
return Bytes.compareTo(this.data, this.offset, this.length, o.data, o.offset, o.length);
}
代码示例来源:origin: org.apache.kylin/kylin-common
@Override
public int compare(byte[] left, byte[] right) {
return compareTo(left, right);
}
代码示例来源:origin: org.apache.kylin/kylin-core-dictionary
@Override
public int compareTo(AppendDictSliceKey that) {
return Bytes.compareTo(key, that.key);
}
代码示例来源:origin: org.apache.kylin/kylin-core-common
/**
* @param left left operand
* @param right right operand
* @return True if equal
*/
public static boolean equals(final byte[] left, final byte[] right) {
// Could use Arrays.equals?
//noinspection SimplifiableConditionalExpression
if (left == right)
return true;
if (left == null || right == null)
return false;
if (left.length != right.length)
return false;
if (left.length == 0)
return true;
// Since we're often comparing adjacent sorted data,
// it's usual to have equal arrays except for the very last byte
// so check that first
if (left[left.length - 1] != right[right.length - 1])
return false;
return compareTo(left, right) == 0;
}
代码示例来源:origin: org.apache.kylin/kylin-common
/**
* @param left left operand
* @param right right operand
* @return True if equal
*/
public static boolean equals(final byte[] left, final byte[] right) {
// Could use Arrays.equals?
//noinspection SimplifiableConditionalExpression
if (left == right)
return true;
if (left == null || right == null)
return false;
if (left.length != right.length)
return false;
if (left.length == 0)
return true;
// Since we're often comparing adjacent sorted data,
// it's usual to have equal arrays except for the very last byte
// so check that first
if (left[left.length - 1] != right[right.length - 1])
return false;
return compareTo(left, right) == 0;
}
代码示例来源:origin: org.apache.kylin/kylin-core-cube
@Override
public int compare(byte[] o1, byte[] o2) {
if (compareAll) {
return Bytes.compareTo(o1, o2);
}
int result = 0;
// profiler shows this check is slow
// Preconditions.checkArgument(keyLength == o1.length && keyLength == o2.length);
for (int i = 0; i < keyLength; ++i) {
if (compareMask[i]) {
int a = (o1[i] & 0xff);
int b = (o2[i] & 0xff);
result = a - b;
if (result == 0) {
continue;
} else {
return result;
}
}
}
return result;
}
};
代码示例来源:origin: org.apache.kylin/kylin-common
bPadded = b;
if (compareTo(aPadded, bPadded) >= 0) {
throw new IllegalArgumentException("b <= a");
代码示例来源:origin: org.apache.kylin/kylin-core-common
bPadded = b;
if (compareTo(aPadded, bPadded) >= 0) {
throw new IllegalArgumentException("b <= a");
代码示例来源:origin: org.apache.kylin/kylin-core-cube
/**
* @return true if should bypass this record
*/
boolean shouldByPass(GTRecord record) {
if (dumps.size() > 0) {
return false; //rare case: limit tends to be small, when limit is applied it's not likely to have dumps
//TODO: what if bypass before dump happens?
}
Preconditions.checkState(aggBufMap.size() <= aggregateBufferSizeLimit);
if (aggBufMap.size() == aggregateBufferSizeLimit) {
Preconditions.checkNotNull(currentLastKey);
for (int i = 0; i < groupBy.trueBitCount(); i++) {
int c = groupBy.trueBitAt(i);
ByteArray col = record.get(c);
int compare = Bytes.compareTo(col.array(), col.offset(), col.length(), currentLastKey,
groupOffsetsInLastKey[i], col.length());
if (compare > 0) {
byPassCounter++;
return true;
} else if (compare < 0) {
return false;
}
}
}
return false;
}
代码示例来源:origin: org.apache.kylin/kylin-storage-hbase
public static ByteBuffer getValueAsByteBuffer(Result hbaseRow, byte[] cf, byte[] cq) {
List<Cell> cells = hbaseRow.listCells();
if (cells == null || cells.size() == 0) {
return null;
} else {
for (Cell c : cells) {
if (Bytes.compareTo(cf, 0, cf.length, c.getFamilyArray(), c.getFamilyOffset(), c.getFamilyLength()) == 0 && //
Bytes.compareTo(cq, 0, cq.length, c.getQualifierArray(), c.getQualifierOffset(), c.getQualifierLength()) == 0) {
return ByteBuffer.wrap(c.getValueArray(), c.getValueOffset(), c.getValueLength());
}
}
}
return null;
}
内容来源于网络,如有侵权,请联系作者删除!