本文整理了Java中org.apache.kylin.common.util.Dictionary.nullId()
方法的一些代码示例,展示了Dictionary.nullId()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Dictionary.nullId()
方法的具体详情如下:
包路径:org.apache.kylin.common.util.Dictionary
类名称:Dictionary
方法名:nullId
暂无
代码示例来源:origin: apache/kylin
/**
* Returns the ID integer of given value. In case of not found
* <p>
* - if roundingFlag=0, throw IllegalArgumentException; <br>
* - if roundingFlag<0, the closest smaller ID integer if exist; <br>
* - if roundingFlag>0, the closest bigger ID integer if exist. <br>
* <p>
* The implementation often has cache, thus faster than the byte[] version getIdFromValueBytes()
*
* @throws IllegalArgumentException
* if value is not found in dictionary and rounding is off;
* or if rounding cannot find a smaller or bigger ID
*/
final public int getIdFromValue(T value, int roundingFlag) throws IllegalArgumentException {
if (isNullObjectForm(value))
return nullId();
int id = getIdFromValueImpl(value, roundingFlag);
if (id == -1) {
throw new IllegalArgumentException("Value : " + value + " not exists");
}
return id;
}
代码示例来源:origin: apache/kylin
@Override
public List<ByteArray> reEncodeDictionary(List<ByteArray> value, MeasureDesc measureDesc, Map<TblColRef, Dictionary<String>> oldDicts, Map<TblColRef, Dictionary<String>> newDicts) {
TblColRef colRef = getRawColumn(measureDesc.getFunction());
Dictionary<String> sourceDict = oldDicts.get(colRef);
Dictionary<String> mergedDict = newDicts.get(colRef);
int valueSize = value.size();
byte[] newIdBuf = new byte[valueSize * mergedDict.getSizeOfId()];
int bufOffset = 0;
for (ByteArray c : value) {
int oldId = BytesUtil.readUnsigned(c.array(), c.offset(), c.length());
int newId;
String v = sourceDict.getValueFromId(oldId);
if (v == null) {
newId = mergedDict.nullId();
} else {
newId = mergedDict.getIdFromValue(v);
}
BytesUtil.writeUnsigned(newId, newIdBuf, bufOffset, mergedDict.getSizeOfId());
c.reset(newIdBuf, bufOffset, mergedDict.getSizeOfId());
bufOffset += mergedDict.getSizeOfId();
}
return value;
}
};
代码示例来源:origin: apache/kylin
BytesUtil.writeUnsigned(mergedDict.nullId(), newKeyBodyBuf, bufOffset, mergedDict.getSizeOfId());
bufOffset += mergedDict.getSizeOfId();
continue;
idInMergedDict = mergedDict.nullId();
} else {
idInMergedDict = mergedDict.getIdFromValue(v);
代码示例来源:origin: apache/kylin
@Ignore
@SuppressWarnings("unchecked")
@Test
public void testEmptyInput() throws IOException {
String[] ints = new String[] { "", "0", "5", "100", "13" };
// check "" is treated as NULL, not a code of dictionary
Dictionary<?> dict = DictionaryGenerator.buildDictionary(DataType.getType("integer"),
new IterableDictionaryValueEnumerator(ints));
assertEquals(4, dict.getSize());
final int id = ((NumberDictionary<String>) dict).getIdFromValue("");
assertEquals(id, dict.nullId());
}
代码示例来源:origin: org.apache.kylin/kylin-core-common
/**
* Returns the ID integer of given value. In case of not found
* <p>
* - if roundingFlag=0, throw IllegalArgumentException; <br>
* - if roundingFlag<0, the closest smaller ID integer if exist; <br>
* - if roundingFlag>0, the closest bigger ID integer if exist. <br>
* <p>
* The implementation often has cache, thus faster than the byte[] version getIdFromValueBytes()
*
* @throws IllegalArgumentException
* if value is not found in dictionary and rounding is off;
* or if rounding cannot find a smaller or bigger ID
*/
final public int getIdFromValue(T value, int roundingFlag) throws IllegalArgumentException {
if (isNullObjectForm(value))
return nullId();
int id = getIdFromValueImpl(value, roundingFlag);
if (id == -1) {
throw new IllegalArgumentException("Value : " + value + " not exists");
}
return id;
}
代码示例来源:origin: org.apache.kylin/kylin-common
/**
* A lower level API, return ID integer from raw value bytes. In case of not found
* <p>
* - if roundingFlag=0, throw IllegalArgumentException; <br>
* - if roundingFlag<0, the closest smaller ID integer if exist; <br>
* - if roundingFlag>0, the closest bigger ID integer if exist. <br>
* <p>
* Bypassing the cache layer, this could be significantly slower than getIdFromValue(T value).
*
* @throws IllegalArgumentException
* if value is not found in dictionary and rounding is off or failed
*/
final public int getIdFromValueBytes(byte[] value, int offset, int len, int roundingFlag) {
if (isNullByteForm(value, offset, len))
return nullId();
else
return getIdFromValueBytesImpl(value, offset, len, roundingFlag);
}
代码示例来源:origin: org.apache.kylin/kylin-common
/**
* Returns the ID integer of given value. In case of not found
* <p>
* - if roundingFlag=0, throw IllegalArgumentException; <br>
* - if roundingFlag<0, the closest smaller ID integer if exist; <br>
* - if roundingFlag>0, the closest bigger ID integer if exist. <br>
* <p>
* The implementation often has cache, thus faster than the byte[] version getIdFromValueBytes()
*
* @throws IllegalArgumentException
* if value is not found in dictionary and rounding is off or
* failed
*/
final public int getIdFromValue(T value, int roundingFlag) throws IllegalArgumentException {
if (isNullObjectForm(value))
return nullId();
else
return getIdFromValueImpl(value, roundingFlag);
}
代码示例来源:origin: org.apache.kylin/kylin-job
idInMergedDict = mergedDict.nullId();
} else {
idInMergedDict = mergedDict.getIdFromValueBytes(newKeyBuf, bufOffset, size);
代码示例来源:origin: org.apache.kylin/kylin-core-metadata
@Override
public List<ByteArray> reEncodeDictionary(List<ByteArray> value, MeasureDesc measureDesc, Map<TblColRef, Dictionary<String>> oldDicts, Map<TblColRef, Dictionary<String>> newDicts) {
TblColRef colRef = getRawColumn(measureDesc.getFunction());
Dictionary<String> sourceDict = oldDicts.get(colRef);
Dictionary<String> mergedDict = newDicts.get(colRef);
int valueSize = value.size();
byte[] newIdBuf = new byte[valueSize * mergedDict.getSizeOfId()];
int bufOffset = 0;
for (ByteArray c : value) {
int oldId = BytesUtil.readUnsigned(c.array(), c.offset(), c.length());
int newId;
String v = sourceDict.getValueFromId(oldId);
if (v == null) {
newId = mergedDict.nullId();
} else {
newId = mergedDict.getIdFromValue(v);
}
BytesUtil.writeUnsigned(newId, newIdBuf, bufOffset, mergedDict.getSizeOfId());
c.reset(newIdBuf, bufOffset, mergedDict.getSizeOfId());
bufOffset += mergedDict.getSizeOfId();
}
return value;
}
};
代码示例来源:origin: org.apache.kylin/kylin-engine-mr
BytesUtil.writeUnsigned(mergedDict.nullId(), newKeyBodyBuf, bufOffset, mergedDict.getSizeOfId());
bufOffset += mergedDict.getSizeOfId();
continue;
idInMergedDict = mergedDict.nullId();
} else {
idInMergedDict = mergedDict.getIdFromValue(v);
内容来源于网络,如有侵权,请联系作者删除!