Files
impala/common/thrift/LineageGraph.thrift
Bharath Vissapragada 084b9b1692 IMPALA-2432: Add query endtime to impalad's lineage
This commit adds query endtime to impalad's lineage log entries consumed
by navigator. The lineage graph is constructed in the frontend and is then
passed to the backend as a serialized thrift object. When the query terminates
(includes cancellations and aborts), the backend appends the query endtime
("endTime") to the lineage graph and generates the lineage log entry in
JSON format.

Change-Id: I2236e98895ae9a159ad6e78b0e18e3622fdc3306
Reviewed-on: http://gerrit.cloudera.org:8080/934
Reviewed-by: Bharath Vissapragada <bharathv@cloudera.com>
Tested-by: Internal Jenkins
2015-11-04 08:39:12 +00:00

63 lines
1.4 KiB
Thrift

// Copyright 2015 Cloudera Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
namespace cpp impala
namespace java com.cloudera.impala.thrift
struct TVertex {
// Vertex id
1: required i64 id
// Column label
2: required string label
}
enum TEdgeType {
PROJECTION,
PREDICATE
}
struct TMultiEdge {
// Set of source vertices
1: list<TVertex> sources
// Set of target vertices
2: list<TVertex> targets
// Connecting edge type
3: TEdgeType edgetype
}
struct TLineageGraph {
// Input SQL query
1: required string query_text
// md5 hash of the query string
2: required string hash
// Name of the user who issued this query
3: required string user
// Query start time as a unix epoch, set in planner
4: required i64 started
// Query end time as unix epoch.
// Marked as optional as it is set in the backend
5: optional i64 ended
6: list<TMultiEdge> edges
7: list<TVertex> vertices
}