-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain_report.py
326 lines (242 loc) · 34.7 KB
/
main_report.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
from pyspark.sql import HiveContext
from pyspark.sql import SQLContext, Row
from pyspark.sql import DataFrameWriter
from pyspark import StorageLevel
import sys
from pyspark.sql.functions import monotonically_increasing_id
def minmaxBigInt(iterator):
firsttime = 0
min = 0;
max = 0;
for x in iterator:
if(x!= '' and x!='NULL' and x is not None):
y=long(x)
print y
if (firsttime == 0):
min = y;
max = y;
firsttime = 1
else:
if y > max:
max = y
if y < min:
min = y
return (min, max)
def minmaxDouble(iterator):
firsttime = 0
min = 0;
max = 0;
for x in iterator:
if(x!= '' and x!='NULL' and x is not None):
y=float(x)
print y
if (firsttime == 0):
min = y;
max = y;
firsttime = 1
else:
if y > max:
max = y
if y < min:
min = y
return (min, max)
def minmaxStr(iterator):
return (0, 0)
def minmaxInt(iterator):
firsttime = 0
min = 0
max = 0
for x in iterator:
if(x!= '' and x!='NULL' and x is not None):
y=int(x)
if (firsttime == 0):
min = y;
max = y;
firsttime = 1
else:
if y > max:
max = y
if y < min:
min = y
return (min, max)
def createTable(result,n_cols,sqlContext):
result=result.persist(StorageLevel.MEMORY_AND_DISK)
if(n_cols==2):
rows= result.map(lambda (a,b): Row(column1=a,column2=b))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==3):
rows= result.map(lambda a: Row(column1=a[0][0],column2=a[0][1],column3=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==4):
rows=result.map(lambda a: Row(column1=a[0][0][0],column2=a[0][0][1],column3=a[0][1],column4=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==5):
rows=result.map(lambda a: Row(column1=a[0][0][0][0],column2=a[0][0][0][1],column3=a[0][0][1],column4=a[0][1],column5=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==6):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0],column2=a[0][0][0][0][1],column3=a[0][0][0][1],column4=a[0][0][1],column5=a[0][1],column6=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==7):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0],column2=a[0][0][0][0][0][1],column3=a[0][0][0][0][1],column4=a[0][0][0][1],column5=a[0][0][1],column6=a[0][1],column7=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==8):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][1],column3=a[0][0][0][0][0][1],column4=a[0][0][0][0][1],column5=a[0][0][0][1],column6=a[0][0][1],column7=a[0][1],column8=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==9):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][1],column4=a[0][0][0][0][0][1],column5=a[0][0][0][0][1],column6=a[0][0][0][1],column7=a[0][0][1],column8=a[0][1],column9=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==10):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][1],column5=a[0][0][0][0][0][1],column6=a[0][0][0][0][1],column7=a[0][0][0][1],column8=a[0][0][1],column9=a[0][1],column10=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==11):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][1],column6=a[0][0][0][0][0][1],column7=a[0][0][0][0][1],column8=a[0][0][0][1],column9=a[0][0][1],column10=a[0][1],column11=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==12):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][1],column7=a[0][0][0][0][0][1],column8=a[0][0][0][0][1],column9=a[0][0][0][1],column10=a[0][0][1],column11=a[0][1],column12=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==13):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][1],column8=a[0][0][0][0][0][1],column9=a[0][0][0][0][1],column10=a[0][0][0][1],column11=a[0][0][1],column12=a[0][1],column13=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==14):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][1],column9=a[0][0][0][0][0][1],column10=a[0][0][0][0][1],column11=a[0][0][0][1],column12=a[0][0][1],column13=a[0][1],column14=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==15):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][1],column10=a[0][0][0][0][0][1],column11=a[0][0][0][0][1],column12=a[0][0][0][1],column13=a[0][0][1],column14=a[0][1],column15=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
if(n_cols==16):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][1],column11=a[0][0][0][0][0][1],column12=a[0][0][0][0][1],column13=a[0][0][0][1],column14=a[0][0][1],column15=a[0][1],column16=a[1]))
if(n_cols==17):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][1],column12=a[0][0][0][0][0][1],column13=a[0][0][0][0][1],column14=a[0][0][0][1],column15=a[0][0][1],column16=a[0][1],column17=a[1]))
if(n_cols==18):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][1],column13=a[0][0][0][0][0][1],column14=a[0][0][0][0][1],column15=a[0][0][0][1],column16=a[0][0][1],column17=a[0][1],column18=a[1]))
if(n_cols==19):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][1],column14=a[0][0][0][0][0][1],column15=a[0][0][0][0][1],column16=a[0][0][0][1],column17=a[0][0][1],column18=a[0][1],column19=a[1]))
if(n_cols==20):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][1],column15=a[0][0][0][0][0][1],column16=a[0][0][0][0][1],column17=a[0][0][0][1],column18=a[0][0][1],column19=a[0][1],column20=a[1]))
if(n_cols==21):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][1],column16=a[0][0][0][0][0][1],column17=a[0][0][0][0][1],column18=a[0][0][0][1],column19=a[0][0][1],column20=a[0][1],column21=a[1]))
if(n_cols==22):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][1],column17=a[0][0][0][0][0][1],column18=a[0][0][0][0][1],column19=a[0][0][0][1],column20=a[0][0][1],column21=a[0][1],column22=a[1]))
if(n_cols==23):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][0][1],column17=a[0][0][0][0][0][0][1],column18=a[0][0][0][0][0][1],column19=a[0][0][0][0][1],column20=a[0][0][0][1],column21=a[0][0][1],column22=a[0][1],column23=a[1]))
if(n_cols==24):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][0][0][1],column17=a[0][0][0][0][0][0][0][1],column18=a[0][0][0][0][0][0][1],column19=a[0][0][0][0][0][1],column20=a[0][0][0][0][1],column21=a[0][0][0][1],column22=a[0][0][1],column23=a[0][1],column24=a[1]))
if(n_cols==25):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][0][0][0][1],column17=a[0][0][0][0][0][0][0][0][1],column18=a[0][0][0][0][0][0][0][1],column19=a[0][0][0][0][0][0][1],column20=a[0][0][0][0][0][1],column21=a[0][0][0][0][1],column22=a[0][0][0][1],column23=a[0][0][1],column24=a[0][1],column25=a[1]))
if(n_cols==26):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][0][0][0][0][1],column17=a[0][0][0][0][0][0][0][0][0][1],column18=a[0][0][0][0][0][0][0][0][1],column19=a[0][0][0][0][0][0][0][1],column20=a[0][0][0][0][0][0][1],column21=a[0][0][0][0][0][1],column22=a[0][0][0][0][1],column23=a[0][0][0][1],column24=a[0][0][1],column25=a[0][1],column26=a[1]))
if(n_cols==27):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][0][0][0][0][0][1],column17=a[0][0][0][0][0][0][0][0][0][0][1],column18=a[0][0][0][0][0][0][0][0][0][1],column19=a[0][0][0][0][0][0][0][0][1],column20=a[0][0][0][0][0][0][0][1],column21=a[0][0][0][0][0][0][1],column22=a[0][0][0][0][0][1],column23=a[0][0][0][0][1],column24=a[0][0][0][1],column25=a[0][0][1],column26=a[0][1],column27=a[1]))
if(n_cols==28):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column17=a[0][0][0][0][0][0][0][0][0][0][0][1],column18=a[0][0][0][0][0][0][0][0][0][0][1],column19=a[0][0][0][0][0][0][0][0][0][1],column20=a[0][0][0][0][0][0][0][0][1],column21=a[0][0][0][0][0][0][0][1],column22=a[0][0][0][0][0][0][1],column23=a[0][0][0][0][0][1],column24=a[0][0][0][0][1],column25=a[0][0][0][1],column26=a[0][0][1],column27=a[0][1],column28=a[1]))
if(n_cols==29):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column17=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column18=a[0][0][0][0][0][0][0][0][0][0][0][1],column19=a[0][0][0][0][0][0][0][0][0][0][1],column20=a[0][0][0][0][0][0][0][0][0][1],column21=a[0][0][0][0][0][0][0][0][1],column22=a[0][0][0][0][0][0][0][1],column23=a[0][0][0][0][0][0][1],column24=a[0][0][0][0][0][1],column25=a[0][0][0][0][1],column26=a[0][0][0][1],column27=a[0][0][1],column28=a[0][1],column29=a[1]))
if(n_cols==30):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column17=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column18=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column19=a[0][0][0][0][0][0][0][0][0][0][0][1],column20=a[0][0][0][0][0][0][0][0][0][0][1],column21=a[0][0][0][0][0][0][0][0][0][1],column22=a[0][0][0][0][0][0][0][0][1],column23=a[0][0][0][0][0][0][0][1],column24=a[0][0][0][0][0][0][1],column25=a[0][0][0][0][0][1],column26=a[0][0][0][0][1],column27=a[0][0][0][1],column28=a[0][0][1],column29=a[0][1],column30=a[1]))
if(n_cols==31):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column17=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column18=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column19=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column20=a[0][0][0][0][0][0][0][0][0][0][0][1],column21=a[0][0][0][0][0][0][0][0][0][0][1],column22=a[0][0][0][0][0][0][0][0][0][1],column23=a[0][0][0][0][0][0][0][0][1],column24=a[0][0][0][0][0][0][0][1],column25=a[0][0][0][0][0][0][1],column26=a[0][0][0][0][0][1],column27=a[0][0][0][0][1],column28=a[0][0][0][1],column29=a[0][0][1],column30=a[0][1],column31=a[1]))
if(n_cols==32):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column17=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column18=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column19=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column20=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column21=a[0][0][0][0][0][0][0][0][0][0][0][1],column22=a[0][0][0][0][0][0][0][0][0][0][1],column23=a[0][0][0][0][0][0][0][0][0][1],column24=a[0][0][0][0][0][0][0][0][1],column25=a[0][0][0][0][0][0][0][1],column26=a[0][0][0][0][0][0][1],column27=a[0][0][0][0][0][1],column28=a[0][0][0][0][1],column29=a[0][0][0][1],column30=a[0][0][1],column31=a[0][1],column32=a[1]))
if(n_cols==33):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column17=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column18=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column19=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column20=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column21=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column22=a[0][0][0][0][0][0][0][0][0][0][0][1],column23=a[0][0][0][0][0][0][0][0][0][0][1],column24=a[0][0][0][0][0][0][0][0][0][1],column25=a[0][0][0][0][0][0][0][0][1],column26=a[0][0][0][0][0][0][0][1],column27=a[0][0][0][0][0][0][1],column28=a[0][0][0][0][0][1],column29=a[0][0][0][0][1],column30=a[0][0][0][1],column31=a[0][0][1],column32=a[0][1],column33=a[1]))
if(n_cols==34):
rows=result.map(lambda a: Row(column1=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0],column2=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column3=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column4=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column5=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column6=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column7=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column8=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column9=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column10=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column11=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column12=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column13=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column14=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column15=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column16=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column17=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column18=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column19=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column20=a[0][0][0][0][0][0][0][0][0][0][0][0][0][0][1],column21=a[0][0][0][0][0][0][0][0][0][0][0][0][0][1],column22=a[0][0][0][0][0][0][0][0][0][0][0][0][1],column23=a[0][0][0][0][0][0][0][0][0][0][0][1],column24=a[0][0][0][0][0][0][0][0][0][0][1],column25=a[0][0][0][0][0][0][0][0][0][1],column26=a[0][0][0][0][0][0][0][0][1],column27=a[0][0][0][0][0][0][0][1],column28=a[0][0][0][0][0][0][1],column29=a[0][0][0][0][0][1],column30=a[0][0][0][0][1],column31=a[0][0][0][1],column32=a[0][0][1],column33=a[0][1],column34=a[1]))
dataFrame = sqlContext.createDataFrame(rows)
return dataFrame
def show(index, iterator):
for x in iterator:
yield index,x
if __name__ == "__main__":
#Printing metadata
sc=SparkContext()
file=sc.textFile(sys.argv[1])
print sys.argv[1]
print sys.argv[2]
print sys.argv[3]
print sys.argv[4]
#we got the data types and column names
data_types=sys.argv[3].split("\n")
column_names=sys.argv[5].split("\n")
#Select SubPartitions %
#print "COUNT"
#print result.count()
n_part=file.getNumPartitions()
per=sys.argv[6]
final=(n_part*int(per))/100
test=file.mapPartitionsWithIndex(show)
sample=test.filter(lambda (x,y): x<final )
#sample=test
file=sample.map(lambda x: x[1])
#print "AFTER COUNT"
#print result.count()
#End Select Subpartitions %
#we split per column using the delimitator from metadata
delim=sys.argv[4]
split=file.map(lambda x:x.split(delim))
#we have to analyze each partition individually, we use mapPartitions to analyze it individuallyW
col=split.map(lambda x: x[0])
if (data_types[0]=='int'):
result=col.mapPartitions(minmaxInt)
if (data_types[0]=='string'):
result=col.mapPartitions(minmaxStr)
if (data_types[0]=='bigint'):
result=col.mapPartitions(minmaxBigInt)
if (data_types[0]=='double'):
result=col.mapPartitions(minmaxDouble)
n_cols=int(sys.argv[2])
for i in range(1,n_cols):
col=split.map(lambda x: x[i])
if (data_types[i]=='int'):
res=col.mapPartitions(minmaxInt)
result=result.zip(res)
if (data_types[i]=='string'):
res=col.mapPartitions(minmaxStr)
result=result.zip(res)
if (data_types[i]=='bigint'):
res=col.mapPartitions(minmaxBigInt)
result=result.zip(res)
if (data_types[i]=='double'):
res=col.mapPartitions(minmaxDouble)
result=result.zip(res)
sqlContext = HiveContext(sc)
dataFrame=createTable(result,n_cols,sqlContext)
#We create an index for the query
dataFrame=dataFrame.withColumn("BLOCK_NUMBER", monotonically_increasing_id())
dataFrame.registerTempTable("COLUMN_REPORT")
result=sqlContext.sql("""SELECT ((1 - SUM(CASE
WHEN (next_min - current_max) >= 0 THEN
(next_min - current_max)
ELSE
(current_max - current_min)
END) / SUM(current_max - current_min )) * 100) AS elig
FROM (SELECT * FROM (SELECT column1 AS current_min,
lead(column1,
1) over(ORDER BY BLOCK_NUMBER) AS current_max,
lead(column1,
2) over(ORDER BY BLOCK_NUMBER) AS next_min,
Row_Number() OVER(ORDER BY BLOCK_NUMBER) RowNumber FROM COLUMN_REPORT) as t2
where pmod(RowNumber,2)!=0 AND next_min IS NOT NULL) as t3 """)
r= result.map(lambda (a): Row(column=column_names[0],el_si=a))
r2 = sqlContext.createDataFrame(r)
r2.write.saveAsTable("result")
for i in range(1,n_cols):
result=sqlContext.sql("""SELECT ((1 - SUM(CASE
WHEN (next_min - current_max) >= 0 THEN
(next_min - current_max)
ELSE
(current_max - current_min)
END) / SUM(current_max - current_min)) * 100) AS elig
FROM (SELECT * FROM (SELECT """+ "column"+str(i+1)+""" AS current_min,
lead("""+ "column"+str(i+1)+""",
1) over(ORDER BY BLOCK_NUMBER) AS current_max,
lead("""+ "column"+str(i+1)+""",
2) over(ORDER BY BLOCK_NUMBER) AS next_min,
Row_Number() OVER(ORDER BY BLOCK_NUMBER) RowNumber FROM COLUMN_REPORT) as t2
where pmod(RowNumber,2)!=0 AND next_min IS NOT NULL) as t3 """)
result=result.na.fill(-1)
r= result.map(lambda (a): Row(column=column_names[i],el_si=a))
r2 = sqlContext.createDataFrame(r)
r2.write.mode("append").saveAsTable("result")
sc.stop()