Hi, This used to work but not anymore.
I have UsedFunctions.py file that has these functions import random import string import math def randomString(length): letters = string.ascii_letters result_str = ''.join(random.choice(letters) for i in range(length)) return result_str def clustered(x,numRows): return math.floor(x -1)/numRows def scattered(x,numRows): return abs((x -1 % numRows))* 1.0 def randomised(seed,numRows): random.seed(seed) return abs(random.randint(0, numRows) % numRows) * 1.0 def padString(x,chars,length): n = int(math.log10(x) + 1) result_str = ''.join(random.choice(chars) for i in range(length-n)) + str(x) return result_str def padSingleChar(chars,length): result_str = ''.join(chars for i in range(length)) return result_str def println(lst): for ll in lst: print(ll[0]) Now in the main().py module I import this file as follows: import UsedFunctions as uf Then I try the following import UsedFunctions as uf numRows = 100000 ## do in increment of 100K rows rdd = sc.parallelize(Range). \ map(lambda x: (x, uf.clustered(x, numRows), \ uf.scattered(x,10000), \ uf.randomised(x,10000), \ uf.randomString(50), \ uf.padString(x," ",50), \ uf.padSingleChar("x",4000))) The problem is that now it throws error for numRows as below File "C:/Users/admin/PycharmProjects/pythonProject2/pilot/src/main.py", line 101, in <lambda> map(lambda x: (x, uf.clustered(x, numRows), \ NameError: name 'numRows' is not defined I don't know why this error is coming! Appreciate any ideas Thanks, Mich *Disclaimer:* Use it at your own risk. Any and all responsibility for any loss, damage or destruction of data or any other property which may arise from relying on this email's technical content is explicitly disclaimed. The author will in no case be liable for any monetary damages arising from such loss, damage or destruction.