impala 0.1.6 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +0 -2
- data/impala.gemspec +1 -2
- data/lib/impala.rb +1 -1
- data/lib/impala/cursor.rb +10 -4
- data/lib/impala/protocol/beeswax_constants.rb +2 -1
- data/lib/impala/protocol/beeswax_service.rb +46 -46
- data/lib/impala/protocol/beeswax_types.rb +31 -30
- data/lib/impala/protocol/cli_service_constants.rb +60 -0
- data/lib/impala/protocol/cli_service_types.rb +1452 -0
- data/lib/impala/protocol/facebook_service.rb +17 -17
- data/lib/impala/protocol/fb303_constants.rb +2 -1
- data/lib/impala/protocol/fb303_types.rb +3 -2
- data/lib/impala/protocol/hive_metastore_constants.rb +2 -1
- data/lib/impala/protocol/hive_metastore_types.rb +102 -101
- data/lib/impala/protocol/impala_hive_server2_service.rb +29 -0
- data/lib/impala/protocol/impala_service.rb +135 -18
- data/lib/impala/protocol/impala_service_constants.rb +2 -1
- data/lib/impala/protocol/impala_service_types.rb +54 -10
- data/lib/impala/protocol/status_constants.rb +2 -1
- data/lib/impala/protocol/status_types.rb +9 -7
- data/lib/impala/protocol/t_c_l_i_service.rb +948 -0
- data/lib/impala/protocol/thrift_hive_metastore.rb +507 -507
- data/lib/impala/version.rb +1 -1
- data/test/test_impala_connected.rb +93 -13
- data/thrift/ImpalaService.thrift +78 -6
- data/thrift/Status.thrift +2 -1
- data/thrift/beeswax.thrift +1 -1
- data/thrift/cli_service.thrift +1015 -0
- metadata +9 -75
- data/lib/impala/protocol/data_constants.rb +0 -12
- data/lib/impala/protocol/data_sinks_constants.rb +0 -12
- data/lib/impala/protocol/data_sinks_types.rb +0 -107
- data/lib/impala/protocol/data_types.rb +0 -77
- data/lib/impala/protocol/descriptors_constants.rb +0 -12
- data/lib/impala/protocol/descriptors_types.rb +0 -266
- data/lib/impala/protocol/exprs_constants.rb +0 -12
- data/lib/impala/protocol/exprs_types.rb +0 -345
- data/lib/impala/protocol/frontend_constants.rb +0 -12
- data/lib/impala/protocol/frontend_types.rb +0 -347
- data/lib/impala/protocol/impala_internal_service.rb +0 -244
- data/lib/impala/protocol/impala_internal_service_constants.rb +0 -12
- data/lib/impala/protocol/impala_internal_service_types.rb +0 -362
- data/lib/impala/protocol/impala_plan_service.rb +0 -310
- data/lib/impala/protocol/impala_plan_service_constants.rb +0 -12
- data/lib/impala/protocol/impala_plan_service_types.rb +0 -36
- data/lib/impala/protocol/java_constants_constants.rb +0 -42
- data/lib/impala/protocol/java_constants_types.rb +0 -14
- data/lib/impala/protocol/opcodes_constants.rb +0 -12
- data/lib/impala/protocol/opcodes_types.rb +0 -309
- data/lib/impala/protocol/partitions_constants.rb +0 -12
- data/lib/impala/protocol/partitions_types.rb +0 -44
- data/lib/impala/protocol/plan_nodes_constants.rb +0 -12
- data/lib/impala/protocol/plan_nodes_types.rb +0 -345
- data/lib/impala/protocol/planner_constants.rb +0 -12
- data/lib/impala/protocol/planner_types.rb +0 -78
- data/lib/impala/protocol/runtime_profile_constants.rb +0 -12
- data/lib/impala/protocol/runtime_profile_types.rb +0 -97
- data/lib/impala/protocol/state_store_service.rb +0 -244
- data/lib/impala/protocol/state_store_service_constants.rb +0 -12
- data/lib/impala/protocol/state_store_service_types.rb +0 -185
- data/lib/impala/protocol/state_store_subscriber_service.rb +0 -82
- data/lib/impala/protocol/state_store_subscriber_service_constants.rb +0 -12
- data/lib/impala/protocol/state_store_subscriber_service_types.rb +0 -67
- data/lib/impala/protocol/statestore_types_constants.rb +0 -12
- data/lib/impala/protocol/statestore_types_types.rb +0 -77
- data/lib/impala/protocol/types_constants.rb +0 -12
- data/lib/impala/protocol/types_types.rb +0 -86
- data/thrift/Data.thrift +0 -52
- data/thrift/DataSinks.thrift +0 -61
- data/thrift/Descriptors.thrift +0 -115
- data/thrift/Exprs.thrift +0 -134
- data/thrift/Frontend.thrift +0 -193
- data/thrift/ImpalaInternalService.thrift +0 -265
- data/thrift/ImpalaPlanService.thrift +0 -44
- data/thrift/JavaConstants.thrift +0 -60
- data/thrift/Opcodes.thrift +0 -317
- data/thrift/Partitions.thrift +0 -41
- data/thrift/PlanNodes.thrift +0 -184
- data/thrift/Planner.thrift +0 -72
- data/thrift/RuntimeProfile.thrift +0 -58
- data/thrift/StateStoreService.thrift +0 -121
- data/thrift/StateStoreSubscriberService.thrift +0 -64
- data/thrift/StatestoreTypes.thrift +0 -50
- data/thrift/Types.thrift +0 -71
@@ -1,82 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Autogenerated by Thrift Compiler (0.8.0)
|
3
|
-
#
|
4
|
-
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
5
|
-
#
|
6
|
-
|
7
|
-
require 'thrift'
|
8
|
-
require 'state_store_subscriber_service_types'
|
9
|
-
|
10
|
-
module Impala
|
11
|
-
module Protocol
|
12
|
-
module StateStoreSubscriberService
|
13
|
-
class Client
|
14
|
-
include ::Thrift::Client
|
15
|
-
|
16
|
-
def UpdateState(request)
|
17
|
-
send_UpdateState(request)
|
18
|
-
return recv_UpdateState()
|
19
|
-
end
|
20
|
-
|
21
|
-
def send_UpdateState(request)
|
22
|
-
send_message('UpdateState', UpdateState_args, :request => request)
|
23
|
-
end
|
24
|
-
|
25
|
-
def recv_UpdateState()
|
26
|
-
result = receive_message(UpdateState_result)
|
27
|
-
return result.success unless result.success.nil?
|
28
|
-
raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'UpdateState failed: unknown result')
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
|
33
|
-
class Processor
|
34
|
-
include ::Thrift::Processor
|
35
|
-
|
36
|
-
def process_UpdateState(seqid, iprot, oprot)
|
37
|
-
args = read_args(iprot, UpdateState_args)
|
38
|
-
result = UpdateState_result.new()
|
39
|
-
result.success = @handler.UpdateState(args.request)
|
40
|
-
write_result(result, oprot, 'UpdateState', seqid)
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
# HELPER FUNCTIONS AND STRUCTURES
|
46
|
-
|
47
|
-
class UpdateState_args
|
48
|
-
include ::Thrift::Struct, ::Thrift::Struct_Union
|
49
|
-
REQUEST = 1
|
50
|
-
|
51
|
-
FIELDS = {
|
52
|
-
REQUEST => { :type => ::Thrift::Types::STRUCT, :name => 'request', :class => Impala::Protocol::TUpdateStateRequest }
|
53
|
-
}
|
54
|
-
|
55
|
-
def struct_fields; FIELDS; end
|
56
|
-
|
57
|
-
def validate
|
58
|
-
end
|
59
|
-
|
60
|
-
::Thrift::Struct.generate_accessors self
|
61
|
-
end
|
62
|
-
|
63
|
-
class UpdateState_result
|
64
|
-
include ::Thrift::Struct, ::Thrift::Struct_Union
|
65
|
-
SUCCESS = 0
|
66
|
-
|
67
|
-
FIELDS = {
|
68
|
-
SUCCESS => { :type => ::Thrift::Types::STRUCT, :name => 'success', :class => Impala::Protocol::TUpdateStateResponse }
|
69
|
-
}
|
70
|
-
|
71
|
-
def struct_fields; FIELDS; end
|
72
|
-
|
73
|
-
def validate
|
74
|
-
end
|
75
|
-
|
76
|
-
::Thrift::Struct.generate_accessors self
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|
80
|
-
|
81
|
-
end
|
82
|
-
end
|
@@ -1,67 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Autogenerated by Thrift Compiler (0.8.0)
|
3
|
-
#
|
4
|
-
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
5
|
-
#
|
6
|
-
|
7
|
-
require 'statestore_types_types'
|
8
|
-
require 'status_types'
|
9
|
-
require 'types_types'
|
10
|
-
|
11
|
-
|
12
|
-
module Impala
|
13
|
-
module Protocol
|
14
|
-
module StateStoreSubscriberServiceVersion
|
15
|
-
V1 = 0
|
16
|
-
VALUE_MAP = { 0 => "V1" }
|
17
|
-
VALID_VALUES = Set.new([V1]).freeze
|
18
|
-
end
|
19
|
-
|
20
|
-
class TUpdateStateRequest
|
21
|
-
include ::Thrift::Struct, ::Thrift::Struct_Union
|
22
|
-
PROTOCOLVERSION = 1
|
23
|
-
SERVICE_MEMBERSHIPS = 2
|
24
|
-
UPDATED_OBJECTS = 3
|
25
|
-
DELETED_OBJECT_KEYS = 4
|
26
|
-
|
27
|
-
FIELDS = {
|
28
|
-
PROTOCOLVERSION => { :type => ::Thrift::Types::I32, :name => 'protocolVersion', :default => 0, :enum_class => Impala::Protocol::StateStoreSubscriberServiceVersion },
|
29
|
-
SERVICE_MEMBERSHIPS => { :type => ::Thrift::Types::LIST, :name => 'service_memberships', :element => { :type => ::Thrift::Types::STRUCT, :class => Impala::Protocol::TServiceMembership }, :optional => true },
|
30
|
-
UPDATED_OBJECTS => { :type => ::Thrift::Types::LIST, :name => 'updated_objects', :element => { :type => ::Thrift::Types::STRUCT, :class => Impala::Protocol::TVersionedObject }, :optional => true },
|
31
|
-
DELETED_OBJECT_KEYS => { :type => ::Thrift::Types::LIST, :name => 'deleted_object_keys', :element => { :type => ::Thrift::Types::STRING }, :optional => true }
|
32
|
-
}
|
33
|
-
|
34
|
-
def struct_fields; FIELDS; end
|
35
|
-
|
36
|
-
def validate
|
37
|
-
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field protocolVersion is unset!') unless @protocolVersion
|
38
|
-
unless @protocolVersion.nil? || Impala::Protocol::StateStoreSubscriberServiceVersion::VALID_VALUES.include?(@protocolVersion)
|
39
|
-
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field protocolVersion!')
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
::Thrift::Struct.generate_accessors self
|
44
|
-
end
|
45
|
-
|
46
|
-
class TUpdateStateResponse
|
47
|
-
include ::Thrift::Struct, ::Thrift::Struct_Union
|
48
|
-
STATUS = 1
|
49
|
-
UPDATED_OBJECTS = 2
|
50
|
-
DELETED_OBJECT_KEYS = 3
|
51
|
-
|
52
|
-
FIELDS = {
|
53
|
-
STATUS => { :type => ::Thrift::Types::STRUCT, :name => 'status', :class => Impala::Protocol::TStatus, :optional => true },
|
54
|
-
UPDATED_OBJECTS => { :type => ::Thrift::Types::LIST, :name => 'updated_objects', :element => { :type => ::Thrift::Types::STRUCT, :class => Impala::Protocol::TVersionedObject }, :optional => true },
|
55
|
-
DELETED_OBJECT_KEYS => { :type => ::Thrift::Types::LIST, :name => 'deleted_object_keys', :element => { :type => ::Thrift::Types::STRING }, :optional => true }
|
56
|
-
}
|
57
|
-
|
58
|
-
def struct_fields; FIELDS; end
|
59
|
-
|
60
|
-
def validate
|
61
|
-
end
|
62
|
-
|
63
|
-
::Thrift::Struct.generate_accessors self
|
64
|
-
end
|
65
|
-
|
66
|
-
end
|
67
|
-
end
|
@@ -1,77 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Autogenerated by Thrift Compiler (0.8.0)
|
3
|
-
#
|
4
|
-
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
5
|
-
#
|
6
|
-
|
7
|
-
require 'types_types'
|
8
|
-
|
9
|
-
|
10
|
-
module Impala
|
11
|
-
module Protocol
|
12
|
-
class TVersionedObject
|
13
|
-
include ::Thrift::Struct, ::Thrift::Struct_Union
|
14
|
-
SERVICE_ID = 1
|
15
|
-
KEY = 2
|
16
|
-
TYPE = 3
|
17
|
-
VERSION = 4
|
18
|
-
VALUE = 5
|
19
|
-
|
20
|
-
FIELDS = {
|
21
|
-
SERVICE_ID => { :type => ::Thrift::Types::STRING, :name => 'service_id' },
|
22
|
-
KEY => { :type => ::Thrift::Types::STRING, :name => 'key' },
|
23
|
-
TYPE => { :type => ::Thrift::Types::STRING, :name => 'type' },
|
24
|
-
VERSION => { :type => ::Thrift::Types::I64, :name => 'version' },
|
25
|
-
VALUE => { :type => ::Thrift::Types::STRING, :name => 'value', :binary => true }
|
26
|
-
}
|
27
|
-
|
28
|
-
def struct_fields; FIELDS; end
|
29
|
-
|
30
|
-
def validate
|
31
|
-
end
|
32
|
-
|
33
|
-
::Thrift::Struct.generate_accessors self
|
34
|
-
end
|
35
|
-
|
36
|
-
class TServiceInstance
|
37
|
-
include ::Thrift::Struct, ::Thrift::Struct_Union
|
38
|
-
SUBSCRIBER_ID = 1
|
39
|
-
HOST_PORT = 2
|
40
|
-
|
41
|
-
FIELDS = {
|
42
|
-
SUBSCRIBER_ID => { :type => ::Thrift::Types::I32, :name => 'subscriber_id' },
|
43
|
-
HOST_PORT => { :type => ::Thrift::Types::STRUCT, :name => 'host_port', :class => Impala::Protocol::THostPort }
|
44
|
-
}
|
45
|
-
|
46
|
-
def struct_fields; FIELDS; end
|
47
|
-
|
48
|
-
def validate
|
49
|
-
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field subscriber_id is unset!') unless @subscriber_id
|
50
|
-
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field host_port is unset!') unless @host_port
|
51
|
-
end
|
52
|
-
|
53
|
-
::Thrift::Struct.generate_accessors self
|
54
|
-
end
|
55
|
-
|
56
|
-
class TServiceMembership
|
57
|
-
include ::Thrift::Struct, ::Thrift::Struct_Union
|
58
|
-
SERVICE_ID = 1
|
59
|
-
SERVICE_INSTANCES = 2
|
60
|
-
|
61
|
-
FIELDS = {
|
62
|
-
SERVICE_ID => { :type => ::Thrift::Types::STRING, :name => 'service_id' },
|
63
|
-
SERVICE_INSTANCES => { :type => ::Thrift::Types::LIST, :name => 'service_instances', :element => { :type => ::Thrift::Types::STRUCT, :class => Impala::Protocol::TServiceInstance } }
|
64
|
-
}
|
65
|
-
|
66
|
-
def struct_fields; FIELDS; end
|
67
|
-
|
68
|
-
def validate
|
69
|
-
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field service_id is unset!') unless @service_id
|
70
|
-
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field service_instances is unset!') unless @service_instances
|
71
|
-
end
|
72
|
-
|
73
|
-
::Thrift::Struct.generate_accessors self
|
74
|
-
end
|
75
|
-
|
76
|
-
end
|
77
|
-
end
|
@@ -1,86 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Autogenerated by Thrift Compiler (0.8.0)
|
3
|
-
#
|
4
|
-
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
5
|
-
#
|
6
|
-
|
7
|
-
|
8
|
-
module Impala
|
9
|
-
module Protocol
|
10
|
-
module TPrimitiveType
|
11
|
-
INVALID_TYPE = 0
|
12
|
-
BOOLEAN = 1
|
13
|
-
TINYINT = 2
|
14
|
-
SMALLINT = 3
|
15
|
-
INT = 4
|
16
|
-
BIGINT = 5
|
17
|
-
FLOAT = 6
|
18
|
-
DOUBLE = 7
|
19
|
-
DATE = 8
|
20
|
-
DATETIME = 9
|
21
|
-
TIMESTAMP = 10
|
22
|
-
STRING = 11
|
23
|
-
VALUE_MAP = { 0 => "INVALID_TYPE", 1 => "BOOLEAN", 2 => "TINYINT", 3 => "SMALLINT", 4 => "INT", 5 => "BIGINT", 6 => "FLOAT", 7 => "DOUBLE", 8 => "DATE", 9 => "DATETIME", 10 => "TIMESTAMP", 11 => "STRING" }
|
24
|
-
VALID_VALUES = Set.new([INVALID_TYPE, BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, FLOAT, DOUBLE, DATE, DATETIME, TIMESTAMP, STRING]).freeze
|
25
|
-
end
|
26
|
-
|
27
|
-
module TStmtType
|
28
|
-
QUERY = 0
|
29
|
-
DDL = 1
|
30
|
-
DML = 2
|
31
|
-
VALUE_MAP = { 0 => "QUERY", 1 => "DDL", 2 => "DML" }
|
32
|
-
VALID_VALUES = Set.new([QUERY, DDL, DML]).freeze
|
33
|
-
end
|
34
|
-
|
35
|
-
module TExplainLevel
|
36
|
-
NORMAL = 0
|
37
|
-
VERBOSE = 1
|
38
|
-
VALUE_MAP = { 0 => "NORMAL", 1 => "VERBOSE" }
|
39
|
-
VALID_VALUES = Set.new([NORMAL, VERBOSE]).freeze
|
40
|
-
end
|
41
|
-
|
42
|
-
class THostPort
|
43
|
-
include ::Thrift::Struct, ::Thrift::Struct_Union
|
44
|
-
HOSTNAME = 1
|
45
|
-
IPADDRESS = 2
|
46
|
-
PORT = 3
|
47
|
-
|
48
|
-
FIELDS = {
|
49
|
-
HOSTNAME => { :type => ::Thrift::Types::STRING, :name => 'hostname' },
|
50
|
-
IPADDRESS => { :type => ::Thrift::Types::STRING, :name => 'ipaddress' },
|
51
|
-
PORT => { :type => ::Thrift::Types::I32, :name => 'port' }
|
52
|
-
}
|
53
|
-
|
54
|
-
def struct_fields; FIELDS; end
|
55
|
-
|
56
|
-
def validate
|
57
|
-
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field hostname is unset!') unless @hostname
|
58
|
-
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field ipaddress is unset!') unless @ipaddress
|
59
|
-
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field port is unset!') unless @port
|
60
|
-
end
|
61
|
-
|
62
|
-
::Thrift::Struct.generate_accessors self
|
63
|
-
end
|
64
|
-
|
65
|
-
class TUniqueId
|
66
|
-
include ::Thrift::Struct, ::Thrift::Struct_Union
|
67
|
-
HI = 1
|
68
|
-
LO = 2
|
69
|
-
|
70
|
-
FIELDS = {
|
71
|
-
HI => { :type => ::Thrift::Types::I64, :name => 'hi' },
|
72
|
-
LO => { :type => ::Thrift::Types::I64, :name => 'lo' }
|
73
|
-
}
|
74
|
-
|
75
|
-
def struct_fields; FIELDS; end
|
76
|
-
|
77
|
-
def validate
|
78
|
-
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field hi is unset!') unless @hi
|
79
|
-
raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field lo is unset!') unless @lo
|
80
|
-
end
|
81
|
-
|
82
|
-
::Thrift::Struct.generate_accessors self
|
83
|
-
end
|
84
|
-
|
85
|
-
end
|
86
|
-
end
|
data/thrift/Data.thrift
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
// Copyright 2012 Cloudera Inc.
|
2
|
-
//
|
3
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
// you may not use this file except in compliance with the License.
|
5
|
-
// You may obtain a copy of the License at
|
6
|
-
//
|
7
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
//
|
9
|
-
// Unless required by applicable law or agreed to in writing, software
|
10
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
// See the License for the specific language governing permissions and
|
13
|
-
// limitations under the License.
|
14
|
-
|
15
|
-
namespace cpp impala
|
16
|
-
namespace java com.cloudera.impala.thrift
|
17
|
-
namespace rb Impala.Protocol
|
18
|
-
namespace rb Impala.Protocol
|
19
|
-
|
20
|
-
include "Types.thrift"
|
21
|
-
|
22
|
-
// Serialized, self-contained version of a RowBatch (in be/src/runtime/row-batch.h).
|
23
|
-
struct TRowBatch {
|
24
|
-
// total number of rows contained in this batch
|
25
|
-
1: required i32 num_rows
|
26
|
-
|
27
|
-
// row composition
|
28
|
-
2: required list<Types.TTupleId> row_tuples
|
29
|
-
|
30
|
-
// There are a total of num_rows * num_tuples_per_row offsets
|
31
|
-
// pointing into tuple_data.
|
32
|
-
// An offset of -1 records a NULL.
|
33
|
-
3: list<i32> tuple_offsets
|
34
|
-
|
35
|
-
// binary tuple data, broken up into chunks
|
36
|
-
// TODO: figure out how we can avoid copying the data during TRowBatch construction
|
37
|
-
4: list<string> tuple_data
|
38
|
-
}
|
39
|
-
|
40
|
-
// this is a union over all possible return types
|
41
|
-
struct TColumnValue {
|
42
|
-
// TODO: use <type>_val instead of camelcase
|
43
|
-
1: optional bool boolVal
|
44
|
-
2: optional i32 intVal
|
45
|
-
3: optional i64 longVal
|
46
|
-
4: optional double doubleVal
|
47
|
-
5: optional string stringVal
|
48
|
-
}
|
49
|
-
|
50
|
-
struct TResultRow {
|
51
|
-
1: list<TColumnValue> colVals
|
52
|
-
}
|
data/thrift/DataSinks.thrift
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
// Copyright 2012 Cloudera Inc.
|
2
|
-
//
|
3
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
// you may not use this file except in compliance with the License.
|
5
|
-
// You may obtain a copy of the License at
|
6
|
-
//
|
7
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
//
|
9
|
-
// Unless required by applicable law or agreed to in writing, software
|
10
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
// See the License for the specific language governing permissions and
|
13
|
-
// limitations under the License.
|
14
|
-
|
15
|
-
namespace cpp impala
|
16
|
-
namespace java com.cloudera.impala.thrift
|
17
|
-
namespace rb Impala.Protocol
|
18
|
-
|
19
|
-
include "Exprs.thrift"
|
20
|
-
include "Types.thrift"
|
21
|
-
include "Descriptors.thrift"
|
22
|
-
include "Partitions.thrift"
|
23
|
-
|
24
|
-
enum TDataSinkType {
|
25
|
-
DATA_STREAM_SINK,
|
26
|
-
TABLE_SINK
|
27
|
-
}
|
28
|
-
|
29
|
-
// Sink which forwards data to a remote plan fragment,
|
30
|
-
// according to the given output partition specification
|
31
|
-
// (ie, the m:1 part of an m:n data stream)
|
32
|
-
struct TDataStreamSink {
|
33
|
-
// destination node id
|
34
|
-
1: required Types.TPlanNodeId dest_node_id
|
35
|
-
|
36
|
-
// Specification of how the output of a fragment is partitioned.
|
37
|
-
// If the partitioning type is UNPARTITIONED, the output is broadcast
|
38
|
-
// to each destination host.
|
39
|
-
2: required Partitions.TDataPartition output_partition
|
40
|
-
}
|
41
|
-
|
42
|
-
// Creates a new Hdfs files according to the evaluation of the partitionKeyExprs,
|
43
|
-
// and materializes all its input RowBatches as a Hdfs file.
|
44
|
-
struct THdfsTableSink {
|
45
|
-
1: required list<Exprs.TExpr> partition_key_exprs
|
46
|
-
2: required bool overwrite
|
47
|
-
}
|
48
|
-
|
49
|
-
// Union type of all table sinks.
|
50
|
-
// Currently, only THdfsTableSink is supported, so we don't have a separate
|
51
|
-
// TTableSinkType yet.
|
52
|
-
struct TTableSink {
|
53
|
-
1: required Types.TTableId target_table_id
|
54
|
-
2: required THdfsTableSink hdfs_table_sink
|
55
|
-
}
|
56
|
-
|
57
|
-
struct TDataSink {
|
58
|
-
1: required TDataSinkType type
|
59
|
-
2: optional TDataStreamSink stream_sink
|
60
|
-
3: optional TTableSink table_sink
|
61
|
-
}
|