需要监控hive每个小步骤的执行耗时,通过hive thrift协议与hiveserver2交互,thirft 返回的是guid,需要与hiveserver2监控页面的operationId进行映射,通过查看hive源码,找到其他映射逻辑如下。
public HandleIdentifier(THandleIdentifier tHandleId) {
ByteBuffer bb = ByteBuffer.wrap(tHandleId.getGuid());
this.publicId = new UUID(bb.getLong(), bb.getLong());
bb = ByteBuffer.wrap(tHandleId.getSecret());
this.secretId = new UUID(bb.getLong(), bb.getLong());
}
@Override
public String toString() {
return publicId.toString();
}