awx-zipline-ai 0.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agent/__init__.py +1 -0
- agent/constants.py +15 -0
- agent/ttypes.py +1684 -0
- ai/__init__.py +0 -0
- ai/chronon/__init__.py +0 -0
- ai/chronon/airflow_helpers.py +251 -0
- ai/chronon/api/__init__.py +1 -0
- ai/chronon/api/common/__init__.py +1 -0
- ai/chronon/api/common/constants.py +15 -0
- ai/chronon/api/common/ttypes.py +1844 -0
- ai/chronon/api/constants.py +15 -0
- ai/chronon/api/ttypes.py +3624 -0
- ai/chronon/cli/compile/column_hashing.py +313 -0
- ai/chronon/cli/compile/compile_context.py +177 -0
- ai/chronon/cli/compile/compiler.py +160 -0
- ai/chronon/cli/compile/conf_validator.py +590 -0
- ai/chronon/cli/compile/display/class_tracker.py +112 -0
- ai/chronon/cli/compile/display/compile_status.py +95 -0
- ai/chronon/cli/compile/display/compiled_obj.py +12 -0
- ai/chronon/cli/compile/display/console.py +3 -0
- ai/chronon/cli/compile/display/diff_result.py +46 -0
- ai/chronon/cli/compile/fill_templates.py +40 -0
- ai/chronon/cli/compile/parse_configs.py +141 -0
- ai/chronon/cli/compile/parse_teams.py +238 -0
- ai/chronon/cli/compile/serializer.py +115 -0
- ai/chronon/cli/git_utils.py +156 -0
- ai/chronon/cli/logger.py +61 -0
- ai/chronon/constants.py +3 -0
- ai/chronon/eval/__init__.py +122 -0
- ai/chronon/eval/query_parsing.py +19 -0
- ai/chronon/eval/sample_tables.py +100 -0
- ai/chronon/eval/table_scan.py +186 -0
- ai/chronon/fetcher/__init__.py +1 -0
- ai/chronon/fetcher/constants.py +15 -0
- ai/chronon/fetcher/ttypes.py +127 -0
- ai/chronon/group_by.py +692 -0
- ai/chronon/hub/__init__.py +1 -0
- ai/chronon/hub/constants.py +15 -0
- ai/chronon/hub/ttypes.py +1228 -0
- ai/chronon/join.py +566 -0
- ai/chronon/logger.py +24 -0
- ai/chronon/model.py +35 -0
- ai/chronon/observability/__init__.py +1 -0
- ai/chronon/observability/constants.py +15 -0
- ai/chronon/observability/ttypes.py +2192 -0
- ai/chronon/orchestration/__init__.py +1 -0
- ai/chronon/orchestration/constants.py +15 -0
- ai/chronon/orchestration/ttypes.py +4406 -0
- ai/chronon/planner/__init__.py +1 -0
- ai/chronon/planner/constants.py +15 -0
- ai/chronon/planner/ttypes.py +1686 -0
- ai/chronon/query.py +126 -0
- ai/chronon/repo/__init__.py +40 -0
- ai/chronon/repo/aws.py +298 -0
- ai/chronon/repo/cluster.py +65 -0
- ai/chronon/repo/compile.py +56 -0
- ai/chronon/repo/constants.py +164 -0
- ai/chronon/repo/default_runner.py +291 -0
- ai/chronon/repo/explore.py +421 -0
- ai/chronon/repo/extract_objects.py +137 -0
- ai/chronon/repo/gcp.py +585 -0
- ai/chronon/repo/gitpython_utils.py +14 -0
- ai/chronon/repo/hub_runner.py +171 -0
- ai/chronon/repo/hub_uploader.py +108 -0
- ai/chronon/repo/init.py +53 -0
- ai/chronon/repo/join_backfill.py +105 -0
- ai/chronon/repo/run.py +293 -0
- ai/chronon/repo/serializer.py +141 -0
- ai/chronon/repo/team_json_utils.py +46 -0
- ai/chronon/repo/utils.py +472 -0
- ai/chronon/repo/zipline.py +51 -0
- ai/chronon/repo/zipline_hub.py +105 -0
- ai/chronon/resources/gcp/README.md +174 -0
- ai/chronon/resources/gcp/group_bys/test/__init__.py +0 -0
- ai/chronon/resources/gcp/group_bys/test/data.py +34 -0
- ai/chronon/resources/gcp/joins/test/__init__.py +0 -0
- ai/chronon/resources/gcp/joins/test/data.py +30 -0
- ai/chronon/resources/gcp/sources/test/__init__.py +0 -0
- ai/chronon/resources/gcp/sources/test/data.py +23 -0
- ai/chronon/resources/gcp/teams.py +70 -0
- ai/chronon/resources/gcp/zipline-cli-install.sh +54 -0
- ai/chronon/source.py +88 -0
- ai/chronon/staging_query.py +185 -0
- ai/chronon/types.py +57 -0
- ai/chronon/utils.py +557 -0
- ai/chronon/windows.py +50 -0
- awx_zipline_ai-0.2.0.dist-info/METADATA +173 -0
- awx_zipline_ai-0.2.0.dist-info/RECORD +93 -0
- awx_zipline_ai-0.2.0.dist-info/WHEEL +5 -0
- awx_zipline_ai-0.2.0.dist-info/entry_points.txt +2 -0
- awx_zipline_ai-0.2.0.dist-info/licenses/LICENSE +202 -0
- awx_zipline_ai-0.2.0.dist-info/top_level.txt +3 -0
- jars/__init__.py +0 -0
|
@@ -0,0 +1,1844 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Autogenerated by Thrift Compiler (0.22.0)
|
|
3
|
+
#
|
|
4
|
+
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
|
5
|
+
#
|
|
6
|
+
# options string: py
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
|
|
10
|
+
from thrift.protocol.TProtocol import TProtocolException
|
|
11
|
+
from thrift.TRecursive import fix_spec
|
|
12
|
+
from uuid import UUID
|
|
13
|
+
|
|
14
|
+
import sys
|
|
15
|
+
|
|
16
|
+
from thrift.transport import TTransport
|
|
17
|
+
all_structs = []
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class TimeUnit(object):
|
|
21
|
+
HOURS = 0
|
|
22
|
+
DAYS = 1
|
|
23
|
+
MINUTES = 2
|
|
24
|
+
|
|
25
|
+
_VALUES_TO_NAMES = {
|
|
26
|
+
0: "HOURS",
|
|
27
|
+
1: "DAYS",
|
|
28
|
+
2: "MINUTES",
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
_NAMES_TO_VALUES = {
|
|
32
|
+
"HOURS": 0,
|
|
33
|
+
"DAYS": 1,
|
|
34
|
+
"MINUTES": 2,
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class KvScanStrategy(object):
|
|
39
|
+
ALL = 0
|
|
40
|
+
LATEST = 1
|
|
41
|
+
|
|
42
|
+
_VALUES_TO_NAMES = {
|
|
43
|
+
0: "ALL",
|
|
44
|
+
1: "LATEST",
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
_NAMES_TO_VALUES = {
|
|
48
|
+
"ALL": 0,
|
|
49
|
+
"LATEST": 1,
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class Window(object):
|
|
54
|
+
"""
|
|
55
|
+
Attributes:
|
|
56
|
+
- length
|
|
57
|
+
- timeUnit
|
|
58
|
+
|
|
59
|
+
"""
|
|
60
|
+
thrift_spec = None
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def __init__(self, length = None, timeUnit = None,):
|
|
64
|
+
self.length = length
|
|
65
|
+
self.timeUnit = timeUnit
|
|
66
|
+
|
|
67
|
+
def read(self, iprot):
|
|
68
|
+
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
|
|
69
|
+
iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
|
|
70
|
+
return
|
|
71
|
+
iprot.readStructBegin()
|
|
72
|
+
while True:
|
|
73
|
+
(fname, ftype, fid) = iprot.readFieldBegin()
|
|
74
|
+
if ftype == TType.STOP:
|
|
75
|
+
break
|
|
76
|
+
if fid == 1:
|
|
77
|
+
if ftype == TType.I32:
|
|
78
|
+
self.length = iprot.readI32()
|
|
79
|
+
else:
|
|
80
|
+
iprot.skip(ftype)
|
|
81
|
+
elif fid == 2:
|
|
82
|
+
if ftype == TType.I32:
|
|
83
|
+
self.timeUnit = iprot.readI32()
|
|
84
|
+
else:
|
|
85
|
+
iprot.skip(ftype)
|
|
86
|
+
else:
|
|
87
|
+
iprot.skip(ftype)
|
|
88
|
+
iprot.readFieldEnd()
|
|
89
|
+
iprot.readStructEnd()
|
|
90
|
+
|
|
91
|
+
def write(self, oprot):
|
|
92
|
+
self.validate()
|
|
93
|
+
if oprot._fast_encode is not None and self.thrift_spec is not None:
|
|
94
|
+
oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
|
|
95
|
+
return
|
|
96
|
+
oprot.writeStructBegin('Window')
|
|
97
|
+
if self.length is not None:
|
|
98
|
+
oprot.writeFieldBegin('length', TType.I32, 1)
|
|
99
|
+
oprot.writeI32(self.length)
|
|
100
|
+
oprot.writeFieldEnd()
|
|
101
|
+
if self.timeUnit is not None:
|
|
102
|
+
oprot.writeFieldBegin('timeUnit', TType.I32, 2)
|
|
103
|
+
oprot.writeI32(self.timeUnit)
|
|
104
|
+
oprot.writeFieldEnd()
|
|
105
|
+
oprot.writeFieldStop()
|
|
106
|
+
oprot.writeStructEnd()
|
|
107
|
+
|
|
108
|
+
def validate(self):
|
|
109
|
+
return
|
|
110
|
+
|
|
111
|
+
def __repr__(self):
|
|
112
|
+
L = ['%s=%r' % (key, value)
|
|
113
|
+
for key, value in self.__dict__.items()]
|
|
114
|
+
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
115
|
+
|
|
116
|
+
def __eq__(self, other):
|
|
117
|
+
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
118
|
+
|
|
119
|
+
def __ne__(self, other):
|
|
120
|
+
return not (self == other)
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class DateRange(object):
|
|
124
|
+
"""
|
|
125
|
+
Attributes:
|
|
126
|
+
- startDate
|
|
127
|
+
- endDate
|
|
128
|
+
|
|
129
|
+
"""
|
|
130
|
+
thrift_spec = None
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
def __init__(self, startDate = None, endDate = None,):
|
|
134
|
+
self.startDate = startDate
|
|
135
|
+
self.endDate = endDate
|
|
136
|
+
|
|
137
|
+
def read(self, iprot):
|
|
138
|
+
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
|
|
139
|
+
iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
|
|
140
|
+
return
|
|
141
|
+
iprot.readStructBegin()
|
|
142
|
+
while True:
|
|
143
|
+
(fname, ftype, fid) = iprot.readFieldBegin()
|
|
144
|
+
if ftype == TType.STOP:
|
|
145
|
+
break
|
|
146
|
+
if fid == 1:
|
|
147
|
+
if ftype == TType.STRING:
|
|
148
|
+
self.startDate = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
149
|
+
else:
|
|
150
|
+
iprot.skip(ftype)
|
|
151
|
+
elif fid == 2:
|
|
152
|
+
if ftype == TType.STRING:
|
|
153
|
+
self.endDate = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
154
|
+
else:
|
|
155
|
+
iprot.skip(ftype)
|
|
156
|
+
else:
|
|
157
|
+
iprot.skip(ftype)
|
|
158
|
+
iprot.readFieldEnd()
|
|
159
|
+
iprot.readStructEnd()
|
|
160
|
+
|
|
161
|
+
def write(self, oprot):
|
|
162
|
+
self.validate()
|
|
163
|
+
if oprot._fast_encode is not None and self.thrift_spec is not None:
|
|
164
|
+
oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
|
|
165
|
+
return
|
|
166
|
+
oprot.writeStructBegin('DateRange')
|
|
167
|
+
if self.startDate is not None:
|
|
168
|
+
oprot.writeFieldBegin('startDate', TType.STRING, 1)
|
|
169
|
+
oprot.writeString(self.startDate.encode('utf-8') if sys.version_info[0] == 2 else self.startDate)
|
|
170
|
+
oprot.writeFieldEnd()
|
|
171
|
+
if self.endDate is not None:
|
|
172
|
+
oprot.writeFieldBegin('endDate', TType.STRING, 2)
|
|
173
|
+
oprot.writeString(self.endDate.encode('utf-8') if sys.version_info[0] == 2 else self.endDate)
|
|
174
|
+
oprot.writeFieldEnd()
|
|
175
|
+
oprot.writeFieldStop()
|
|
176
|
+
oprot.writeStructEnd()
|
|
177
|
+
|
|
178
|
+
def validate(self):
|
|
179
|
+
return
|
|
180
|
+
|
|
181
|
+
def __repr__(self):
|
|
182
|
+
L = ['%s=%r' % (key, value)
|
|
183
|
+
for key, value in self.__dict__.items()]
|
|
184
|
+
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
185
|
+
|
|
186
|
+
def __eq__(self, other):
|
|
187
|
+
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
188
|
+
|
|
189
|
+
def __ne__(self, other):
|
|
190
|
+
return not (self == other)
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
class EnvironmentVariables(object):
|
|
194
|
+
"""
|
|
195
|
+
env vars for different modes of execution - with "common" applying to all modes
|
|
196
|
+
the submitter will set these env vars prior to launching the job
|
|
197
|
+
|
|
198
|
+
these env vars are layered in order of priority
|
|
199
|
+
1. company file defaults specified in teams.py - in the "common" team
|
|
200
|
+
2. team wide defaults that apply to all objects in the team folder
|
|
201
|
+
3. object specific defaults - applies to only the object that are declares them
|
|
202
|
+
|
|
203
|
+
All the maps from the above three places are merged to create final env var
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
Attributes:
|
|
207
|
+
- common
|
|
208
|
+
- modeEnvironments
|
|
209
|
+
|
|
210
|
+
"""
|
|
211
|
+
thrift_spec = None
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
def __init__(self, common = {
|
|
215
|
+
}, modeEnvironments = {
|
|
216
|
+
},):
|
|
217
|
+
if common is self.thrift_spec[1][4]:
|
|
218
|
+
common = {
|
|
219
|
+
}
|
|
220
|
+
self.common = common
|
|
221
|
+
if modeEnvironments is self.thrift_spec[2][4]:
|
|
222
|
+
modeEnvironments = {
|
|
223
|
+
}
|
|
224
|
+
self.modeEnvironments = modeEnvironments
|
|
225
|
+
|
|
226
|
+
def read(self, iprot):
|
|
227
|
+
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
|
|
228
|
+
iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
|
|
229
|
+
return
|
|
230
|
+
iprot.readStructBegin()
|
|
231
|
+
while True:
|
|
232
|
+
(fname, ftype, fid) = iprot.readFieldBegin()
|
|
233
|
+
if ftype == TType.STOP:
|
|
234
|
+
break
|
|
235
|
+
if fid == 1:
|
|
236
|
+
if ftype == TType.MAP:
|
|
237
|
+
self.common = {}
|
|
238
|
+
(_ktype1, _vtype2, _size0) = iprot.readMapBegin()
|
|
239
|
+
for _i4 in range(_size0):
|
|
240
|
+
_key5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
241
|
+
_val6 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
242
|
+
self.common[_key5] = _val6
|
|
243
|
+
iprot.readMapEnd()
|
|
244
|
+
else:
|
|
245
|
+
iprot.skip(ftype)
|
|
246
|
+
elif fid == 2:
|
|
247
|
+
if ftype == TType.MAP:
|
|
248
|
+
self.modeEnvironments = {}
|
|
249
|
+
(_ktype8, _vtype9, _size7) = iprot.readMapBegin()
|
|
250
|
+
for _i11 in range(_size7):
|
|
251
|
+
_key12 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
252
|
+
_val13 = {}
|
|
253
|
+
(_ktype15, _vtype16, _size14) = iprot.readMapBegin()
|
|
254
|
+
for _i18 in range(_size14):
|
|
255
|
+
_key19 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
256
|
+
_val20 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
257
|
+
_val13[_key19] = _val20
|
|
258
|
+
iprot.readMapEnd()
|
|
259
|
+
self.modeEnvironments[_key12] = _val13
|
|
260
|
+
iprot.readMapEnd()
|
|
261
|
+
else:
|
|
262
|
+
iprot.skip(ftype)
|
|
263
|
+
else:
|
|
264
|
+
iprot.skip(ftype)
|
|
265
|
+
iprot.readFieldEnd()
|
|
266
|
+
iprot.readStructEnd()
|
|
267
|
+
|
|
268
|
+
def write(self, oprot):
|
|
269
|
+
self.validate()
|
|
270
|
+
if oprot._fast_encode is not None and self.thrift_spec is not None:
|
|
271
|
+
oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
|
|
272
|
+
return
|
|
273
|
+
oprot.writeStructBegin('EnvironmentVariables')
|
|
274
|
+
if self.common is not None:
|
|
275
|
+
oprot.writeFieldBegin('common', TType.MAP, 1)
|
|
276
|
+
oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.common))
|
|
277
|
+
for kiter21, viter22 in self.common.items():
|
|
278
|
+
oprot.writeString(kiter21.encode('utf-8') if sys.version_info[0] == 2 else kiter21)
|
|
279
|
+
oprot.writeString(viter22.encode('utf-8') if sys.version_info[0] == 2 else viter22)
|
|
280
|
+
oprot.writeMapEnd()
|
|
281
|
+
oprot.writeFieldEnd()
|
|
282
|
+
if self.modeEnvironments is not None:
|
|
283
|
+
oprot.writeFieldBegin('modeEnvironments', TType.MAP, 2)
|
|
284
|
+
oprot.writeMapBegin(TType.STRING, TType.MAP, len(self.modeEnvironments))
|
|
285
|
+
for kiter23, viter24 in self.modeEnvironments.items():
|
|
286
|
+
oprot.writeString(kiter23.encode('utf-8') if sys.version_info[0] == 2 else kiter23)
|
|
287
|
+
oprot.writeMapBegin(TType.STRING, TType.STRING, len(viter24))
|
|
288
|
+
for kiter25, viter26 in viter24.items():
|
|
289
|
+
oprot.writeString(kiter25.encode('utf-8') if sys.version_info[0] == 2 else kiter25)
|
|
290
|
+
oprot.writeString(viter26.encode('utf-8') if sys.version_info[0] == 2 else viter26)
|
|
291
|
+
oprot.writeMapEnd()
|
|
292
|
+
oprot.writeMapEnd()
|
|
293
|
+
oprot.writeFieldEnd()
|
|
294
|
+
oprot.writeFieldStop()
|
|
295
|
+
oprot.writeStructEnd()
|
|
296
|
+
|
|
297
|
+
def validate(self):
|
|
298
|
+
return
|
|
299
|
+
|
|
300
|
+
def __repr__(self):
|
|
301
|
+
L = ['%s=%r' % (key, value)
|
|
302
|
+
for key, value in self.__dict__.items()]
|
|
303
|
+
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
304
|
+
|
|
305
|
+
def __eq__(self, other):
|
|
306
|
+
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
307
|
+
|
|
308
|
+
def __ne__(self, other):
|
|
309
|
+
return not (self == other)
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
class ConfigProperties(object):
|
|
313
|
+
"""
|
|
314
|
+
job config for different modes of execution - with "common" applying to all modes
|
|
315
|
+
usually these are spark or flink conf params like "spark.executor.memory" etc
|
|
316
|
+
|
|
317
|
+
these confs are layered in order of priority
|
|
318
|
+
1. company file defaults specified in teams.py - in the "common" team
|
|
319
|
+
2. team wide defaults that apply to all objects in the team folder
|
|
320
|
+
3. object specific defaults - applies to only the object that are declares them
|
|
321
|
+
|
|
322
|
+
All the maps from the above three places are merged to create final conf map
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
Attributes:
|
|
326
|
+
- common
|
|
327
|
+
- modeConfigs
|
|
328
|
+
|
|
329
|
+
"""
|
|
330
|
+
thrift_spec = None
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
def __init__(self, common = {
|
|
334
|
+
}, modeConfigs = {
|
|
335
|
+
},):
|
|
336
|
+
if common is self.thrift_spec[1][4]:
|
|
337
|
+
common = {
|
|
338
|
+
}
|
|
339
|
+
self.common = common
|
|
340
|
+
if modeConfigs is self.thrift_spec[2][4]:
|
|
341
|
+
modeConfigs = {
|
|
342
|
+
}
|
|
343
|
+
self.modeConfigs = modeConfigs
|
|
344
|
+
|
|
345
|
+
def read(self, iprot):
|
|
346
|
+
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
|
|
347
|
+
iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
|
|
348
|
+
return
|
|
349
|
+
iprot.readStructBegin()
|
|
350
|
+
while True:
|
|
351
|
+
(fname, ftype, fid) = iprot.readFieldBegin()
|
|
352
|
+
if ftype == TType.STOP:
|
|
353
|
+
break
|
|
354
|
+
if fid == 1:
|
|
355
|
+
if ftype == TType.MAP:
|
|
356
|
+
self.common = {}
|
|
357
|
+
(_ktype28, _vtype29, _size27) = iprot.readMapBegin()
|
|
358
|
+
for _i31 in range(_size27):
|
|
359
|
+
_key32 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
360
|
+
_val33 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
361
|
+
self.common[_key32] = _val33
|
|
362
|
+
iprot.readMapEnd()
|
|
363
|
+
else:
|
|
364
|
+
iprot.skip(ftype)
|
|
365
|
+
elif fid == 2:
|
|
366
|
+
if ftype == TType.MAP:
|
|
367
|
+
self.modeConfigs = {}
|
|
368
|
+
(_ktype35, _vtype36, _size34) = iprot.readMapBegin()
|
|
369
|
+
for _i38 in range(_size34):
|
|
370
|
+
_key39 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
371
|
+
_val40 = {}
|
|
372
|
+
(_ktype42, _vtype43, _size41) = iprot.readMapBegin()
|
|
373
|
+
for _i45 in range(_size41):
|
|
374
|
+
_key46 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
375
|
+
_val47 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
376
|
+
_val40[_key46] = _val47
|
|
377
|
+
iprot.readMapEnd()
|
|
378
|
+
self.modeConfigs[_key39] = _val40
|
|
379
|
+
iprot.readMapEnd()
|
|
380
|
+
else:
|
|
381
|
+
iprot.skip(ftype)
|
|
382
|
+
else:
|
|
383
|
+
iprot.skip(ftype)
|
|
384
|
+
iprot.readFieldEnd()
|
|
385
|
+
iprot.readStructEnd()
|
|
386
|
+
|
|
387
|
+
def write(self, oprot):
|
|
388
|
+
self.validate()
|
|
389
|
+
if oprot._fast_encode is not None and self.thrift_spec is not None:
|
|
390
|
+
oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
|
|
391
|
+
return
|
|
392
|
+
oprot.writeStructBegin('ConfigProperties')
|
|
393
|
+
if self.common is not None:
|
|
394
|
+
oprot.writeFieldBegin('common', TType.MAP, 1)
|
|
395
|
+
oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.common))
|
|
396
|
+
for kiter48, viter49 in self.common.items():
|
|
397
|
+
oprot.writeString(kiter48.encode('utf-8') if sys.version_info[0] == 2 else kiter48)
|
|
398
|
+
oprot.writeString(viter49.encode('utf-8') if sys.version_info[0] == 2 else viter49)
|
|
399
|
+
oprot.writeMapEnd()
|
|
400
|
+
oprot.writeFieldEnd()
|
|
401
|
+
if self.modeConfigs is not None:
|
|
402
|
+
oprot.writeFieldBegin('modeConfigs', TType.MAP, 2)
|
|
403
|
+
oprot.writeMapBegin(TType.STRING, TType.MAP, len(self.modeConfigs))
|
|
404
|
+
for kiter50, viter51 in self.modeConfigs.items():
|
|
405
|
+
oprot.writeString(kiter50.encode('utf-8') if sys.version_info[0] == 2 else kiter50)
|
|
406
|
+
oprot.writeMapBegin(TType.STRING, TType.STRING, len(viter51))
|
|
407
|
+
for kiter52, viter53 in viter51.items():
|
|
408
|
+
oprot.writeString(kiter52.encode('utf-8') if sys.version_info[0] == 2 else kiter52)
|
|
409
|
+
oprot.writeString(viter53.encode('utf-8') if sys.version_info[0] == 2 else viter53)
|
|
410
|
+
oprot.writeMapEnd()
|
|
411
|
+
oprot.writeMapEnd()
|
|
412
|
+
oprot.writeFieldEnd()
|
|
413
|
+
oprot.writeFieldStop()
|
|
414
|
+
oprot.writeStructEnd()
|
|
415
|
+
|
|
416
|
+
def validate(self):
|
|
417
|
+
return
|
|
418
|
+
|
|
419
|
+
def __repr__(self):
|
|
420
|
+
L = ['%s=%r' % (key, value)
|
|
421
|
+
for key, value in self.__dict__.items()]
|
|
422
|
+
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
423
|
+
|
|
424
|
+
def __eq__(self, other):
|
|
425
|
+
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
426
|
+
|
|
427
|
+
def __ne__(self, other):
|
|
428
|
+
return not (self == other)
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
class ClusterConfigProperties(object):
|
|
432
|
+
"""
|
|
433
|
+
Cluster config for different modes of execution as a json string - with "common" applying to all modes
|
|
434
|
+
These are settings for creating a new cluster for running the job
|
|
435
|
+
|
|
436
|
+
these confs are layered in order of priority
|
|
437
|
+
1. company file defaults specified in teams.py - in the "common" team
|
|
438
|
+
2. team wide defaults that apply to all objects in the team folder
|
|
439
|
+
3. object specific defaults - applies to only the object that are declares them
|
|
440
|
+
|
|
441
|
+
All the maps from the above three places are merged to create final cluster config
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
Attributes:
|
|
445
|
+
- common
|
|
446
|
+
- modeClusterConfigs
|
|
447
|
+
|
|
448
|
+
"""
|
|
449
|
+
thrift_spec = None
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
def __init__(self, common = {
|
|
453
|
+
}, modeClusterConfigs = {
|
|
454
|
+
},):
|
|
455
|
+
if common is self.thrift_spec[1][4]:
|
|
456
|
+
common = {
|
|
457
|
+
}
|
|
458
|
+
self.common = common
|
|
459
|
+
if modeClusterConfigs is self.thrift_spec[2][4]:
|
|
460
|
+
modeClusterConfigs = {
|
|
461
|
+
}
|
|
462
|
+
self.modeClusterConfigs = modeClusterConfigs
|
|
463
|
+
|
|
464
|
+
def read(self, iprot):
|
|
465
|
+
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
|
|
466
|
+
iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
|
|
467
|
+
return
|
|
468
|
+
iprot.readStructBegin()
|
|
469
|
+
while True:
|
|
470
|
+
(fname, ftype, fid) = iprot.readFieldBegin()
|
|
471
|
+
if ftype == TType.STOP:
|
|
472
|
+
break
|
|
473
|
+
if fid == 1:
|
|
474
|
+
if ftype == TType.MAP:
|
|
475
|
+
self.common = {}
|
|
476
|
+
(_ktype55, _vtype56, _size54) = iprot.readMapBegin()
|
|
477
|
+
for _i58 in range(_size54):
|
|
478
|
+
_key59 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
479
|
+
_val60 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
480
|
+
self.common[_key59] = _val60
|
|
481
|
+
iprot.readMapEnd()
|
|
482
|
+
else:
|
|
483
|
+
iprot.skip(ftype)
|
|
484
|
+
elif fid == 2:
|
|
485
|
+
if ftype == TType.MAP:
|
|
486
|
+
self.modeClusterConfigs = {}
|
|
487
|
+
(_ktype62, _vtype63, _size61) = iprot.readMapBegin()
|
|
488
|
+
for _i65 in range(_size61):
|
|
489
|
+
_key66 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
490
|
+
_val67 = {}
|
|
491
|
+
(_ktype69, _vtype70, _size68) = iprot.readMapBegin()
|
|
492
|
+
for _i72 in range(_size68):
|
|
493
|
+
_key73 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
494
|
+
_val74 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
495
|
+
_val67[_key73] = _val74
|
|
496
|
+
iprot.readMapEnd()
|
|
497
|
+
self.modeClusterConfigs[_key66] = _val67
|
|
498
|
+
iprot.readMapEnd()
|
|
499
|
+
else:
|
|
500
|
+
iprot.skip(ftype)
|
|
501
|
+
else:
|
|
502
|
+
iprot.skip(ftype)
|
|
503
|
+
iprot.readFieldEnd()
|
|
504
|
+
iprot.readStructEnd()
|
|
505
|
+
|
|
506
|
+
def write(self, oprot):
|
|
507
|
+
self.validate()
|
|
508
|
+
if oprot._fast_encode is not None and self.thrift_spec is not None:
|
|
509
|
+
oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
|
|
510
|
+
return
|
|
511
|
+
oprot.writeStructBegin('ClusterConfigProperties')
|
|
512
|
+
if self.common is not None:
|
|
513
|
+
oprot.writeFieldBegin('common', TType.MAP, 1)
|
|
514
|
+
oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.common))
|
|
515
|
+
for kiter75, viter76 in self.common.items():
|
|
516
|
+
oprot.writeString(kiter75.encode('utf-8') if sys.version_info[0] == 2 else kiter75)
|
|
517
|
+
oprot.writeString(viter76.encode('utf-8') if sys.version_info[0] == 2 else viter76)
|
|
518
|
+
oprot.writeMapEnd()
|
|
519
|
+
oprot.writeFieldEnd()
|
|
520
|
+
if self.modeClusterConfigs is not None:
|
|
521
|
+
oprot.writeFieldBegin('modeClusterConfigs', TType.MAP, 2)
|
|
522
|
+
oprot.writeMapBegin(TType.STRING, TType.MAP, len(self.modeClusterConfigs))
|
|
523
|
+
for kiter77, viter78 in self.modeClusterConfigs.items():
|
|
524
|
+
oprot.writeString(kiter77.encode('utf-8') if sys.version_info[0] == 2 else kiter77)
|
|
525
|
+
oprot.writeMapBegin(TType.STRING, TType.STRING, len(viter78))
|
|
526
|
+
for kiter79, viter80 in viter78.items():
|
|
527
|
+
oprot.writeString(kiter79.encode('utf-8') if sys.version_info[0] == 2 else kiter79)
|
|
528
|
+
oprot.writeString(viter80.encode('utf-8') if sys.version_info[0] == 2 else viter80)
|
|
529
|
+
oprot.writeMapEnd()
|
|
530
|
+
oprot.writeMapEnd()
|
|
531
|
+
oprot.writeFieldEnd()
|
|
532
|
+
oprot.writeFieldStop()
|
|
533
|
+
oprot.writeStructEnd()
|
|
534
|
+
|
|
535
|
+
def validate(self):
|
|
536
|
+
return
|
|
537
|
+
|
|
538
|
+
def __repr__(self):
|
|
539
|
+
L = ['%s=%r' % (key, value)
|
|
540
|
+
for key, value in self.__dict__.items()]
|
|
541
|
+
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
542
|
+
|
|
543
|
+
def __eq__(self, other):
|
|
544
|
+
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
545
|
+
|
|
546
|
+
def __ne__(self, other):
|
|
547
|
+
return not (self == other)
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
class TableInfo(object):
|
|
551
|
+
"""
|
|
552
|
+
Attributes:
|
|
553
|
+
- table
|
|
554
|
+
- partitionColumn
|
|
555
|
+
- partitionFormat
|
|
556
|
+
- partitionInterval
|
|
557
|
+
- isCumulative: If isCumulative is true, then for a given output partition any single partition from input on or after the output
|
|
558
|
+
is sufficient. What this means is that latest available partition prior to end cut off will be used.
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
"""
|
|
562
|
+
thrift_spec = None
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
def __init__(self, table = None, partitionColumn = None, partitionFormat = None, partitionInterval = None, isCumulative = None,):
|
|
566
|
+
self.table = table
|
|
567
|
+
self.partitionColumn = partitionColumn
|
|
568
|
+
self.partitionFormat = partitionFormat
|
|
569
|
+
self.partitionInterval = partitionInterval
|
|
570
|
+
self.isCumulative = isCumulative
|
|
571
|
+
|
|
572
|
+
def read(self, iprot):
|
|
573
|
+
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
|
|
574
|
+
iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
|
|
575
|
+
return
|
|
576
|
+
iprot.readStructBegin()
|
|
577
|
+
while True:
|
|
578
|
+
(fname, ftype, fid) = iprot.readFieldBegin()
|
|
579
|
+
if ftype == TType.STOP:
|
|
580
|
+
break
|
|
581
|
+
if fid == 1:
|
|
582
|
+
if ftype == TType.STRING:
|
|
583
|
+
self.table = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
584
|
+
else:
|
|
585
|
+
iprot.skip(ftype)
|
|
586
|
+
elif fid == 100:
|
|
587
|
+
if ftype == TType.STRING:
|
|
588
|
+
self.partitionColumn = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
589
|
+
else:
|
|
590
|
+
iprot.skip(ftype)
|
|
591
|
+
elif fid == 101:
|
|
592
|
+
if ftype == TType.STRING:
|
|
593
|
+
self.partitionFormat = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
594
|
+
else:
|
|
595
|
+
iprot.skip(ftype)
|
|
596
|
+
elif fid == 102:
|
|
597
|
+
if ftype == TType.STRUCT:
|
|
598
|
+
self.partitionInterval = Window()
|
|
599
|
+
self.partitionInterval.read(iprot)
|
|
600
|
+
else:
|
|
601
|
+
iprot.skip(ftype)
|
|
602
|
+
elif fid == 200:
|
|
603
|
+
if ftype == TType.BOOL:
|
|
604
|
+
self.isCumulative = iprot.readBool()
|
|
605
|
+
else:
|
|
606
|
+
iprot.skip(ftype)
|
|
607
|
+
else:
|
|
608
|
+
iprot.skip(ftype)
|
|
609
|
+
iprot.readFieldEnd()
|
|
610
|
+
iprot.readStructEnd()
|
|
611
|
+
|
|
612
|
+
def write(self, oprot):
|
|
613
|
+
self.validate()
|
|
614
|
+
if oprot._fast_encode is not None and self.thrift_spec is not None:
|
|
615
|
+
oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
|
|
616
|
+
return
|
|
617
|
+
oprot.writeStructBegin('TableInfo')
|
|
618
|
+
if self.table is not None:
|
|
619
|
+
oprot.writeFieldBegin('table', TType.STRING, 1)
|
|
620
|
+
oprot.writeString(self.table.encode('utf-8') if sys.version_info[0] == 2 else self.table)
|
|
621
|
+
oprot.writeFieldEnd()
|
|
622
|
+
if self.partitionColumn is not None:
|
|
623
|
+
oprot.writeFieldBegin('partitionColumn', TType.STRING, 100)
|
|
624
|
+
oprot.writeString(self.partitionColumn.encode('utf-8') if sys.version_info[0] == 2 else self.partitionColumn)
|
|
625
|
+
oprot.writeFieldEnd()
|
|
626
|
+
if self.partitionFormat is not None:
|
|
627
|
+
oprot.writeFieldBegin('partitionFormat', TType.STRING, 101)
|
|
628
|
+
oprot.writeString(self.partitionFormat.encode('utf-8') if sys.version_info[0] == 2 else self.partitionFormat)
|
|
629
|
+
oprot.writeFieldEnd()
|
|
630
|
+
if self.partitionInterval is not None:
|
|
631
|
+
oprot.writeFieldBegin('partitionInterval', TType.STRUCT, 102)
|
|
632
|
+
self.partitionInterval.write(oprot)
|
|
633
|
+
oprot.writeFieldEnd()
|
|
634
|
+
if self.isCumulative is not None:
|
|
635
|
+
oprot.writeFieldBegin('isCumulative', TType.BOOL, 200)
|
|
636
|
+
oprot.writeBool(self.isCumulative)
|
|
637
|
+
oprot.writeFieldEnd()
|
|
638
|
+
oprot.writeFieldStop()
|
|
639
|
+
oprot.writeStructEnd()
|
|
640
|
+
|
|
641
|
+
def validate(self):
|
|
642
|
+
return
|
|
643
|
+
|
|
644
|
+
def __repr__(self):
|
|
645
|
+
L = ['%s=%r' % (key, value)
|
|
646
|
+
for key, value in self.__dict__.items()]
|
|
647
|
+
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
648
|
+
|
|
649
|
+
def __eq__(self, other):
|
|
650
|
+
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
651
|
+
|
|
652
|
+
def __ne__(self, other):
|
|
653
|
+
return not (self == other)
|
|
654
|
+
|
|
655
|
+
|
|
656
|
+
class TableDependency(object):
|
|
657
|
+
"""
|
|
658
|
+
Attributes:
|
|
659
|
+
- tableInfo
|
|
660
|
+
- startOffset
|
|
661
|
+
- endOffset
|
|
662
|
+
- startCutOff
|
|
663
|
+
- endCutOff
|
|
664
|
+
- forceCompute: JoinParts could use data from batch backfill-s or upload tables when available
|
|
665
|
+
When not available they shouldn't force computation of the backfills and upload tables.
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
"""
|
|
669
|
+
thrift_spec = None
|
|
670
|
+
|
|
671
|
+
|
|
672
|
+
def __init__(self, tableInfo = None, startOffset = None, endOffset = None, startCutOff = None, endCutOff = None, forceCompute = None,):
|
|
673
|
+
self.tableInfo = tableInfo
|
|
674
|
+
self.startOffset = startOffset
|
|
675
|
+
self.endOffset = endOffset
|
|
676
|
+
self.startCutOff = startCutOff
|
|
677
|
+
self.endCutOff = endCutOff
|
|
678
|
+
self.forceCompute = forceCompute
|
|
679
|
+
|
|
680
|
+
def read(self, iprot):
|
|
681
|
+
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
|
|
682
|
+
iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
|
|
683
|
+
return
|
|
684
|
+
iprot.readStructBegin()
|
|
685
|
+
while True:
|
|
686
|
+
(fname, ftype, fid) = iprot.readFieldBegin()
|
|
687
|
+
if ftype == TType.STOP:
|
|
688
|
+
break
|
|
689
|
+
if fid == 1:
|
|
690
|
+
if ftype == TType.STRUCT:
|
|
691
|
+
self.tableInfo = TableInfo()
|
|
692
|
+
self.tableInfo.read(iprot)
|
|
693
|
+
else:
|
|
694
|
+
iprot.skip(ftype)
|
|
695
|
+
elif fid == 2:
|
|
696
|
+
if ftype == TType.STRUCT:
|
|
697
|
+
self.startOffset = Window()
|
|
698
|
+
self.startOffset.read(iprot)
|
|
699
|
+
else:
|
|
700
|
+
iprot.skip(ftype)
|
|
701
|
+
elif fid == 3:
|
|
702
|
+
if ftype == TType.STRUCT:
|
|
703
|
+
self.endOffset = Window()
|
|
704
|
+
self.endOffset.read(iprot)
|
|
705
|
+
else:
|
|
706
|
+
iprot.skip(ftype)
|
|
707
|
+
elif fid == 4:
|
|
708
|
+
if ftype == TType.STRING:
|
|
709
|
+
self.startCutOff = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
710
|
+
else:
|
|
711
|
+
iprot.skip(ftype)
|
|
712
|
+
elif fid == 5:
|
|
713
|
+
if ftype == TType.STRING:
|
|
714
|
+
self.endCutOff = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
715
|
+
else:
|
|
716
|
+
iprot.skip(ftype)
|
|
717
|
+
elif fid == 201:
|
|
718
|
+
if ftype == TType.BOOL:
|
|
719
|
+
self.forceCompute = iprot.readBool()
|
|
720
|
+
else:
|
|
721
|
+
iprot.skip(ftype)
|
|
722
|
+
else:
|
|
723
|
+
iprot.skip(ftype)
|
|
724
|
+
iprot.readFieldEnd()
|
|
725
|
+
iprot.readStructEnd()
|
|
726
|
+
|
|
727
|
+
def write(self, oprot):
|
|
728
|
+
self.validate()
|
|
729
|
+
if oprot._fast_encode is not None and self.thrift_spec is not None:
|
|
730
|
+
oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
|
|
731
|
+
return
|
|
732
|
+
oprot.writeStructBegin('TableDependency')
|
|
733
|
+
if self.tableInfo is not None:
|
|
734
|
+
oprot.writeFieldBegin('tableInfo', TType.STRUCT, 1)
|
|
735
|
+
self.tableInfo.write(oprot)
|
|
736
|
+
oprot.writeFieldEnd()
|
|
737
|
+
if self.startOffset is not None:
|
|
738
|
+
oprot.writeFieldBegin('startOffset', TType.STRUCT, 2)
|
|
739
|
+
self.startOffset.write(oprot)
|
|
740
|
+
oprot.writeFieldEnd()
|
|
741
|
+
if self.endOffset is not None:
|
|
742
|
+
oprot.writeFieldBegin('endOffset', TType.STRUCT, 3)
|
|
743
|
+
self.endOffset.write(oprot)
|
|
744
|
+
oprot.writeFieldEnd()
|
|
745
|
+
if self.startCutOff is not None:
|
|
746
|
+
oprot.writeFieldBegin('startCutOff', TType.STRING, 4)
|
|
747
|
+
oprot.writeString(self.startCutOff.encode('utf-8') if sys.version_info[0] == 2 else self.startCutOff)
|
|
748
|
+
oprot.writeFieldEnd()
|
|
749
|
+
if self.endCutOff is not None:
|
|
750
|
+
oprot.writeFieldBegin('endCutOff', TType.STRING, 5)
|
|
751
|
+
oprot.writeString(self.endCutOff.encode('utf-8') if sys.version_info[0] == 2 else self.endCutOff)
|
|
752
|
+
oprot.writeFieldEnd()
|
|
753
|
+
if self.forceCompute is not None:
|
|
754
|
+
oprot.writeFieldBegin('forceCompute', TType.BOOL, 201)
|
|
755
|
+
oprot.writeBool(self.forceCompute)
|
|
756
|
+
oprot.writeFieldEnd()
|
|
757
|
+
oprot.writeFieldStop()
|
|
758
|
+
oprot.writeStructEnd()
|
|
759
|
+
|
|
760
|
+
def validate(self):
|
|
761
|
+
return
|
|
762
|
+
|
|
763
|
+
def __repr__(self):
|
|
764
|
+
L = ['%s=%r' % (key, value)
|
|
765
|
+
for key, value in self.__dict__.items()]
|
|
766
|
+
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
767
|
+
|
|
768
|
+
def __eq__(self, other):
|
|
769
|
+
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
770
|
+
|
|
771
|
+
def __ne__(self, other):
|
|
772
|
+
return not (self == other)
|
|
773
|
+
|
|
774
|
+
|
|
775
|
+
class KvInfo(object):
|
|
776
|
+
"""
|
|
777
|
+
Attributes:
|
|
778
|
+
- cluster
|
|
779
|
+
- table
|
|
780
|
+
- keyBase64
|
|
781
|
+
|
|
782
|
+
"""
|
|
783
|
+
thrift_spec = None
|
|
784
|
+
|
|
785
|
+
|
|
786
|
+
def __init__(self, cluster = None, table = None, keyBase64 = None,):
|
|
787
|
+
self.cluster = cluster
|
|
788
|
+
self.table = table
|
|
789
|
+
self.keyBase64 = keyBase64
|
|
790
|
+
|
|
791
|
+
def read(self, iprot):
|
|
792
|
+
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
|
|
793
|
+
iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
|
|
794
|
+
return
|
|
795
|
+
iprot.readStructBegin()
|
|
796
|
+
while True:
|
|
797
|
+
(fname, ftype, fid) = iprot.readFieldBegin()
|
|
798
|
+
if ftype == TType.STOP:
|
|
799
|
+
break
|
|
800
|
+
if fid == 1:
|
|
801
|
+
if ftype == TType.STRING:
|
|
802
|
+
self.cluster = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
803
|
+
else:
|
|
804
|
+
iprot.skip(ftype)
|
|
805
|
+
elif fid == 2:
|
|
806
|
+
if ftype == TType.STRING:
|
|
807
|
+
self.table = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
808
|
+
else:
|
|
809
|
+
iprot.skip(ftype)
|
|
810
|
+
elif fid == 3:
|
|
811
|
+
if ftype == TType.STRING:
|
|
812
|
+
self.keyBase64 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
813
|
+
else:
|
|
814
|
+
iprot.skip(ftype)
|
|
815
|
+
else:
|
|
816
|
+
iprot.skip(ftype)
|
|
817
|
+
iprot.readFieldEnd()
|
|
818
|
+
iprot.readStructEnd()
|
|
819
|
+
|
|
820
|
+
def write(self, oprot):
|
|
821
|
+
self.validate()
|
|
822
|
+
if oprot._fast_encode is not None and self.thrift_spec is not None:
|
|
823
|
+
oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
|
|
824
|
+
return
|
|
825
|
+
oprot.writeStructBegin('KvInfo')
|
|
826
|
+
if self.cluster is not None:
|
|
827
|
+
oprot.writeFieldBegin('cluster', TType.STRING, 1)
|
|
828
|
+
oprot.writeString(self.cluster.encode('utf-8') if sys.version_info[0] == 2 else self.cluster)
|
|
829
|
+
oprot.writeFieldEnd()
|
|
830
|
+
if self.table is not None:
|
|
831
|
+
oprot.writeFieldBegin('table', TType.STRING, 2)
|
|
832
|
+
oprot.writeString(self.table.encode('utf-8') if sys.version_info[0] == 2 else self.table)
|
|
833
|
+
oprot.writeFieldEnd()
|
|
834
|
+
if self.keyBase64 is not None:
|
|
835
|
+
oprot.writeFieldBegin('keyBase64', TType.STRING, 3)
|
|
836
|
+
oprot.writeString(self.keyBase64.encode('utf-8') if sys.version_info[0] == 2 else self.keyBase64)
|
|
837
|
+
oprot.writeFieldEnd()
|
|
838
|
+
oprot.writeFieldStop()
|
|
839
|
+
oprot.writeStructEnd()
|
|
840
|
+
|
|
841
|
+
def validate(self):
|
|
842
|
+
return
|
|
843
|
+
|
|
844
|
+
def __repr__(self):
|
|
845
|
+
L = ['%s=%r' % (key, value)
|
|
846
|
+
for key, value in self.__dict__.items()]
|
|
847
|
+
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
848
|
+
|
|
849
|
+
def __eq__(self, other):
|
|
850
|
+
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
851
|
+
|
|
852
|
+
def __ne__(self, other):
|
|
853
|
+
return not (self == other)
|
|
854
|
+
|
|
855
|
+
|
|
856
|
+
class KvDependency(object):
|
|
857
|
+
"""
|
|
858
|
+
Attributes:
|
|
859
|
+
- kvInfo
|
|
860
|
+
- startMillis
|
|
861
|
+
- endMillis
|
|
862
|
+
- scanStrategy
|
|
863
|
+
|
|
864
|
+
"""
|
|
865
|
+
thrift_spec = None
|
|
866
|
+
|
|
867
|
+
|
|
868
|
+
def __init__(self, kvInfo = None, startMillis = None, endMillis = None, scanStrategy = None,):
|
|
869
|
+
self.kvInfo = kvInfo
|
|
870
|
+
self.startMillis = startMillis
|
|
871
|
+
self.endMillis = endMillis
|
|
872
|
+
self.scanStrategy = scanStrategy
|
|
873
|
+
|
|
874
|
+
def read(self, iprot):
|
|
875
|
+
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
|
|
876
|
+
iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
|
|
877
|
+
return
|
|
878
|
+
iprot.readStructBegin()
|
|
879
|
+
while True:
|
|
880
|
+
(fname, ftype, fid) = iprot.readFieldBegin()
|
|
881
|
+
if ftype == TType.STOP:
|
|
882
|
+
break
|
|
883
|
+
if fid == 1:
|
|
884
|
+
if ftype == TType.STRUCT:
|
|
885
|
+
self.kvInfo = KvInfo()
|
|
886
|
+
self.kvInfo.read(iprot)
|
|
887
|
+
else:
|
|
888
|
+
iprot.skip(ftype)
|
|
889
|
+
elif fid == 10:
|
|
890
|
+
if ftype == TType.I64:
|
|
891
|
+
self.startMillis = iprot.readI64()
|
|
892
|
+
else:
|
|
893
|
+
iprot.skip(ftype)
|
|
894
|
+
elif fid == 11:
|
|
895
|
+
if ftype == TType.I64:
|
|
896
|
+
self.endMillis = iprot.readI64()
|
|
897
|
+
else:
|
|
898
|
+
iprot.skip(ftype)
|
|
899
|
+
elif fid == 20:
|
|
900
|
+
if ftype == TType.I32:
|
|
901
|
+
self.scanStrategy = iprot.readI32()
|
|
902
|
+
else:
|
|
903
|
+
iprot.skip(ftype)
|
|
904
|
+
else:
|
|
905
|
+
iprot.skip(ftype)
|
|
906
|
+
iprot.readFieldEnd()
|
|
907
|
+
iprot.readStructEnd()
|
|
908
|
+
|
|
909
|
+
def write(self, oprot):
|
|
910
|
+
self.validate()
|
|
911
|
+
if oprot._fast_encode is not None and self.thrift_spec is not None:
|
|
912
|
+
oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
|
|
913
|
+
return
|
|
914
|
+
oprot.writeStructBegin('KvDependency')
|
|
915
|
+
if self.kvInfo is not None:
|
|
916
|
+
oprot.writeFieldBegin('kvInfo', TType.STRUCT, 1)
|
|
917
|
+
self.kvInfo.write(oprot)
|
|
918
|
+
oprot.writeFieldEnd()
|
|
919
|
+
if self.startMillis is not None:
|
|
920
|
+
oprot.writeFieldBegin('startMillis', TType.I64, 10)
|
|
921
|
+
oprot.writeI64(self.startMillis)
|
|
922
|
+
oprot.writeFieldEnd()
|
|
923
|
+
if self.endMillis is not None:
|
|
924
|
+
oprot.writeFieldBegin('endMillis', TType.I64, 11)
|
|
925
|
+
oprot.writeI64(self.endMillis)
|
|
926
|
+
oprot.writeFieldEnd()
|
|
927
|
+
if self.scanStrategy is not None:
|
|
928
|
+
oprot.writeFieldBegin('scanStrategy', TType.I32, 20)
|
|
929
|
+
oprot.writeI32(self.scanStrategy)
|
|
930
|
+
oprot.writeFieldEnd()
|
|
931
|
+
oprot.writeFieldStop()
|
|
932
|
+
oprot.writeStructEnd()
|
|
933
|
+
|
|
934
|
+
def validate(self):
|
|
935
|
+
return
|
|
936
|
+
|
|
937
|
+
def __repr__(self):
|
|
938
|
+
L = ['%s=%r' % (key, value)
|
|
939
|
+
for key, value in self.__dict__.items()]
|
|
940
|
+
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
941
|
+
|
|
942
|
+
def __eq__(self, other):
|
|
943
|
+
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
944
|
+
|
|
945
|
+
def __ne__(self, other):
|
|
946
|
+
return not (self == other)
|
|
947
|
+
|
|
948
|
+
|
|
949
|
+
class ExecutionInfo(object):
|
|
950
|
+
"""
|
|
951
|
+
Attributes:
|
|
952
|
+
- env
|
|
953
|
+
- conf
|
|
954
|
+
- dependencyPollIntervalMillis
|
|
955
|
+
- healthCheckIntervalMillis
|
|
956
|
+
- clusterConf
|
|
957
|
+
- scheduleCron
|
|
958
|
+
- stepDays
|
|
959
|
+
- historicalBackfill
|
|
960
|
+
- tableDependencies
|
|
961
|
+
- outputTableInfo
|
|
962
|
+
- kvDependencies
|
|
963
|
+
- outputKvInfo
|
|
964
|
+
- kvPollIntervalMillis
|
|
965
|
+
|
|
966
|
+
"""
|
|
967
|
+
thrift_spec = None
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+
def __init__(self, env = None, conf = None, dependencyPollIntervalMillis = None, healthCheckIntervalMillis = None, clusterConf = None, scheduleCron = None, stepDays = None, historicalBackfill = None, tableDependencies = None, outputTableInfo = None, kvDependencies = None, outputKvInfo = None, kvPollIntervalMillis = None,):
|
|
971
|
+
self.env = env
|
|
972
|
+
self.conf = conf
|
|
973
|
+
self.dependencyPollIntervalMillis = dependencyPollIntervalMillis
|
|
974
|
+
self.healthCheckIntervalMillis = healthCheckIntervalMillis
|
|
975
|
+
self.clusterConf = clusterConf
|
|
976
|
+
self.scheduleCron = scheduleCron
|
|
977
|
+
self.stepDays = stepDays
|
|
978
|
+
self.historicalBackfill = historicalBackfill
|
|
979
|
+
self.tableDependencies = tableDependencies
|
|
980
|
+
self.outputTableInfo = outputTableInfo
|
|
981
|
+
self.kvDependencies = kvDependencies
|
|
982
|
+
self.outputKvInfo = outputKvInfo
|
|
983
|
+
self.kvPollIntervalMillis = kvPollIntervalMillis
|
|
984
|
+
|
|
985
|
+
def read(self, iprot):
|
|
986
|
+
if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
|
|
987
|
+
iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
|
|
988
|
+
return
|
|
989
|
+
iprot.readStructBegin()
|
|
990
|
+
while True:
|
|
991
|
+
(fname, ftype, fid) = iprot.readFieldBegin()
|
|
992
|
+
if ftype == TType.STOP:
|
|
993
|
+
break
|
|
994
|
+
if fid == 1:
|
|
995
|
+
if ftype == TType.STRUCT:
|
|
996
|
+
self.env = EnvironmentVariables()
|
|
997
|
+
self.env.read(iprot)
|
|
998
|
+
else:
|
|
999
|
+
iprot.skip(ftype)
|
|
1000
|
+
elif fid == 2:
|
|
1001
|
+
if ftype == TType.STRUCT:
|
|
1002
|
+
self.conf = ConfigProperties()
|
|
1003
|
+
self.conf.read(iprot)
|
|
1004
|
+
else:
|
|
1005
|
+
iprot.skip(ftype)
|
|
1006
|
+
elif fid == 3:
|
|
1007
|
+
if ftype == TType.I64:
|
|
1008
|
+
self.dependencyPollIntervalMillis = iprot.readI64()
|
|
1009
|
+
else:
|
|
1010
|
+
iprot.skip(ftype)
|
|
1011
|
+
elif fid == 4:
|
|
1012
|
+
if ftype == TType.I64:
|
|
1013
|
+
self.healthCheckIntervalMillis = iprot.readI64()
|
|
1014
|
+
else:
|
|
1015
|
+
iprot.skip(ftype)
|
|
1016
|
+
elif fid == 5:
|
|
1017
|
+
if ftype == TType.STRUCT:
|
|
1018
|
+
self.clusterConf = ClusterConfigProperties()
|
|
1019
|
+
self.clusterConf.read(iprot)
|
|
1020
|
+
else:
|
|
1021
|
+
iprot.skip(ftype)
|
|
1022
|
+
elif fid == 10:
|
|
1023
|
+
if ftype == TType.STRING:
|
|
1024
|
+
self.scheduleCron = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
|
|
1025
|
+
else:
|
|
1026
|
+
iprot.skip(ftype)
|
|
1027
|
+
elif fid == 11:
|
|
1028
|
+
if ftype == TType.I32:
|
|
1029
|
+
self.stepDays = iprot.readI32()
|
|
1030
|
+
else:
|
|
1031
|
+
iprot.skip(ftype)
|
|
1032
|
+
elif fid == 12:
|
|
1033
|
+
if ftype == TType.BOOL:
|
|
1034
|
+
self.historicalBackfill = iprot.readBool()
|
|
1035
|
+
else:
|
|
1036
|
+
iprot.skip(ftype)
|
|
1037
|
+
elif fid == 13:
|
|
1038
|
+
if ftype == TType.LIST:
|
|
1039
|
+
self.tableDependencies = []
|
|
1040
|
+
(_etype84, _size81) = iprot.readListBegin()
|
|
1041
|
+
for _i85 in range(_size81):
|
|
1042
|
+
_elem86 = TableDependency()
|
|
1043
|
+
_elem86.read(iprot)
|
|
1044
|
+
self.tableDependencies.append(_elem86)
|
|
1045
|
+
iprot.readListEnd()
|
|
1046
|
+
else:
|
|
1047
|
+
iprot.skip(ftype)
|
|
1048
|
+
elif fid == 14:
|
|
1049
|
+
if ftype == TType.STRUCT:
|
|
1050
|
+
self.outputTableInfo = TableInfo()
|
|
1051
|
+
self.outputTableInfo.read(iprot)
|
|
1052
|
+
else:
|
|
1053
|
+
iprot.skip(ftype)
|
|
1054
|
+
elif fid == 200:
|
|
1055
|
+
if ftype == TType.LIST:
|
|
1056
|
+
self.kvDependencies = []
|
|
1057
|
+
(_etype90, _size87) = iprot.readListBegin()
|
|
1058
|
+
for _i91 in range(_size87):
|
|
1059
|
+
_elem92 = KvDependency()
|
|
1060
|
+
_elem92.read(iprot)
|
|
1061
|
+
self.kvDependencies.append(_elem92)
|
|
1062
|
+
iprot.readListEnd()
|
|
1063
|
+
else:
|
|
1064
|
+
iprot.skip(ftype)
|
|
1065
|
+
elif fid == 201:
|
|
1066
|
+
if ftype == TType.STRUCT:
|
|
1067
|
+
self.outputKvInfo = KvInfo()
|
|
1068
|
+
self.outputKvInfo.read(iprot)
|
|
1069
|
+
else:
|
|
1070
|
+
iprot.skip(ftype)
|
|
1071
|
+
elif fid == 202:
|
|
1072
|
+
if ftype == TType.I64:
|
|
1073
|
+
self.kvPollIntervalMillis = iprot.readI64()
|
|
1074
|
+
else:
|
|
1075
|
+
iprot.skip(ftype)
|
|
1076
|
+
else:
|
|
1077
|
+
iprot.skip(ftype)
|
|
1078
|
+
iprot.readFieldEnd()
|
|
1079
|
+
iprot.readStructEnd()
|
|
1080
|
+
|
|
1081
|
+
def write(self, oprot):
|
|
1082
|
+
self.validate()
|
|
1083
|
+
if oprot._fast_encode is not None and self.thrift_spec is not None:
|
|
1084
|
+
oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
|
|
1085
|
+
return
|
|
1086
|
+
oprot.writeStructBegin('ExecutionInfo')
|
|
1087
|
+
if self.env is not None:
|
|
1088
|
+
oprot.writeFieldBegin('env', TType.STRUCT, 1)
|
|
1089
|
+
self.env.write(oprot)
|
|
1090
|
+
oprot.writeFieldEnd()
|
|
1091
|
+
if self.conf is not None:
|
|
1092
|
+
oprot.writeFieldBegin('conf', TType.STRUCT, 2)
|
|
1093
|
+
self.conf.write(oprot)
|
|
1094
|
+
oprot.writeFieldEnd()
|
|
1095
|
+
if self.dependencyPollIntervalMillis is not None:
|
|
1096
|
+
oprot.writeFieldBegin('dependencyPollIntervalMillis', TType.I64, 3)
|
|
1097
|
+
oprot.writeI64(self.dependencyPollIntervalMillis)
|
|
1098
|
+
oprot.writeFieldEnd()
|
|
1099
|
+
if self.healthCheckIntervalMillis is not None:
|
|
1100
|
+
oprot.writeFieldBegin('healthCheckIntervalMillis', TType.I64, 4)
|
|
1101
|
+
oprot.writeI64(self.healthCheckIntervalMillis)
|
|
1102
|
+
oprot.writeFieldEnd()
|
|
1103
|
+
if self.clusterConf is not None:
|
|
1104
|
+
oprot.writeFieldBegin('clusterConf', TType.STRUCT, 5)
|
|
1105
|
+
self.clusterConf.write(oprot)
|
|
1106
|
+
oprot.writeFieldEnd()
|
|
1107
|
+
if self.scheduleCron is not None:
|
|
1108
|
+
oprot.writeFieldBegin('scheduleCron', TType.STRING, 10)
|
|
1109
|
+
oprot.writeString(self.scheduleCron.encode('utf-8') if sys.version_info[0] == 2 else self.scheduleCron)
|
|
1110
|
+
oprot.writeFieldEnd()
|
|
1111
|
+
if self.stepDays is not None:
|
|
1112
|
+
oprot.writeFieldBegin('stepDays', TType.I32, 11)
|
|
1113
|
+
oprot.writeI32(self.stepDays)
|
|
1114
|
+
oprot.writeFieldEnd()
|
|
1115
|
+
if self.historicalBackfill is not None:
|
|
1116
|
+
oprot.writeFieldBegin('historicalBackfill', TType.BOOL, 12)
|
|
1117
|
+
oprot.writeBool(self.historicalBackfill)
|
|
1118
|
+
oprot.writeFieldEnd()
|
|
1119
|
+
if self.tableDependencies is not None:
|
|
1120
|
+
oprot.writeFieldBegin('tableDependencies', TType.LIST, 13)
|
|
1121
|
+
oprot.writeListBegin(TType.STRUCT, len(self.tableDependencies))
|
|
1122
|
+
for iter93 in self.tableDependencies:
|
|
1123
|
+
iter93.write(oprot)
|
|
1124
|
+
oprot.writeListEnd()
|
|
1125
|
+
oprot.writeFieldEnd()
|
|
1126
|
+
if self.outputTableInfo is not None:
|
|
1127
|
+
oprot.writeFieldBegin('outputTableInfo', TType.STRUCT, 14)
|
|
1128
|
+
self.outputTableInfo.write(oprot)
|
|
1129
|
+
oprot.writeFieldEnd()
|
|
1130
|
+
if self.kvDependencies is not None:
|
|
1131
|
+
oprot.writeFieldBegin('kvDependencies', TType.LIST, 200)
|
|
1132
|
+
oprot.writeListBegin(TType.STRUCT, len(self.kvDependencies))
|
|
1133
|
+
for iter94 in self.kvDependencies:
|
|
1134
|
+
iter94.write(oprot)
|
|
1135
|
+
oprot.writeListEnd()
|
|
1136
|
+
oprot.writeFieldEnd()
|
|
1137
|
+
if self.outputKvInfo is not None:
|
|
1138
|
+
oprot.writeFieldBegin('outputKvInfo', TType.STRUCT, 201)
|
|
1139
|
+
self.outputKvInfo.write(oprot)
|
|
1140
|
+
oprot.writeFieldEnd()
|
|
1141
|
+
if self.kvPollIntervalMillis is not None:
|
|
1142
|
+
oprot.writeFieldBegin('kvPollIntervalMillis', TType.I64, 202)
|
|
1143
|
+
oprot.writeI64(self.kvPollIntervalMillis)
|
|
1144
|
+
oprot.writeFieldEnd()
|
|
1145
|
+
oprot.writeFieldStop()
|
|
1146
|
+
oprot.writeStructEnd()
|
|
1147
|
+
|
|
1148
|
+
def validate(self):
|
|
1149
|
+
return
|
|
1150
|
+
|
|
1151
|
+
def __repr__(self):
|
|
1152
|
+
L = ['%s=%r' % (key, value)
|
|
1153
|
+
for key, value in self.__dict__.items()]
|
|
1154
|
+
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
1155
|
+
|
|
1156
|
+
def __eq__(self, other):
|
|
1157
|
+
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
1158
|
+
|
|
1159
|
+
def __ne__(self, other):
|
|
1160
|
+
return not (self == other)
|
|
1161
|
+
all_structs.append(Window)
|
|
1162
|
+
Window.thrift_spec = (
|
|
1163
|
+
None, # 0
|
|
1164
|
+
(1, TType.I32, 'length', None, None, ), # 1
|
|
1165
|
+
(2, TType.I32, 'timeUnit', None, None, ), # 2
|
|
1166
|
+
)
|
|
1167
|
+
all_structs.append(DateRange)
|
|
1168
|
+
DateRange.thrift_spec = (
|
|
1169
|
+
None, # 0
|
|
1170
|
+
(1, TType.STRING, 'startDate', 'UTF8', None, ), # 1
|
|
1171
|
+
(2, TType.STRING, 'endDate', 'UTF8', None, ), # 2
|
|
1172
|
+
)
|
|
1173
|
+
all_structs.append(EnvironmentVariables)
|
|
1174
|
+
EnvironmentVariables.thrift_spec = (
|
|
1175
|
+
None, # 0
|
|
1176
|
+
(1, TType.MAP, 'common', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), {
|
|
1177
|
+
}, ), # 1
|
|
1178
|
+
(2, TType.MAP, 'modeEnvironments', (TType.STRING, 'UTF8', TType.MAP, (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), False), {
|
|
1179
|
+
}, ), # 2
|
|
1180
|
+
)
|
|
1181
|
+
all_structs.append(ConfigProperties)
|
|
1182
|
+
ConfigProperties.thrift_spec = (
|
|
1183
|
+
None, # 0
|
|
1184
|
+
(1, TType.MAP, 'common', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), {
|
|
1185
|
+
}, ), # 1
|
|
1186
|
+
(2, TType.MAP, 'modeConfigs', (TType.STRING, 'UTF8', TType.MAP, (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), False), {
|
|
1187
|
+
}, ), # 2
|
|
1188
|
+
)
|
|
1189
|
+
all_structs.append(ClusterConfigProperties)
|
|
1190
|
+
ClusterConfigProperties.thrift_spec = (
|
|
1191
|
+
None, # 0
|
|
1192
|
+
(1, TType.MAP, 'common', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), {
|
|
1193
|
+
}, ), # 1
|
|
1194
|
+
(2, TType.MAP, 'modeClusterConfigs', (TType.STRING, 'UTF8', TType.MAP, (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), False), {
|
|
1195
|
+
}, ), # 2
|
|
1196
|
+
)
|
|
1197
|
+
all_structs.append(TableInfo)
|
|
1198
|
+
TableInfo.thrift_spec = (
|
|
1199
|
+
None, # 0
|
|
1200
|
+
(1, TType.STRING, 'table', 'UTF8', None, ), # 1
|
|
1201
|
+
None, # 2
|
|
1202
|
+
None, # 3
|
|
1203
|
+
None, # 4
|
|
1204
|
+
None, # 5
|
|
1205
|
+
None, # 6
|
|
1206
|
+
None, # 7
|
|
1207
|
+
None, # 8
|
|
1208
|
+
None, # 9
|
|
1209
|
+
None, # 10
|
|
1210
|
+
None, # 11
|
|
1211
|
+
None, # 12
|
|
1212
|
+
None, # 13
|
|
1213
|
+
None, # 14
|
|
1214
|
+
None, # 15
|
|
1215
|
+
None, # 16
|
|
1216
|
+
None, # 17
|
|
1217
|
+
None, # 18
|
|
1218
|
+
None, # 19
|
|
1219
|
+
None, # 20
|
|
1220
|
+
None, # 21
|
|
1221
|
+
None, # 22
|
|
1222
|
+
None, # 23
|
|
1223
|
+
None, # 24
|
|
1224
|
+
None, # 25
|
|
1225
|
+
None, # 26
|
|
1226
|
+
None, # 27
|
|
1227
|
+
None, # 28
|
|
1228
|
+
None, # 29
|
|
1229
|
+
None, # 30
|
|
1230
|
+
None, # 31
|
|
1231
|
+
None, # 32
|
|
1232
|
+
None, # 33
|
|
1233
|
+
None, # 34
|
|
1234
|
+
None, # 35
|
|
1235
|
+
None, # 36
|
|
1236
|
+
None, # 37
|
|
1237
|
+
None, # 38
|
|
1238
|
+
None, # 39
|
|
1239
|
+
None, # 40
|
|
1240
|
+
None, # 41
|
|
1241
|
+
None, # 42
|
|
1242
|
+
None, # 43
|
|
1243
|
+
None, # 44
|
|
1244
|
+
None, # 45
|
|
1245
|
+
None, # 46
|
|
1246
|
+
None, # 47
|
|
1247
|
+
None, # 48
|
|
1248
|
+
None, # 49
|
|
1249
|
+
None, # 50
|
|
1250
|
+
None, # 51
|
|
1251
|
+
None, # 52
|
|
1252
|
+
None, # 53
|
|
1253
|
+
None, # 54
|
|
1254
|
+
None, # 55
|
|
1255
|
+
None, # 56
|
|
1256
|
+
None, # 57
|
|
1257
|
+
None, # 58
|
|
1258
|
+
None, # 59
|
|
1259
|
+
None, # 60
|
|
1260
|
+
None, # 61
|
|
1261
|
+
None, # 62
|
|
1262
|
+
None, # 63
|
|
1263
|
+
None, # 64
|
|
1264
|
+
None, # 65
|
|
1265
|
+
None, # 66
|
|
1266
|
+
None, # 67
|
|
1267
|
+
None, # 68
|
|
1268
|
+
None, # 69
|
|
1269
|
+
None, # 70
|
|
1270
|
+
None, # 71
|
|
1271
|
+
None, # 72
|
|
1272
|
+
None, # 73
|
|
1273
|
+
None, # 74
|
|
1274
|
+
None, # 75
|
|
1275
|
+
None, # 76
|
|
1276
|
+
None, # 77
|
|
1277
|
+
None, # 78
|
|
1278
|
+
None, # 79
|
|
1279
|
+
None, # 80
|
|
1280
|
+
None, # 81
|
|
1281
|
+
None, # 82
|
|
1282
|
+
None, # 83
|
|
1283
|
+
None, # 84
|
|
1284
|
+
None, # 85
|
|
1285
|
+
None, # 86
|
|
1286
|
+
None, # 87
|
|
1287
|
+
None, # 88
|
|
1288
|
+
None, # 89
|
|
1289
|
+
None, # 90
|
|
1290
|
+
None, # 91
|
|
1291
|
+
None, # 92
|
|
1292
|
+
None, # 93
|
|
1293
|
+
None, # 94
|
|
1294
|
+
None, # 95
|
|
1295
|
+
None, # 96
|
|
1296
|
+
None, # 97
|
|
1297
|
+
None, # 98
|
|
1298
|
+
None, # 99
|
|
1299
|
+
(100, TType.STRING, 'partitionColumn', 'UTF8', None, ), # 100
|
|
1300
|
+
(101, TType.STRING, 'partitionFormat', 'UTF8', None, ), # 101
|
|
1301
|
+
(102, TType.STRUCT, 'partitionInterval', [Window, None], None, ), # 102
|
|
1302
|
+
None, # 103
|
|
1303
|
+
None, # 104
|
|
1304
|
+
None, # 105
|
|
1305
|
+
None, # 106
|
|
1306
|
+
None, # 107
|
|
1307
|
+
None, # 108
|
|
1308
|
+
None, # 109
|
|
1309
|
+
None, # 110
|
|
1310
|
+
None, # 111
|
|
1311
|
+
None, # 112
|
|
1312
|
+
None, # 113
|
|
1313
|
+
None, # 114
|
|
1314
|
+
None, # 115
|
|
1315
|
+
None, # 116
|
|
1316
|
+
None, # 117
|
|
1317
|
+
None, # 118
|
|
1318
|
+
None, # 119
|
|
1319
|
+
None, # 120
|
|
1320
|
+
None, # 121
|
|
1321
|
+
None, # 122
|
|
1322
|
+
None, # 123
|
|
1323
|
+
None, # 124
|
|
1324
|
+
None, # 125
|
|
1325
|
+
None, # 126
|
|
1326
|
+
None, # 127
|
|
1327
|
+
None, # 128
|
|
1328
|
+
None, # 129
|
|
1329
|
+
None, # 130
|
|
1330
|
+
None, # 131
|
|
1331
|
+
None, # 132
|
|
1332
|
+
None, # 133
|
|
1333
|
+
None, # 134
|
|
1334
|
+
None, # 135
|
|
1335
|
+
None, # 136
|
|
1336
|
+
None, # 137
|
|
1337
|
+
None, # 138
|
|
1338
|
+
None, # 139
|
|
1339
|
+
None, # 140
|
|
1340
|
+
None, # 141
|
|
1341
|
+
None, # 142
|
|
1342
|
+
None, # 143
|
|
1343
|
+
None, # 144
|
|
1344
|
+
None, # 145
|
|
1345
|
+
None, # 146
|
|
1346
|
+
None, # 147
|
|
1347
|
+
None, # 148
|
|
1348
|
+
None, # 149
|
|
1349
|
+
None, # 150
|
|
1350
|
+
None, # 151
|
|
1351
|
+
None, # 152
|
|
1352
|
+
None, # 153
|
|
1353
|
+
None, # 154
|
|
1354
|
+
None, # 155
|
|
1355
|
+
None, # 156
|
|
1356
|
+
None, # 157
|
|
1357
|
+
None, # 158
|
|
1358
|
+
None, # 159
|
|
1359
|
+
None, # 160
|
|
1360
|
+
None, # 161
|
|
1361
|
+
None, # 162
|
|
1362
|
+
None, # 163
|
|
1363
|
+
None, # 164
|
|
1364
|
+
None, # 165
|
|
1365
|
+
None, # 166
|
|
1366
|
+
None, # 167
|
|
1367
|
+
None, # 168
|
|
1368
|
+
None, # 169
|
|
1369
|
+
None, # 170
|
|
1370
|
+
None, # 171
|
|
1371
|
+
None, # 172
|
|
1372
|
+
None, # 173
|
|
1373
|
+
None, # 174
|
|
1374
|
+
None, # 175
|
|
1375
|
+
None, # 176
|
|
1376
|
+
None, # 177
|
|
1377
|
+
None, # 178
|
|
1378
|
+
None, # 179
|
|
1379
|
+
None, # 180
|
|
1380
|
+
None, # 181
|
|
1381
|
+
None, # 182
|
|
1382
|
+
None, # 183
|
|
1383
|
+
None, # 184
|
|
1384
|
+
None, # 185
|
|
1385
|
+
None, # 186
|
|
1386
|
+
None, # 187
|
|
1387
|
+
None, # 188
|
|
1388
|
+
None, # 189
|
|
1389
|
+
None, # 190
|
|
1390
|
+
None, # 191
|
|
1391
|
+
None, # 192
|
|
1392
|
+
None, # 193
|
|
1393
|
+
None, # 194
|
|
1394
|
+
None, # 195
|
|
1395
|
+
None, # 196
|
|
1396
|
+
None, # 197
|
|
1397
|
+
None, # 198
|
|
1398
|
+
None, # 199
|
|
1399
|
+
(200, TType.BOOL, 'isCumulative', None, None, ), # 200
|
|
1400
|
+
)
|
|
1401
|
+
all_structs.append(TableDependency)
|
|
1402
|
+
TableDependency.thrift_spec = (
|
|
1403
|
+
None, # 0
|
|
1404
|
+
(1, TType.STRUCT, 'tableInfo', [TableInfo, None], None, ), # 1
|
|
1405
|
+
(2, TType.STRUCT, 'startOffset', [Window, None], None, ), # 2
|
|
1406
|
+
(3, TType.STRUCT, 'endOffset', [Window, None], None, ), # 3
|
|
1407
|
+
(4, TType.STRING, 'startCutOff', 'UTF8', None, ), # 4
|
|
1408
|
+
(5, TType.STRING, 'endCutOff', 'UTF8', None, ), # 5
|
|
1409
|
+
None, # 6
|
|
1410
|
+
None, # 7
|
|
1411
|
+
None, # 8
|
|
1412
|
+
None, # 9
|
|
1413
|
+
None, # 10
|
|
1414
|
+
None, # 11
|
|
1415
|
+
None, # 12
|
|
1416
|
+
None, # 13
|
|
1417
|
+
None, # 14
|
|
1418
|
+
None, # 15
|
|
1419
|
+
None, # 16
|
|
1420
|
+
None, # 17
|
|
1421
|
+
None, # 18
|
|
1422
|
+
None, # 19
|
|
1423
|
+
None, # 20
|
|
1424
|
+
None, # 21
|
|
1425
|
+
None, # 22
|
|
1426
|
+
None, # 23
|
|
1427
|
+
None, # 24
|
|
1428
|
+
None, # 25
|
|
1429
|
+
None, # 26
|
|
1430
|
+
None, # 27
|
|
1431
|
+
None, # 28
|
|
1432
|
+
None, # 29
|
|
1433
|
+
None, # 30
|
|
1434
|
+
None, # 31
|
|
1435
|
+
None, # 32
|
|
1436
|
+
None, # 33
|
|
1437
|
+
None, # 34
|
|
1438
|
+
None, # 35
|
|
1439
|
+
None, # 36
|
|
1440
|
+
None, # 37
|
|
1441
|
+
None, # 38
|
|
1442
|
+
None, # 39
|
|
1443
|
+
None, # 40
|
|
1444
|
+
None, # 41
|
|
1445
|
+
None, # 42
|
|
1446
|
+
None, # 43
|
|
1447
|
+
None, # 44
|
|
1448
|
+
None, # 45
|
|
1449
|
+
None, # 46
|
|
1450
|
+
None, # 47
|
|
1451
|
+
None, # 48
|
|
1452
|
+
None, # 49
|
|
1453
|
+
None, # 50
|
|
1454
|
+
None, # 51
|
|
1455
|
+
None, # 52
|
|
1456
|
+
None, # 53
|
|
1457
|
+
None, # 54
|
|
1458
|
+
None, # 55
|
|
1459
|
+
None, # 56
|
|
1460
|
+
None, # 57
|
|
1461
|
+
None, # 58
|
|
1462
|
+
None, # 59
|
|
1463
|
+
None, # 60
|
|
1464
|
+
None, # 61
|
|
1465
|
+
None, # 62
|
|
1466
|
+
None, # 63
|
|
1467
|
+
None, # 64
|
|
1468
|
+
None, # 65
|
|
1469
|
+
None, # 66
|
|
1470
|
+
None, # 67
|
|
1471
|
+
None, # 68
|
|
1472
|
+
None, # 69
|
|
1473
|
+
None, # 70
|
|
1474
|
+
None, # 71
|
|
1475
|
+
None, # 72
|
|
1476
|
+
None, # 73
|
|
1477
|
+
None, # 74
|
|
1478
|
+
None, # 75
|
|
1479
|
+
None, # 76
|
|
1480
|
+
None, # 77
|
|
1481
|
+
None, # 78
|
|
1482
|
+
None, # 79
|
|
1483
|
+
None, # 80
|
|
1484
|
+
None, # 81
|
|
1485
|
+
None, # 82
|
|
1486
|
+
None, # 83
|
|
1487
|
+
None, # 84
|
|
1488
|
+
None, # 85
|
|
1489
|
+
None, # 86
|
|
1490
|
+
None, # 87
|
|
1491
|
+
None, # 88
|
|
1492
|
+
None, # 89
|
|
1493
|
+
None, # 90
|
|
1494
|
+
None, # 91
|
|
1495
|
+
None, # 92
|
|
1496
|
+
None, # 93
|
|
1497
|
+
None, # 94
|
|
1498
|
+
None, # 95
|
|
1499
|
+
None, # 96
|
|
1500
|
+
None, # 97
|
|
1501
|
+
None, # 98
|
|
1502
|
+
None, # 99
|
|
1503
|
+
None, # 100
|
|
1504
|
+
None, # 101
|
|
1505
|
+
None, # 102
|
|
1506
|
+
None, # 103
|
|
1507
|
+
None, # 104
|
|
1508
|
+
None, # 105
|
|
1509
|
+
None, # 106
|
|
1510
|
+
None, # 107
|
|
1511
|
+
None, # 108
|
|
1512
|
+
None, # 109
|
|
1513
|
+
None, # 110
|
|
1514
|
+
None, # 111
|
|
1515
|
+
None, # 112
|
|
1516
|
+
None, # 113
|
|
1517
|
+
None, # 114
|
|
1518
|
+
None, # 115
|
|
1519
|
+
None, # 116
|
|
1520
|
+
None, # 117
|
|
1521
|
+
None, # 118
|
|
1522
|
+
None, # 119
|
|
1523
|
+
None, # 120
|
|
1524
|
+
None, # 121
|
|
1525
|
+
None, # 122
|
|
1526
|
+
None, # 123
|
|
1527
|
+
None, # 124
|
|
1528
|
+
None, # 125
|
|
1529
|
+
None, # 126
|
|
1530
|
+
None, # 127
|
|
1531
|
+
None, # 128
|
|
1532
|
+
None, # 129
|
|
1533
|
+
None, # 130
|
|
1534
|
+
None, # 131
|
|
1535
|
+
None, # 132
|
|
1536
|
+
None, # 133
|
|
1537
|
+
None, # 134
|
|
1538
|
+
None, # 135
|
|
1539
|
+
None, # 136
|
|
1540
|
+
None, # 137
|
|
1541
|
+
None, # 138
|
|
1542
|
+
None, # 139
|
|
1543
|
+
None, # 140
|
|
1544
|
+
None, # 141
|
|
1545
|
+
None, # 142
|
|
1546
|
+
None, # 143
|
|
1547
|
+
None, # 144
|
|
1548
|
+
None, # 145
|
|
1549
|
+
None, # 146
|
|
1550
|
+
None, # 147
|
|
1551
|
+
None, # 148
|
|
1552
|
+
None, # 149
|
|
1553
|
+
None, # 150
|
|
1554
|
+
None, # 151
|
|
1555
|
+
None, # 152
|
|
1556
|
+
None, # 153
|
|
1557
|
+
None, # 154
|
|
1558
|
+
None, # 155
|
|
1559
|
+
None, # 156
|
|
1560
|
+
None, # 157
|
|
1561
|
+
None, # 158
|
|
1562
|
+
None, # 159
|
|
1563
|
+
None, # 160
|
|
1564
|
+
None, # 161
|
|
1565
|
+
None, # 162
|
|
1566
|
+
None, # 163
|
|
1567
|
+
None, # 164
|
|
1568
|
+
None, # 165
|
|
1569
|
+
None, # 166
|
|
1570
|
+
None, # 167
|
|
1571
|
+
None, # 168
|
|
1572
|
+
None, # 169
|
|
1573
|
+
None, # 170
|
|
1574
|
+
None, # 171
|
|
1575
|
+
None, # 172
|
|
1576
|
+
None, # 173
|
|
1577
|
+
None, # 174
|
|
1578
|
+
None, # 175
|
|
1579
|
+
None, # 176
|
|
1580
|
+
None, # 177
|
|
1581
|
+
None, # 178
|
|
1582
|
+
None, # 179
|
|
1583
|
+
None, # 180
|
|
1584
|
+
None, # 181
|
|
1585
|
+
None, # 182
|
|
1586
|
+
None, # 183
|
|
1587
|
+
None, # 184
|
|
1588
|
+
None, # 185
|
|
1589
|
+
None, # 186
|
|
1590
|
+
None, # 187
|
|
1591
|
+
None, # 188
|
|
1592
|
+
None, # 189
|
|
1593
|
+
None, # 190
|
|
1594
|
+
None, # 191
|
|
1595
|
+
None, # 192
|
|
1596
|
+
None, # 193
|
|
1597
|
+
None, # 194
|
|
1598
|
+
None, # 195
|
|
1599
|
+
None, # 196
|
|
1600
|
+
None, # 197
|
|
1601
|
+
None, # 198
|
|
1602
|
+
None, # 199
|
|
1603
|
+
None, # 200
|
|
1604
|
+
(201, TType.BOOL, 'forceCompute', None, None, ), # 201
|
|
1605
|
+
)
|
|
1606
|
+
all_structs.append(KvInfo)
|
|
1607
|
+
KvInfo.thrift_spec = (
|
|
1608
|
+
None, # 0
|
|
1609
|
+
(1, TType.STRING, 'cluster', 'UTF8', None, ), # 1
|
|
1610
|
+
(2, TType.STRING, 'table', 'UTF8', None, ), # 2
|
|
1611
|
+
(3, TType.STRING, 'keyBase64', 'UTF8', None, ), # 3
|
|
1612
|
+
)
|
|
1613
|
+
all_structs.append(KvDependency)
|
|
1614
|
+
KvDependency.thrift_spec = (
|
|
1615
|
+
None, # 0
|
|
1616
|
+
(1, TType.STRUCT, 'kvInfo', [KvInfo, None], None, ), # 1
|
|
1617
|
+
None, # 2
|
|
1618
|
+
None, # 3
|
|
1619
|
+
None, # 4
|
|
1620
|
+
None, # 5
|
|
1621
|
+
None, # 6
|
|
1622
|
+
None, # 7
|
|
1623
|
+
None, # 8
|
|
1624
|
+
None, # 9
|
|
1625
|
+
(10, TType.I64, 'startMillis', None, None, ), # 10
|
|
1626
|
+
(11, TType.I64, 'endMillis', None, None, ), # 11
|
|
1627
|
+
None, # 12
|
|
1628
|
+
None, # 13
|
|
1629
|
+
None, # 14
|
|
1630
|
+
None, # 15
|
|
1631
|
+
None, # 16
|
|
1632
|
+
None, # 17
|
|
1633
|
+
None, # 18
|
|
1634
|
+
None, # 19
|
|
1635
|
+
(20, TType.I32, 'scanStrategy', None, None, ), # 20
|
|
1636
|
+
)
|
|
1637
|
+
all_structs.append(ExecutionInfo)
|
|
1638
|
+
ExecutionInfo.thrift_spec = (
|
|
1639
|
+
None, # 0
|
|
1640
|
+
(1, TType.STRUCT, 'env', [EnvironmentVariables, None], None, ), # 1
|
|
1641
|
+
(2, TType.STRUCT, 'conf', [ConfigProperties, None], None, ), # 2
|
|
1642
|
+
(3, TType.I64, 'dependencyPollIntervalMillis', None, None, ), # 3
|
|
1643
|
+
(4, TType.I64, 'healthCheckIntervalMillis', None, None, ), # 4
|
|
1644
|
+
(5, TType.STRUCT, 'clusterConf', [ClusterConfigProperties, None], None, ), # 5
|
|
1645
|
+
None, # 6
|
|
1646
|
+
None, # 7
|
|
1647
|
+
None, # 8
|
|
1648
|
+
None, # 9
|
|
1649
|
+
(10, TType.STRING, 'scheduleCron', 'UTF8', None, ), # 10
|
|
1650
|
+
(11, TType.I32, 'stepDays', None, None, ), # 11
|
|
1651
|
+
(12, TType.BOOL, 'historicalBackfill', None, None, ), # 12
|
|
1652
|
+
(13, TType.LIST, 'tableDependencies', (TType.STRUCT, [TableDependency, None], False), None, ), # 13
|
|
1653
|
+
(14, TType.STRUCT, 'outputTableInfo', [TableInfo, None], None, ), # 14
|
|
1654
|
+
None, # 15
|
|
1655
|
+
None, # 16
|
|
1656
|
+
None, # 17
|
|
1657
|
+
None, # 18
|
|
1658
|
+
None, # 19
|
|
1659
|
+
None, # 20
|
|
1660
|
+
None, # 21
|
|
1661
|
+
None, # 22
|
|
1662
|
+
None, # 23
|
|
1663
|
+
None, # 24
|
|
1664
|
+
None, # 25
|
|
1665
|
+
None, # 26
|
|
1666
|
+
None, # 27
|
|
1667
|
+
None, # 28
|
|
1668
|
+
None, # 29
|
|
1669
|
+
None, # 30
|
|
1670
|
+
None, # 31
|
|
1671
|
+
None, # 32
|
|
1672
|
+
None, # 33
|
|
1673
|
+
None, # 34
|
|
1674
|
+
None, # 35
|
|
1675
|
+
None, # 36
|
|
1676
|
+
None, # 37
|
|
1677
|
+
None, # 38
|
|
1678
|
+
None, # 39
|
|
1679
|
+
None, # 40
|
|
1680
|
+
None, # 41
|
|
1681
|
+
None, # 42
|
|
1682
|
+
None, # 43
|
|
1683
|
+
None, # 44
|
|
1684
|
+
None, # 45
|
|
1685
|
+
None, # 46
|
|
1686
|
+
None, # 47
|
|
1687
|
+
None, # 48
|
|
1688
|
+
None, # 49
|
|
1689
|
+
None, # 50
|
|
1690
|
+
None, # 51
|
|
1691
|
+
None, # 52
|
|
1692
|
+
None, # 53
|
|
1693
|
+
None, # 54
|
|
1694
|
+
None, # 55
|
|
1695
|
+
None, # 56
|
|
1696
|
+
None, # 57
|
|
1697
|
+
None, # 58
|
|
1698
|
+
None, # 59
|
|
1699
|
+
None, # 60
|
|
1700
|
+
None, # 61
|
|
1701
|
+
None, # 62
|
|
1702
|
+
None, # 63
|
|
1703
|
+
None, # 64
|
|
1704
|
+
None, # 65
|
|
1705
|
+
None, # 66
|
|
1706
|
+
None, # 67
|
|
1707
|
+
None, # 68
|
|
1708
|
+
None, # 69
|
|
1709
|
+
None, # 70
|
|
1710
|
+
None, # 71
|
|
1711
|
+
None, # 72
|
|
1712
|
+
None, # 73
|
|
1713
|
+
None, # 74
|
|
1714
|
+
None, # 75
|
|
1715
|
+
None, # 76
|
|
1716
|
+
None, # 77
|
|
1717
|
+
None, # 78
|
|
1718
|
+
None, # 79
|
|
1719
|
+
None, # 80
|
|
1720
|
+
None, # 81
|
|
1721
|
+
None, # 82
|
|
1722
|
+
None, # 83
|
|
1723
|
+
None, # 84
|
|
1724
|
+
None, # 85
|
|
1725
|
+
None, # 86
|
|
1726
|
+
None, # 87
|
|
1727
|
+
None, # 88
|
|
1728
|
+
None, # 89
|
|
1729
|
+
None, # 90
|
|
1730
|
+
None, # 91
|
|
1731
|
+
None, # 92
|
|
1732
|
+
None, # 93
|
|
1733
|
+
None, # 94
|
|
1734
|
+
None, # 95
|
|
1735
|
+
None, # 96
|
|
1736
|
+
None, # 97
|
|
1737
|
+
None, # 98
|
|
1738
|
+
None, # 99
|
|
1739
|
+
None, # 100
|
|
1740
|
+
None, # 101
|
|
1741
|
+
None, # 102
|
|
1742
|
+
None, # 103
|
|
1743
|
+
None, # 104
|
|
1744
|
+
None, # 105
|
|
1745
|
+
None, # 106
|
|
1746
|
+
None, # 107
|
|
1747
|
+
None, # 108
|
|
1748
|
+
None, # 109
|
|
1749
|
+
None, # 110
|
|
1750
|
+
None, # 111
|
|
1751
|
+
None, # 112
|
|
1752
|
+
None, # 113
|
|
1753
|
+
None, # 114
|
|
1754
|
+
None, # 115
|
|
1755
|
+
None, # 116
|
|
1756
|
+
None, # 117
|
|
1757
|
+
None, # 118
|
|
1758
|
+
None, # 119
|
|
1759
|
+
None, # 120
|
|
1760
|
+
None, # 121
|
|
1761
|
+
None, # 122
|
|
1762
|
+
None, # 123
|
|
1763
|
+
None, # 124
|
|
1764
|
+
None, # 125
|
|
1765
|
+
None, # 126
|
|
1766
|
+
None, # 127
|
|
1767
|
+
None, # 128
|
|
1768
|
+
None, # 129
|
|
1769
|
+
None, # 130
|
|
1770
|
+
None, # 131
|
|
1771
|
+
None, # 132
|
|
1772
|
+
None, # 133
|
|
1773
|
+
None, # 134
|
|
1774
|
+
None, # 135
|
|
1775
|
+
None, # 136
|
|
1776
|
+
None, # 137
|
|
1777
|
+
None, # 138
|
|
1778
|
+
None, # 139
|
|
1779
|
+
None, # 140
|
|
1780
|
+
None, # 141
|
|
1781
|
+
None, # 142
|
|
1782
|
+
None, # 143
|
|
1783
|
+
None, # 144
|
|
1784
|
+
None, # 145
|
|
1785
|
+
None, # 146
|
|
1786
|
+
None, # 147
|
|
1787
|
+
None, # 148
|
|
1788
|
+
None, # 149
|
|
1789
|
+
None, # 150
|
|
1790
|
+
None, # 151
|
|
1791
|
+
None, # 152
|
|
1792
|
+
None, # 153
|
|
1793
|
+
None, # 154
|
|
1794
|
+
None, # 155
|
|
1795
|
+
None, # 156
|
|
1796
|
+
None, # 157
|
|
1797
|
+
None, # 158
|
|
1798
|
+
None, # 159
|
|
1799
|
+
None, # 160
|
|
1800
|
+
None, # 161
|
|
1801
|
+
None, # 162
|
|
1802
|
+
None, # 163
|
|
1803
|
+
None, # 164
|
|
1804
|
+
None, # 165
|
|
1805
|
+
None, # 166
|
|
1806
|
+
None, # 167
|
|
1807
|
+
None, # 168
|
|
1808
|
+
None, # 169
|
|
1809
|
+
None, # 170
|
|
1810
|
+
None, # 171
|
|
1811
|
+
None, # 172
|
|
1812
|
+
None, # 173
|
|
1813
|
+
None, # 174
|
|
1814
|
+
None, # 175
|
|
1815
|
+
None, # 176
|
|
1816
|
+
None, # 177
|
|
1817
|
+
None, # 178
|
|
1818
|
+
None, # 179
|
|
1819
|
+
None, # 180
|
|
1820
|
+
None, # 181
|
|
1821
|
+
None, # 182
|
|
1822
|
+
None, # 183
|
|
1823
|
+
None, # 184
|
|
1824
|
+
None, # 185
|
|
1825
|
+
None, # 186
|
|
1826
|
+
None, # 187
|
|
1827
|
+
None, # 188
|
|
1828
|
+
None, # 189
|
|
1829
|
+
None, # 190
|
|
1830
|
+
None, # 191
|
|
1831
|
+
None, # 192
|
|
1832
|
+
None, # 193
|
|
1833
|
+
None, # 194
|
|
1834
|
+
None, # 195
|
|
1835
|
+
None, # 196
|
|
1836
|
+
None, # 197
|
|
1837
|
+
None, # 198
|
|
1838
|
+
None, # 199
|
|
1839
|
+
(200, TType.LIST, 'kvDependencies', (TType.STRUCT, [KvDependency, None], False), None, ), # 200
|
|
1840
|
+
(201, TType.STRUCT, 'outputKvInfo', [KvInfo, None], None, ), # 201
|
|
1841
|
+
(202, TType.I64, 'kvPollIntervalMillis', None, None, ), # 202
|
|
1842
|
+
)
|
|
1843
|
+
fix_spec(all_structs)
|
|
1844
|
+
del all_structs
|