From a49dd0c4ee1b89616164721e39362619fdfb5f62 Mon Sep 17 00:00:00 2001 From: Dhanush Patel Date: Mon, 30 Mar 2020 00:05:11 -0700 Subject: [PATCH] adding spark job example --- .dockerignore | 6 ------ Dockerfile | 28 ---------------------------- Pipfile | 2 +- mnist_model.joblib | Bin 63937 -> 0 bytes mnist_model.pkl | Bin 63937 -> 0 bytes testspark.py | 7 +++++++ 6 files changed, 8 insertions(+), 35 deletions(-) delete mode 100644 .dockerignore delete mode 100644 Dockerfile delete mode 100644 mnist_model.joblib delete mode 100644 mnist_model.pkl create mode 100644 testspark.py diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 0015c6b..0000000 --- a/.dockerignore +++ /dev/null @@ -1,6 +0,0 @@ -Dockerfile -README.md -*.pyc -*.pyo -*.pyd -__pycache__ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 3903dbd..0000000 --- a/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -# Use the official lightweight Python image. -# https://hub.docker.com/_/python -FROM python:3.8.1-slim - -# Copy local code to the container image. -ENV APP_HOME /app -WORKDIR $APP_HOME - -# https://github.com/moby/moby/issues/28617 -#*COPY_ENV_VARS_HERE* -ENV GCS_BUCKET_NAME shakti0 -ENV GOOGLE_APPLICATION_CREDENTIALS gcs_creds.json -ENV PROJECT_ID shakti123 -ENV GCP_EMAIL personalprojects0@gmail.com - - -# must run deploy command from folder containing server code -COPY . ./ - -# Install production dependencies. -RUN pip install Flask gunicorn joblib python-dotenv numpy scikit-learn - -# Run the web service on container startup. Here we use the gunicorn -# webserver, with one worker process and 2 threads. -# For environments with multiple CPU cores, increase the number of workers -# to be equal to the cores available. -# to make app:app true, flask server variable name (left side of :) must be app -CMD exec gunicorn --bind :$PORT --workers 1 --threads 2 app:app \ No newline at end of file diff --git a/Pipfile b/Pipfile index b5846df..b723d01 100644 --- a/Pipfile +++ b/Pipfile @@ -8,4 +8,4 @@ verify_ssl = true [packages] [requires] -python_version = "3.8" +python_version = "3.7" diff --git a/mnist_model.joblib b/mnist_model.joblib deleted file mode 100644 index 6324ec704ece9672d1fb01fa49a42f24e54acbce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63937 zcmeEvc|2BK_jgG|ii#wXRFaU&)ZkiXg%m|9WtN%CJkRqy&$G*vp-3cL+tgr|SxE{> zDI$rc*WL5d=grUC-Jtt^ejokOviI40t@Zt`bH?XsMD){@*`j)GryS8yjmG=#yfX?RLa2x5W}L%M&kKw#-mnUs>10 z61zg4V5X$I4@)RdIP-^^sj@D1rKkLgnZHd8bg@KYP!##szbN_TGgU%ZVli;BdMuVh zX)V8Irb0u@L{UrMMBPYL-OvQP%0qtLOyyjKqOq#-jE9%7BofQz$!3nI>M9!>E1Iio zUD7ncl1hE4Gg8)9Gtg5sHc>WF$F7!=Cz@$zY@lnVZiFTK;*+uRC1vay`BgLZdde1x zS~J$LYbDg=SN~OEs%xU9_(d(2{7Y+PQxgL$#TSe-DpU-N)v@a&mdTUOG&WZ@`eMh( z1iRkziyeJMZ37i!>;|bX+I9CS8Y!D-8DJ^@Q~sh>-B=Mzr8?70S4)Lm-&D`gQqfRL zb%uUYslN&WMn=k(XN;5$4b_cEu^VSNrnbdyV*aAf*i_{|p3$g&=}4-tru zYG9PiT+9s zm6;s+D|osy9P01Gu5`l^$zX}yv8!aTB+L@a|AI;S|AJXP3x@1JVAjZB*M0>8b)|`orCcWl=f}p{R zW%-Zadt|Vzvwk1Jvi-k)FEhcit7z`@Fjbkcw)Ag_fh7i(82FH5zc^ZvQs%S|?b&+skCqUjY`&-nV*9F0hLQ3N&GCA{$)8yPJPI&K<-ZIZsO* zz&`r!OQ{YY$j-U*&LhePp4xg&4{mWSKrs7EBz>0BebI5w`mtCNP8-y&4cHFWqsdwoN@j2;C?MlK z))m(2xC^9O`$2H0zm19e;>Yu6@vXV`qDHnz<%i=iyz9kVl}8ScNWiqW@`)d?iF|0h zZ{q+Ld@8!>Qw)Dt-_QELP`?5yTI~Z}b`TPJOt`-D=dT;1;&jheybOVnync52=b^y7 z`^wd>>=1C2O({rxbJZ$0ZnH~Wcj3|ApC*bp1Fh>C`yE)X9H~tvK|e!d-Ty`4xg}ImdHmJPr#p(Iv=$> z4b<$HZy@!%46WpAg%Vnlz*e$Xtmuy0oV}lo(|J3KdXl{|;QVMS4a+$6y6(#&2_E{-v!kYZhwVdgFuE&#kWs%p0Wp1M+<&<;1(6yxlQCLlqE#w~ z@?LDoLO}#C+jq7kA=+4;mzEMLbNDuq`cn0A`hm&8v(x4#IIx*^y~*m30s^*o&MUl& z0}2MaQ^bcY=GpyGoPkyhe7oLyLJIjOwe}=`P&QLZ5o?ZukbqtF*@vURi;D`!dC_6c zPHM2MtmXzol;UvD_^3z>qC0qDugO6iQYy|4ey*Q^?tb<+9e9w zwrvV8e&2cLtw4Tk_c?E{Bze{8ur3_*<6>Ri&m}_w**%V%y7BYyZKHcr@%Du=DlyoT zKXf1z6~_cz(JqchO7cR^CB{kUa3}p9zo2+DSY0*Q8t6O^*K8c5vCmdiT`~fQ7XN6r zQw1nURP~APY0tAa+x};z+={}%l`Ymlb~38D-9Hq<>c>WtYLkG!yHa}4I1!3j#a2v_ zTh6m9{6W%{ki-(H+%C^*-s*`SEh{3Zk?}<5%Wrh8ZPZ>6*U$R-v;FFb#>_VFKL)1F zuaaZjeIa*B_?SR<49Kj@pbR(?4^#{vgA_=7=i&QVd;e6wtpXzbeWNB2I~|f`&l3RF zdNft~cHuzi!DPABI}B(q9c=EtJ^%ObpYr!-?WVS#Jzykb1)IF%)c7fU;obYjY;&71 zXdt?F#P@nQq^##+zI-qMqK~Eo9A+^8ua9dW2gPb!m=7dVp4e`=G87D7G6r|DMS#aa zCn`geP&nUYL6}|a3pI|_)k7W55O&WyaJ7Nye?9J>&5xyiOAIVAu*AR;14|4nF|fqI zpJu?$ay>Tv8UMfL`R7~wP2yrT#7@`oy*_#@&t6vIzdinKS@Y5pCt3|V^!h!|^b}Jd zs@yFi3fqE_tyEX(b63}YAI^(6O@r4N;Ct1SIHku^7Q{z0aFAu^B_mYxD!eF7DiB>^ zj=Z|XCkA!O?Y1q11eDM2Q91rH^52K=+W;+4KH2ijeB`DXT1!1M5y3eS30qVj@-2-= zbnIqIb^OWbl!FrWk=^k>j89R?l71hnF6yc_uN8f0@x%QWaQBC+Z?!tGJS{awT<2na zPH_68_*$L2tFFc(sTKE6nyKNCbxHT@8j`3v|EQ>$&-N|%fTnA<-Ipa|;ah{ASz`uX z-dJ>h$CZRvhkVgEmvg*_g(uRp(95KLZZN0k+kT5xKJsj0ERstL(Ue;>vqk$MQUY~y zPrEo|^6olO6%7sv(5zIJ91fcEE2a=vJ=u~0Wt%bD6{Fen@Vzh0WX|5?jh@jxyPx+t z5V6KHxKii3%=KR^91H2~B9<7$7%8DFy)mOVRRO3ZPOV#0Faarr%4}5f!l9Ha&$n}H zgwFZ5NjQLb)2VB)(_6URVPEbXzIND}>2Icm*41~DFiS_GgOwMbyCw%Bl$}6+aHY;% z|AqWmta{1pHP~CuClOwgrzgZW0PW~(#=B=GqME+^40*v+G;!4=;zfS+oPVeJ3o;+R zzXmd6ZF>#ZX3XJ}I(wsjHBS`6)ZCCQJ{FH`V(tZH%6ZTATP**-r?+0MkYN9s!)RA5 z(epJrLFm<*&XWVt$%u1Zd6nq0bmU)hmq7VEIus;!sgI zn66*be)Oa~vU2NS(=AFtCfg$vT*?wq>ek1+!qxv=Ue4kk-*0B{-b4;jX${>v9vg(z zG`k7&Lz9qjn`<<&Vk%O#-&R_|?~Y>63x+*e5dlWS^v`!HXTzXM%7oMV9$$OFhYJtf&!A&Lhp`OJg=={U_JbiQPIecoJ`|0R#HrvUI7voS?#@-LSoIZ2?|1_>ydzYP4BG0|n zLgR6f!<|RHkSyCo+jDojIll_a^Oy$ftRNw5$M|caOgQbhjyZW(;vBw+YML;GLpY?# z*0e%?XBwgjDCIs#8H+AWYqSeg`Jf>);lno=_s{8@wfm>!M;mQI;UROB@YxN?N!ZNu zBh`Vng}FThR1B&Ll(wb=;o5tzm=t}!;?sUPP&7jDe;l8l_+1#n2qVL> z1D;%D>OXCNWK3=M6qi2|+SgOEJs=WwRE0_nhz6pA9iKC=8`%D|-dXVnUJ$w4 z)IccQ2kwY@BGav2aNdfPP?y62q=Z`hg|FLz+9xyWhFCrLdCQC2^FrCAK1I&VJV~)D zs35@`+DeO4gRg`_w@0gx(21GnS?#>cw~RRGf9UlfY6=I8QDTNiQgFcCm-Lt+C=oUm z?xDLJlL&);n1Jc{AlONewP!ogg+<3pPv#z*y7Munz1t>tK(%PW`SbpMXWt7vH3hrz zkKWteJ;5=xugzmB9PBo3-eZAFfJ21N{3~8309jgiF#%@+FqKD{KVF>xj=PxYDo(_L zi9FdVU8|fySIT;82=%oE?ftH3Jzbr5(tTnaLzkG#9J=ZqhPf_!Vpq_; zd3Kp!4~>iU&b&vV)#nfw@`G;w5ek8sd7$yT-HD%8dq9P!kn!ySPZ(rx2(JmV1IdWu zr;*iaK($-s{(TL(d2xD2b3;P8DjcJ98MAxPCSabu--VCXqUAO(dX91Nx}0Rx^b+%I zJ&P~p)1F1M_q+W5yLvX1G2jnm_hMePOA8R}>cjY|Op(8)>BIzZGn`OfSN~s+bBtiK zonu}DrpWE=XK}a3m~Hxd7_Yu+!$e&u8mTI~i)lI|zOB#DctMaZz2an7vPa?Qj>uR zpts3Te4+(cK0gerxf%e9SK7wO$HU+yeUpLh)=;4BoO&vIApoR3PVLgHb_7<7+^2n1 z>JZSzNBI23&-1|E9N?pJD;1Jr^VRFZ1K~$;X|QSy?d?4Z3i>bFD6V_M$w~QW5=}=q z+1kfJw#*SIA85DPDtZ9r(3L|xmVqF7{t(T16(~~l3?SR^PVO)iO{&sp+m4J z3Jw{Ojsz=&fL^^g5wWTRRGFMD=F3g};W!r=mfs!Jb%u7GVV=?Cq#wrRe@J+P(5NfO z@Mp*%qY!wo^JSvOWDLBBkw~3B6c6DQAxU>k!$IIqUTewzNN8Nn^HJ|WJnWC#9=w`2 z2`E;@(Mip$gSwsaL6LD!BIIpTNs{ddhF6_@j5$xdK_JB8<-Y4GkZ|AWZEtA`X4Lpq zouq(2hF{!Epu95$qr@QV+?J4s={F439nQmoe+A~f)*gA0XG2f-tulyOiv z7Sgj-c>X$?@5M3e(5L5jO8g*BX=t=IcxIhZB29BoZxZylr}*h_!ok}8FDLt_65v^^ zzvw71*#vREz&&5D4W`zET?w1uucvX~FRb;0Yl)X(tj77ZlQ6 zq7oyaXEHc~XrJvoz2C!UOdn+7JLv}@BabCiJtBcUvq074VIt5g6$P}{CxP5Gjtv@T+$eIl5B z+Tr|WX9RqH#GbT??dR74e%g?}BmDfaxp>gLqnBsN5S=T3>*u%SR`!wRE#xMMv1f1@ z)iw{bdcgVpolqCF>eC*&1cLeFC{OsWmR{UZj`3zu{k+e}7PLIqDQ)u#0O)6vd-?vy zuaDpQ^Q&d5@K;JZcomV}uB*6XM*`3)&w*E$Z$%(CC5N+Tnj%n1-&9(telS|ybpDe4 zVRN*Qy@)b-9{V%xnCR7F7Cc;SKYV>%Nbj%K4;AmHzwy};(F)a&91C$k8(&pE>d7}k zrSy%YC+~AFi04=BF7;nxV2Obx29_9DV&G3Q(3mU2@&2LKd%=8V?}YoqZtv< zu7G4NPzAz}kf(JD=Ii?ZKk3{5WXr;H@OJcvYRo%vKNpK*Ntl9j6@t&aIpN|3p}}-* zJ@8O>?xKGg2)3$YrWAJ~fW4!tjAw5WNWI8arkB8h=vkR0!wDR8h8nqTKaPX_D{m(E z^Tz?ziH#fNPK3eTabnIBZ(RTO{oViMA5kDXwrXlsI(1>z+T(_y5n=pE(w`a+FZXoCj{-&+lyh zv=d~m$S_Y@e8MP^yw7vZHlKGNe}`D}sH}FcmJ^B7oXoptA;J)n%D5B4{kZDge zO5Y}OwB+La_nwSLrcbsyI)Z@Rt!qI%^Y?f78Q*`T&sFzKZX8)SriyF$oz>R7Ib2r; zn_QA!pG0Bz@&@>tLePh3RljkEWQ23svEH;d6)h`Isi3}_guH|fR7J}=%snr->}uB6 z(s72h+8H5L>yqGAuU~)mrg#wS8s!uBvj5lQ1x*qUReGB{qBiiXsSJ!p1iRR1Z~G=A z!V;DHBEE@8K$I|1aHHFxO!X%2ySTcT zt8I)(DdzP3NQ{1_?STo&-p4cR#g=Dt;|5tm&?{Ws3#I!JsQxaEq3op9oF7jme1*uY z1Hj^(BhRj!ObF;ZvuD^h8!%q_dyl84!f5Dl&kNb$1@Y0S>~b#WXG77>7RrZO{@i{e z`qP_kYE2rW><5D_CP$pmR(7)M+q0bJaLsb|^ui?r+5HLdu0X5}XPpQE>e3s%rXrv< zk#dS=+6P{#5gOy3URn^}te!tDb7~Y>R^3uV_eJQZrtaG!k=0ET$EJkm;ZtI`!%iM= zGk4zpX+M9~9+S*Q8+Q_QRL<2ql#cg6yq)R#agp}(@O`Ua#7z+w`%&+^?MBt`GM}uB zemgJzN}XPf?gB8uni#2YY2kh6bbQ9nvzIEPAW20T9)E8{)>?Qo!Xps9xgC~SLKld9 zk56{UG;PnNu{Z^eM4@uoTEhbsamZ)6)H3|b`Qw1arLUP<3msvK)>km> zsmE{6+sLWYTX=4&!RPcwSB2*9zfWA9@{r|epEF`xdG8wgjZowgyt4FSdIDnUwDrGz zFA>QMtxgcVl#EKa?~3=X#vvcMu7DL>DM^*wm3*6$4s zwuh7;RqMCm^ps9#pxmGWx3;nObcTH&Uz6?dc{=|CNWUY2ajQFC> zMCzAM*tM#}B37{hs$xt6q9aikOR$>1&zWh!ex2Y8`=Cfxx{M*k8=m!@R8MR7gaDG8 zpH58%|Mv4RrAhAv^QIsWZ+_;&Sse~TI-J5GS3F>=>ru7odXw++sebd+iCh*<1pY-D z{afwPT`eM4k!42n;x)@BtLv$_%j>;BPGAB{s%Z;IaE+AiEj?iHBbwS?=Kb68c@QTK zD5g5X6P0PXU9FMu;-Ix?#HwI8x|*OsBryc)F1}>2rtpABzT)+ceM;ZOJBwphj;^Ws zP)nfz-V@e*JFfTuTTnw;m%kl6?N&I#$t(yIy4ga(ym{yFHGd2RZ{x7MNz8AJDY@vzS)464rP^xeM~1QWbWk53*91nm*SE*A)eGfsC$8TN#M#=uqy_s&q* znrdEEZ{rEcN5~^@96tTS@t*Z(u_d#0YUf4)vjzRrig!IYacud5#~0hbCH+ebEHSXe zz!C#X4E&oIV3HQBeD}&2=~vzvNn>(Dq+8ETDcH=+pIAweNgZO3OjK8Gl(OeVx7{f@ z)VK!li|zY}m8gym2_cd(e4w{S`4xWDD);4S28*AzTRaj|VU^*6l8mO*tIb0Z(JO)t z8iG-1t-Hc7g=!FzE`lqXb^55y`p6N@s>k@-M?Z<%=oHVhSEkrx#4j6&iJQzGciHjd z_r0^cNs0RCpEjmKk7)+1J%%@-Bn!{0Is2yO*_&;@kd!>mM_lm44ly{?aUOJwM~9jo ze%vjPjw+N++-XwGK>VCayaTN%h@I}G9;|~?$67-+lpR?C{pwOGE zCk=Bo{GE;FlPefvew{)N<{zJrHS4FfK*{`naDXp zx^B+yZ2NEJ$>WAS)2Cff4TrmUOhp8`JS^7CHG_wEB_H7-m8=Zo(4mqtH{^sIe8@>1b!Y^a z46_F!nR~mm+P5X4D1xXenvpbAHJX3-#6$*KmBG)2(o;~L>2ePjwwZZNd*15{p1OyZ zC^{@nS#xjB4n@S+Nh-gqm}S$$hbOLvU}o+7tZW!G>d3tH4xdb%In;NZ5FLFtT1=id zjX$))qO_3UHNIDy#k%b9*Zi5a(?q*w#EHlYQ?i!cPg&DfL}W9l_0bIRQPVmwDBAj>c?a{U;4`_;j~F zv%7gV`Im9c`Z+7zw!LC(-#3PL5HeuMVw%Qp)rnqp^V}%jzo+udMzN=J_WPZ-w4`oG z$7pM%a64-kW9p0|93O;KVxszt(}NRl%=yLlxJL6S#msxNYU&IwFLyL+r!I*^?(v7q z_yE@S4k?Fn{Igs2!z`b_e;&;C|5eE~(*Hz4>@A+FCN%xr3_g!Lxk>V&{dl>QQ^kxj z4fqf5k}GAMb1+rzDoO0RjTj0dS6tn)K?C_c>1}!y5P(Qa z-#zAE_Vs%Y9F@yjiLf@XiYTVF<(ehb=|o{doEzu(`&IwH*I%H-KbPd;3w+EaOAp%5 z!+3v|H0^b7HKDT6&&(BP3|b$gEpB;vg1WL$b<&WWea47?Oms|tzAtdk9 zb_M~4XNm|<90hq(1L{-P5}-`(Y=B5wGMvM81m_edfV?|7x=ud-eM#aOt(BBGe$?&v z!S`%QJ$~bmbb5YgE}ld~yR&457d;01jmgwjFnx3Mlg!?#MaP%1ZR49Wrov!5mCb(E z%LVRd)YV>NPk@42?=#sV>9DEQz=Nqg6Pk6g)SHd7LEAxMVAY!>IG?Tg%=oq|h&S*m zlgHKKm@F(Q@5MnLCfamv4Xfc%d!lTGrLJz+Yl;lVQ{s5=qy1nA^sKet23< zeoH2tt1a#kuekyZvYL$%##wMQymzCYTQaD)W2S^yqo8(=@O!3cZ*X{ZwBCt42hX-Q zs9-&l3|M&!*_qz;0_||EY1YI{>C$n2BpxL~BH}|6u zeBC~gt4VK?emlNd9;`C(^%V>j5P6I3SQBp$I3ze%Up|rq9-YZr>J_QLc==>)vp^c~ zF)9;@zKej=4LZl0%YESE$Qx~0duJd&dOuH6$P&E$A6Xp<41(K(LW3JE5@+TaXGK4L znFN07rJqGbVqhiZNUeXi8yMcyyU;V)f@gU#PNqdwwCH&{i*r`eFeP=KeNz+^W98d5QG?fw5W?&kEu8Z!8KWcPvi}}Ng8$jX$23pSI_1s&a$6|e zhz+C5#RdT~=5{_7a{*dXk3S4=y@#jBvr1g&`~c72e&b5eL_2(*XWz_W@7RK*U|0Tbq7=N+Lw=px)FnWlzcLY%pod1*s<`iwN19Bydgi)z9UOSFE#TQ&bVzb=1bsZp=Y$2=1f2^y5ZV^o5T zk{p**5&;ozK?rMRwyeH*mzPu)`uU3Y87G@jo}8S-k$`2W85c-|5)# zyMa=ENTcVx70td#lsa_aH8O}noG+2dvDc$ITaq-*_OiP1OZrvcV{V+~Gy{!Ej_88%$T|AC0)S?~WWW z3PaWB53MK&pSfRgla}UhvPH1^1C_|Q53&ncxnjSSE$SU973^gDx(>WdLS zi%vbsqXB%@Nte$f46pFGB$l@->~9wx-)w#gt0^^Fmj#=jQ#=0&Pq|l#T#mcRO{nE zx_7N38j`Wu8PIHxcG`+v&SyO{cOK5R|5lbM9oenc8-qDIaANDVj|mv&=1+W=dv4+V z?>f@#et?C&S6}ZJdq4iiaeeFO?y-FB~X1&?c$$jFx z@my?wmh>+%u*AR;14|72?_^+QFP|;h^id#ob!Ksr)cLRZoxH2`dQ(!j3ua)|emaVL zOJF8DS4H6+1YXZ3GVhbbfm8;b%F#9fPCnmmL%@;<-2{PZD`xhc{?RBlct2vO;;6x> ztkXNHlH4?RU-+YXezv{0r0<8l>x`h7_VJjme-IqrY29Py5f3unX9`d6NQ0b?Ldgx( znLyffB8BW#@(<$^)_Kyto;45i3NgED^5y<AQcz@kIuj=7-99syg#IwjZ|(fkW%{XAg?qF8VI$MMVp8!WNIx%4(w3Pqv;MyS zG($}?Y$Cxm*bDyo^)TP#<-V@2*_lKKgkw#^ifr^mJ_)o%yE4?!LjCY0{P}!!Uf>nH zf)l?z12l?+=rwB6{&n#)Y)ny$-|mgvMojZO?ECJDLmyJ3A( z=g$+J#eIb^zf9gG06v*NWNfhv0b@R{<$glHe|^ve)tyBv>fK>0XULFlh8v(reLrcv zAi&Dmj(T)1ydJ-0(DK?Trx0{5HLF5#5QhjZO5cmj$wcDp#OdkfnW!m0nD}E!GICQ+ z5%k;~jNH7M`=hpge;=;FN2MvJZi@VJJj-3)X4-|B0rkhDNs0Mkpj+7YvVTu9jO~fg zf7yrwhH~~z22XGhyqCg$z&~J~JqGu9g05_Dbi3HLc9(rTsw*#}d(VzTS2?9?_Fhg# z8;y(ha%RRO(d6h=Ssp=X@6^763Qeg6^L93_zgs$YCHco%1_RyJgm%A|Gwc2WxFz@u zGeF_^85&|^9K;-7k#@3U{&@1q2`$~4E4s*^YIXSYU9RZaWL;lzxe>ZX*D4zybP4tG zKiw}R>xgX5u9i_gJAeJs@5b>xeXnmC7~U@Q1z3OA=2&zPJk|4M%#&l97q?kGYQEZf z%<57|F9t`hbL!w9kISqdzbd5+N~7718X{!^wk-EyPsFQxF>oKd8?ter4q+x(_&WKk zc7L{iZ5t=4u(}H}laiD0q4q|B-O?VLJY5jgl@eC0uLruGR99+56@V&U)SOx76^bak zJVy1IqY#gSg3}f9IONvlq;gp__+K9{_OqcMl6HBbj+MTHp;h7Nt-}8F2&*LYi9yoO z@?$b$I4XBDs}+aH>O;ol({ad9J8mr*Qz8<-v1a$^!};T!Kg;)G_v;cmw&GB$I|?{4 z1{DXRkQutgVm0%fpPX&Z+SkaVQIPQKWp`*3PW{b zB=Hvf`F-P7?bW#Ian%B1=$^V%3j4sog$*Pb6&~QteFf-|4h$2;raW_8cpuW__*-=wWh}=3;D5Bzr?^214|4nF|fD{7`~ZwoJhV1Qq=N?_9yE@tt?T` zhbz&*G(|35SU9sTl8)^XvqKD|rj8rkjKD!y?c~7OtPCij9d~@wl{)i#{=B2{O*(Xc zOuTlHCIbROs;@pxN`}5tDq-HBXegA)dUvoQ7)q`jc-CHL17_vYy9~Gg`g@0;Wd$C) z(7GND1)`Gomv~M5!0+(7SN9(ULV66vonev`;7-olTy!G?=1Xue|_Z7`v1H8?R+10yX}-U;MdVI`__5`&YJ9uN2))V3VsR+oLTod?pwme zv(6KUNT{zqXYd4qJ(w8DRo1_JKd|f4=8kTQ#~4=ZgXaeIHUIkiq95gb#IcV@(Q^W$ z>um9Pd&D$GQuD;9kJ0?^Km4fPGFxAT2P2p8{M`I~Z5tBs4&kq-pY93AJJ?mb@N&zd zDfd{eNoFgwQ#vfPx78H=sQ$m(ek_kb^8DB^rX)9PC{lA2ez_XWjF>HMUPMkM9m9How1z8SavQ|MYFiFUN5f|M5## zZg)<*OerKh++vBIFGnz2>)Dh412W1$J_IS<0 z2-^kmiE>!o->WMG@sD+iI4{iKr(@god@~;|2ec2xcpt*9Ai9XWP5xuNwLhg{N5o<1i8tvEiWSH;lmYnh^A;d zgC&kREK)jT9h&fu^9#@>1i8&efnz5rS12Y&Y8O6r03KHv9K58}&gD39KdQ4*Gj~D%2 ze5(#q?{pzd!|kx7Y)~}1E1Cw*hSV~$Gk-^DE4o40l{p~O(mz2fm#2sYS6WraqyR>&TmS?f7p*+ zT;Yz#Y2lb-Q${fo`5{0Oy)3cQFbY<*Z_Fdz==H<;X8rwH8K4>QFyx>K(3@|X!fGS~ zUi5AtF;^yNt8OZcn@$1jQK@%UTHn9U^cMS{ib{;a1RB{UW78wR9hdNdZX^<}b@{1p zTw|I{exR}}VY)#y1wQpFUPzyLUMDRWXiwgN1J?fi2T*w; zuxF2mKZ#2Oxwe8EPcmYl%DBDv<>f%|IBi}N9hZ$sh@6xcQuW33u09^7dF|`G`rn0P zAw9i^9XOiQuxPN5`<^eQGs<1#+_&nPC0eMxVu9u+j#zK-(n(4D> zuzfV*y35`sEO{nekh##}~}^Wd@=5=Nco$2ZNA8 zm$5Aa@CrRj#7Fx00a_jheL&OpF@^j7} zB@}l!`32!_`8mGm-T209D+)2|Cn9$@m9+dZe6#V=B&?jgmt%^|{Y%;6hb|Djq&=q{$W_`Sz1>#9GFZx-jblK+CcW#3^7w3FPn>|CD{ zdNh>lo+#&pDxbSMuBWj?(T;6FtS-7Jh`8(eo+;5eJm2bBDlajx#J~~*OAIVA@V|ip z!@Vajb<;?r&qiwat-`1OvERLEUg_!8SDs)D`D1--5{rNOzF`&dv|4_*Gg?`+EB#hW zFnT&lc!)_c3MDMxD5yaijim8D&ui-=(4Hg_rH%JO&=GFOJx%X@k=W)`(T6@{%7_4-G17I zgQ8X0q%hl_bL>;f!{(sjDUZ^wk0PT(g{>-2*sxW)mA92n4yb z{dwEGX67|Vl}9T)a|I<+R;M9#pC8VXS-%&O0yff_Q!@KtV0;txVJ2f>&x%euVK=iM zhGL{pQ;#Ra$%W*8nE9?GE@>~PeMl%g$a~YKHXa2TQE3@kZZTlMF{*#xI|dv*9n<5S zgP@%C*ke4O6TG~+$|av>X1|-~M3)@)L_$=&rkcMw4s0+Ae3hQ*kdzX=^WyqU;4o7t zU}R1Kkul%TPS$ZiyzHH#fz876?ia%Gz51ueuv>(t-5@dH)wb!??l4XlbokIySJ2V! zSSwWM1xzQVZWhfvrwWJp(%bL%hseS-g6O-RP}=Y!G)K~EE?%>CYP*KG`B}C@@LSEZ z^b}T*7vR*AmgEP|`-OO(zYBuC)46Yp(;}hPt8-GlDgs_+tmjIXivePz)wl!O!{+Im z)%&B;p2<^JSMLIhm&BKzj`D;f#|)OW?KTCDqi@|DLbQP;*5!BNw6TtUdo!lf z;@J_-%8K8XN9il3{G7dVFcM}>F+I6{;J$;sTyMnhx8YmczI$zQxFGOVWZm4cj{$Bk z*C`mdu?3h2R__$=Vt_K!6N)rj8!-&b!?JJW?_kKh%j<|tar5wPqJI0%m)afeDLXGS zQ5l4;5|Vkz&FsHNcm7~jkKWAwbXt5JPUnKr3v$D(`gLFD@0L*-;LhGs#c;M`3oh8Y zK+!4d3VTxvgC=93lMVjYv*XQA?+>uWS zdO=8R_-ej!W*llQq}?J&k%ZJH1FS|gaY)p{%b#UqI+96wVO_45jskA<+;d+ahGy+D z6xD0%Ax+G1PXgD97#j$vuRW_YFn@eww*AjaeE)S$jYFG2o|@}PP3`tMd<*Hz=lAc@ z=yF9T%hx+?P>DhNcU5MaE8@_mhQyX92hvajadO2ywae%>h5E+3JvnGNaZf7l%w=>@ zkKR#D-+B(8p}EsT#$g9AR2UR^#GHxgH7#sdb9?^&R15jBSoN4U4+i9(`Jg)0(JuV) zSR`kiF_rNShmJ~D96ha>igrw2xlbT*8F_KiIi_Ln!LFC^}7N3g4k{v5p8hE zw~yP*>FM&dCoIv`H?M>S=z>r^BCJt77>TOO6Sr=zibgpj z-GlqL#G@dZIDf*^U-NO+AM+y};p?jcz)accJ=x2D?|u{clpc>K7_n%?txEDin=?wS z)k{B`yYM`Dy2idYiT>UoTB+mqpnv}O?kxU)TK2^lguLUCK+jJUo!Q=FhNd|td#${` zUKhXhFErVuFFnl;UJWe||4iWf-Shj~{(q{RFS+ey5$Q=(rnJpTX{`lP=TgWrQ?y2E z!?F(PDGPrGK}5Ws)bxb$JX|lpGPa#9Im90u|piZ=VAl58l$yt#|JYe#pkX= ze+u7N9CyGDQhk)%LfOUB>WDfut})_Yc_1F~iH0&Kvmf@ydp>uReC6_1e55Nn z&)jcHy~YtaID`zpxOVA>_5CUjX7xK18pe+yF(hPhFUA>7i8`GO+~a`Sg##~0@=E`0 ze>{ltj~>uz z8JHx^JdY5@fneo%l1*DPX7;ne_;J!g)Kz(BpY`!mRZpV-aQ##6x zDmjtRy@%pabolqb&-1%+ETr#z^iw{2<#Rxt;=p;rJOp~guovXX6X9Ks%%;ts5`n(! z4$~8jG?0;?lsVFw4(#IBu01Zzf;zDW`43vt;gCdkTjOXljAGQsUMM7hAMm<3s>Q+G zR|)?*t~TH5x{)&JY@Ecvs?&5Gow`lBb&2@ z7HTv5nrwcOx|JmY6x`NqNh9$7ue)Bhk-Rgc;&lWb6+8B0f?*(_{;}cglW_2k56dv6 zje?-W4`j-uVbJ4!cNqg^5FFsAxuyNq2drQ7#n9(Dg0!peiQ6n(|2o{95BQRn2e^V@ zVv6cZyeF8X^p{e7GWgqmx~$p2eJ|7quAOj8sLXK!@7L0Y`O|FRj&~o=c5)Nw@KyP| zmdfyN>-$}K`e4u@ta`))jMCJHiFdmLU-r!h+B$z9*Q_6U1+?mK8jr!$fw0}$J4_%` zCrh3z#sQMAoPL7q4S+IMTw8Fb7t~%nwQENr=c7^QC z=O3&eUiiD9PZV3vAlilBW9%Q$3%zm23hZy*4;P>df{$UWl2-(Rz^)-F!IIt^PO$g- zYjF92{(JuSe&pWJwA|*PwZ!7T&q=S2J@k>@4C0KhPLSsYLFB8QHwEp3{x-k(%ns^F z3lrcVWD~zP;s65VDcVZ(wqVA?v^G^-eooKrZL01GZTv8@Ht5K?6)I5YyK%hg+2YN| z{x%QPIjp>E?}dO_)`9xF#c9xaCbw{>Vk}H_@NkBmQ-N(sqSsQFo5JB*r7`R|XV~)S z@Jgm$%Q^qQ)%T~%jn@ykZ5LBUYnqH#xhj2~?>FnmcIBM21vzHGtK@o|usj<)`uBT^ z%zR(_@~h*UBTW-vqZkg?@F)r@*GV?-P+9!*XV$O3D;0c z&k??fMBnz8ADT41QJo3im3PE5ZabYq0B}Qk2acLRbMp{HHR->i8=ed z9Ttw{J=T>N$%4EtOvuB-SApO;`TM5QG-&NB8tqW~I)1tQjdkNy7c3&?y&%0VFdSLy zW|XwXgrFA(Dh!TMdd=zmmcPX+YaH6K^)r(r(vHpB9pY>=-~I*eY(lzJXgI<4Z2RRa zKw!_1W|M=1-u)j>m}3?mckbJxyF#)k2xW5QcF=MJqhU*q^Lo6VXy2sXgFR2_=i6B< zfD7oY8BHMN-;xG3eOBDT_pgFr))9eEd>Jt6p|-5zgE=hFZLXRpGuSqCl`4v%cQSB# z>4E~+^12V<7M|Zd*Kv{mNFJe_pfrvLE0*o!1h!eA!4cN!I+zYC+m%lG5&XV!=0%1v zPd(Ie33MNKg6c^Zr;C%Z@J2$GfJiq9%sQ3y=y(2m$A#trS)fA5P4_%J)`C|#rTvr3 zJc0L^e;kp=pZlF%z^$d~pJc#?)GJE+h!dDo=Twqe1;hTG)c01T2Lpe;?b_}e!En8| z>yf=kD6Ai01D%QxaCo;vmw1^MXbBdcl)uIE-RsX!y7kN5-oDu9Jfdm|0Wtw12_ybM zk!Sr{_8JZ}={E0gJDvveEBRY4MP@*=fbPh~iy4rV`DI*^AE>^W{9fm<{dp$aES68%UvtfTedB( ze76gFbl(w6A@D!EFZe;Ac-nWl!yj+qyL&prqZ}IW%`Lo7*FCDhS2gIECmHG>f@9kT z#5TDgtJUmhr*+-XYK#osxe#CEl6>df>!|t9+lP4Sv?4VkpxHzE{iS1>@M>9$e^5>i zl$h(ikI_qqz{)+s{u&GK$005g8c%1dfv7B2x@yt<`24SL;g>bG->O7K_>h$z+7Zo_ zcn%%LjHw2mnVn+aQPB+>Axky$`!_3%(ZQEBqv?$L3&v-sjvk9=Wi()7X({DyS;`CA`xeJS)8~%>&(ZY-Rx|U( zXOI8eq=Px@TE9}=1@X-Kn_aH4udCP#WO6oWou>?k+Gm$Sw&#AG2YD+w?~cl86U2Kh zM@8yFyDte5N@Z8xt4e)0oi*Mv3GP4^YSoGM>%=ZPBYXuD$v=##b6$;&FgE#+p=9j z(v~z)mIVh=n|Cykublag%E8-IQ2O)xO)up4_v&@uCbrA)QoxFJiHBeDgu|ziZOkwp5=$PBwKhOiWP+X z_LnjLH8>|znb+ziYk}Ahs$)!@pVvy>t)9Cs8zaZQayj$m9{)J5B=W9tKP)}sneN!S zr_B)ECjPiS^UciscVR=SiqVCC=QNTA`Hr8RzfXPTm82aP@0cUCs`qE)dl&A%Sox_f zefgb_w>_Ged=Wy?;EVL18DvrKm|34Qc;F@5Pza)wqTNh;Is{?dSMlA<`?`+m@A~sz z8l5U~QbtaP3S}tj?Nt0&supV65aQgjjHZQKzBnn6P{p9M7D?G zCRR~~BibO{raJ_GKEHmIm-Y+wO1h`45obciw4`(p%Ae%ZVz>~AnnD#VYzxBB23B5D zZ3-`hBP<`!eK`O6zMG>(ZDWP%AJ4lV#m&^TjM1&>AiCLcT6mPh@VEI}N9uFEPKN+~ z)SrKAdtx!pF^+q|pcLJBl6aFZ9EfJO$2rf;8_AP*DK_wjD3{OuEyNxm(YuqPx8~2! zlUcWVw9YKe9oDC-O>dM42Vv6+{XzLS;OSniW2PPp?v~T1mWzdheV5D_i$Wwk(qgSw zj|hdN9gJaXFD8S{T1o=y2RLXZ5>fc%mkg$bda4eT9C*4BAEtLdef=OiY~ zGHf+i*=*k`_j8BKiz2Gohi?CH<414-eUzD3l3J9UT2K;SsGlLG*;r^$TWF|}A(EX(BbY$0H7PXrX7FZgFSH0MwAAos&d~Mq z^Yi)-1Yp9Op`_3%3G7rBpz;U-AQ4}jos*halowx?T2!2wpI2xd!3GpI&@(d9Gc2?z HP0|AZt9o7` diff --git a/mnist_model.pkl b/mnist_model.pkl deleted file mode 100644 index cbf9bb9421030092a83ad52a07f15c4f3a61aa2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63937 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 diff --git a/testspark.py b/testspark.py new file mode 100644 index 0000000..2fea8da --- /dev/null +++ b/testspark.py @@ -0,0 +1,7 @@ +import pyspark + +sc = pyspark.SparkContext() +rdd = sc.parallelize(['Hello,', 'world!', 'dog', 'elephant', 'panther']) +res = rdd.collect() +print("res", res) +rdd.coalesce(1).saveAsTextFile(SPARK_BUCKET_OUTPUT_PATH)