cupid/proto/cupid_task_service.proto (156 lines of code) (raw):

syntax = "proto2"; package apsara.odps.cupid.protocol; option cc_generic_services = true; option py_generic_services = true; option java_generic_services = true; option java_outer_classname = "CupidTaskServiceProto"; import "cupidtaskparam.proto"; service CupidTaskService { // Split input tables into partitions for parallel read rpc SplitTables(SplitTablesRequest) returns (SplitTablesResponse); // Prepare enviroment for write table, like direcotry creation and cap file preparation // More like a openFile operation in FileSystem rpc WriteTable(WriteTableRequest) returns (WriteTableResponse); // Commit Table and do DDL rpc CommitTable(CommitTableRequest) returns (CommitTableResponse); // Close and clean up rpc CloseOutputHandle(CloseOutputHandleRequest) returns (CloseOutputHandleResponse); // CLusterKV meta Ops rpc PutOrCreateClusterKv(PutOrCreateClusterKvRequest) returns (PutOrCreateClusterKvResponse); rpc DeleteClusterKv(DeleteClusterKvRequest) returns (DeleteClusterKvResponse); rpc GetClusterKv(GetClusterKvRequest) returns (GetClusterKvResponse); rpc ListByPrefixClusterKv(ListByPrefixClusterKvRequest) returns (ListByPrefixClusterKvResponse); // Get Table Meta rpc GetTableMeta(GetTableMetaRequest) returns (GetTableMetaResponse); // Get proxy infos rpc GetCupidProxyToken(CupidProxyTokenRequest) returns (CupidProxyTokenResponse); rpc GetCupidProxyAppNames(CupidProxyAppNamesRequest) returns (CupidProxyAppNamesResponse); } message TableInputInfo { // InputDef represent a InputSplit query unit // PartitionTable: (project, table, partitionSpec) // NonPartitionTable: (project, table) optional string projectName = 1; optional string tableName = 2; optional string columns = 3; optional string partSpec = 4; optional int32 bucketId = 5; } message SplitTablesRequest { optional string lookupName = 1; optional int32 splitSize = 2; optional int32 splitCount = 3; repeated TableInputInfo tableInputInfos = 4; optional string type = 5; optional bool allowNoColumns = 6; optional bool requireSplitMeta = 7; } message SplitTablesResponse { optional string inputTableHandle = 1; } message WriteTableRequest { // need to provide a running instanceId and the target project/table to WRITE optional string lookupName = 1; optional string projectName = 2; optional string tableName = 3; optional string type = 4; } message WriteTableResponse { optional string outputTableHandle = 1; } message CommitTableRequest { optional string lookupName = 1; optional string outputTableHandle = 2; optional string projectName = 3; optional string tableName = 4; optional bool isOverWrite = 5; repeated string partSpecs = 6; repeated CommitFileList commitFileLists = 7; } message CommitTableResponse { } message TableInfo { optional string projectName = 1; optional string tableName = 2; } message GetTableMetaRequest { optional string lookupName = 1; optional TableInfo tableInfo = 2; optional bool needContent = 3; optional string uploadFile = 4; } message GetTableMetaResponse { optional string getTableMetaHandle = 1; optional string getTableMetaContent = 2; } message CloseOutputHandleRequest { optional string lookupName = 1; optional string outputTableHandle = 2; } message CloseOutputHandleResponse { } message ClusterKv { optional string key = 1; optional string value = 2; } message PutOrCreateClusterKvRequest { optional string projectName = 1; optional string key = 2; optional string value = 3; } message PutOrCreateClusterKvResponse { } message DeleteClusterKvRequest { optional string projectName = 1; optional string key = 2; } message DeleteClusterKvResponse { } message GetClusterKvRequest { optional string projectName = 1; optional string key = 2; } message GetClusterKvResponse { optional string value = 1; } message ListByPrefixClusterKvRequest { optional string projectName = 1; optional string prefix = 2; } message ListByPrefixClusterKvResponse { repeated ClusterKv clusterKv = 1; } message CupidProxyTokenResponse { optional string token = 1; } message CupidProxyAppNamesRequest { optional string instanceId = 1; } message CupidProxyAppNamesResponse { repeated string names = 1; }