配置jupyter notebook访问spark
配置步骤如下:
1)配合好hadoop,spark:spark和hadoop的bin要在path中,一会用到pyspark的命令
2)安装好anaconda
3)修改anaconda的配置文件
[hduser@master](jupyter-notebook --generate-config
[hduser@master])vim /root/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip = '' #重要。修改成""是为了不限定IP访问,如果指定某个IP运行,修改成该IP即可。如果此处维持为原始的localhost,服务器上运行jupyter otebook时就可能出现socket.error Errno 99 Cannot assign requested address报错。
c.NotebookApp.port = XXXX #重要。即对外提供访问的端口,比如8899,记住这个数
c.NotebookApp.open_browser = False #False即启动不打开浏览器
:
c.NotebookApp.notebook_dir = u'/home/hduser/sparkml/' #先要创建这个目录,否则下一步执行不起来:
4) 服务器运行jupyter notebook
[hduser@master]$PYSPARK_DRIVER_PYTHON="jupyter" PYSPARK_DRIVER_PYTHON_OPTS="notebook" pyspark
5)客户端执行 http://192.168.10.11/8899
测试:创建一个python文件
输入:type(sc) ,显示pyspark.context.SparkContext,其中sparkContext在Spark应用程序的执行过程中起着主导作用,它负责与程序和spark集群进行交互,包括申请集群资源、创建RDD、accumulators及广播变量等
输入:type(spark) ,显示pyspark.sql.session.SparkSession
注意:spark2.0后,用sparksession代替sparkcontext(操作rdd)和sqlcontext(操作sql)的创建
输入:sc.textFile('/home/hduser/app/spark/README.md').count() #file:///或file:/也都可以