关于在notebook中报错的一个问题的解决
报错如下:
NameError Traceback (most recent call last)
<ipython-input-1-d406e6b19b59> in <module>
----> 1 sc.stop()
2 import random
3 sc = SparkContext(appName="Pi")
4 num_samples=1000000
5 def inside(p):
NameError: name 'sc' is not defined
如果你安装了findspark包,那么解决方案如下:
import findspark
findspark.init()
import pyspark
import random
sc = pyspark.SparkContext(appName="Pi")
num_samples = 100000000
def inside(p):
x, y = random.random(), random.random()
return x*x + y*y < 1
count = sc.parallelize(range(0, num_samples)).filter(inside).count()
pi = 4 * count / num_samples
print(pi)
sc.stop()
等待几秒后结果就会出来
结果如下: