titan如何存储顶点id(将顶点id转换为HBase键列)?

titan如何存储顶点id(将顶点id转换为HBase键列)?,hbase,titan,Hbase,Titan,我正在将titan0.5.0版与HBase一起使用。 我有一个区域由于有很多边的顶点而没有分割,我想知道这个顶点的id是什么。 如何将HBase键列转换为titan顶点id 我的HBase键列是\x00\x8C\x1D\xB3\xBDZ用于将HBase键列转换为Titan顶点id的函数是IDManager类下的getKey(在Titan core中) 这是取出后的代码它仅适用于法线顶点 String hexKey = "008C1DB3BD5A3C10"; byte[] byteArr = Ba

我正在将
titan
0.5.0版与
HBase
一起使用。 我有一个区域由于有很多边的顶点而没有分割,我想知道这个顶点的id是什么。 如何将HBase键列转换为titan顶点id


我的HBase键列是
\x00\x8C\x1D\xB3\xBDZ用于将
HBase
键列转换为
Titan
顶点id的函数是
IDManager
类下的
getKey
(在Titan core中)

这是取出后的代码它仅适用于法线顶点

String hexKey = "008C1DB3BD5A3C10";
byte[] byteArr = BaseEncoding.base16().decode(hexKey);
StaticArrayBuffer buff = new StaticArrayBuffer(byteArr,0,hexKey.length());

// The code from titan with some simplifications
long partitionBits = 6;
long normalVertexOffset = 3l;
long TOTAL_BITS = Long.SIZE - 1;

long value = b.getLong(0);
long partitionOffset = Long.Size - partitionBits;
IDManager.VertexIDType type = IDManager.VertexIDType.NormalVertex;
long partition = partitionOffset < Long.SIZE ? value >>> partitionOffset : 0;
long USERVERTEX_PADDING_BITWIDTH = normalVertexOffset;
long count = ( value >>> USERVERTEX_PADDING_BITWIDTH & ((1l <<(partitionOffset - USERVERTEX_PADDING_BITWIDTH )) -1 );

long partitionIDBound = (1l << (partitionBits));
long id = (count << partitionBits) + partition;
if(type != null) id = type.addPadding(id);
System.out.println("Key is " + id);
String hexKey=“008C1DB3BD5A3C10”;
字节[]byteArr=BaseEncoding.base16().decode(hexKey);
StaticArrayBuffer buff=新的StaticArrayBuffer(byteArr,0,hexKey.length());
//titan中的代码进行了一些简化
长分区位=6;
长法线顶点偏移=3l;
long TOTAL_BITS=long.SIZE-1;
长值=b.getLong(0);
long partitionOffset=long.Size-partitionBits;
IDManager.VertexIDType类型=IDManager.VertexIDType.NormalVertex;
长分区=分区偏移量>>分区偏移量:0;
长用户顶点\填充\位宽=法线顶点偏移;
长计数=(值>>>USERVERTEX\u PADDING\u BITWIDTH&((1l)