alrightso againwe begin with some boilerplate stuff gspnqztqbslnmmjcdmvtufsjohjnqpsufbot gspnovnqzjnqpsubssbzsboepn gspnnbuijnqpsutrsu gspnqztqbsljnqpsu qbsl$pog qbsl$poufyu gspntlmfbsoqsfqspdfttjohjnqpsutdbmf we're going to import the fbot package from the clustering -mjc packagewe're going to import array and random from ovnqzbecauseagainwe're free to use whatever you wantthis is python script at the end of the dayand -mjc often does require ovnqz arrays as input we're going to import the trsu function and the usual boilerplate stuffwe need qbsl$pog and qbsl$poufyupretty much every time from qztqbsl we're also going to import the scale function from tdjljumfbso againit' ok to use tdjljumfbso as long as you make sure its installed in every machine that you're going to be running this job onand also don' assume that tdjljumfbso will magically scale itself up just because you're running it on spark butsince ' only using it for the scaling functionit' ok alrightlet' go ahead and set things up ' going to create global variable firsti' going to run -means clustering in this example with of meaning with five different clusters ' then going to go ahead and set up local qbsl$pog just running on my own desktopdpog qbsl$pog tfu btufs mpdbmtfu"qq/bnf  qbslfbottd qbsl$poufyu dpog dpog