jupyter中运行pyspark

2020-08-04 22:03:17 浏览数 (1)

Python for Spark显然比Scala慢。然而,易于学习,并且受益于我最喜爱的库。在我看来,Python是大数据/机器学习领域中原型设计的完美语言。

而jupyter可以边编程边记录,对于学生党来说是最完美的选择

怎么整合spark与jupyter?

整合spark与Jupyter

方法1. 配置PySpark驱动程序
代码语言:javascript复制
export PYSPARK_DRIVER_PYTHON=jupyter-notebook 
export PYSPARK_DRIVER_PYTHON_OPTS=" --ip=0.0.0.0 --port=8888"

将这些行添加到您的/.bashrc(或/etc/profile)文件中。

重新启动终端并再次启动PySpark:此时将启动器jupyter

方法2. FindSpark包

使用findSpark包在代码中提供Spark Context。

findSpark包不是特定于Jupyter Notebook,你也可以在你喜欢的IDE中使用这个技巧。

代码语言:javascript复制
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()

不同的模式运行pyspark

spark是分为local,standalone,yarn-client,yarn-cluster等运行模式的.

  1. local模式
代码语言:javascript复制
import findspark
findspark.init()
from pyspark import SparkContext
sc = SparkContext("local", "First App")
  1. standalone 需要传入地址和端口
代码语言:javascript复制
import findspark
findspark.init()
from pyspark import SparkContext
sc = SparkContext("spark://192.168.5.129:7077", "First App")
  1. yarn-client
代码语言:javascript复制
import findspark
findspark.init()
from pyspark import SparkContext
sc = SparkContext("yarn-client", "First App")

0 人点赞