Spark集群安装和部署(一)-----Ubuntu16.0.4创建hadoop用户

Spark集群安装和部署(二)-----Ubuntu16.0.4安装jdk8

Spark集群安装和部署(三)-----ubuntu16.0.4安装hadoop

Spark集群安装和部署(四)-----ubuntu16.0.4安装Scala

Spark集群安装和部署(五)-----ubuntu16.0.4安装Spark

Spark集群安装和部署(六)-----pyspark更新Python版本、Notebook安装配置、安装pip

 

默认安装好spark后,pyspark环境中Python为2,需要更新为3

Ubuntu16.04默认安装了Python2.7和3.5

请注意,系统自带的python千万不能卸载!

输入命令python

按Ctrl+D退出python命令行

输入命令sudo add-apt-repository ppa:jonathonf/python-3.6

按Enter确认

输入命令sudo apt-get update

输入命令sudo apt-get install python3.6

按Y确认

调整Python3的优先级,使得3.6优先级较高

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

更改默认值,python默认为Python2,现在修改为Python3

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

此时再输入命令python

可以看到此时已经是Python3.6了

 

Jupyter Notebook的安装

安装步骤:

 pip install --upgrade pip //更新pip
 
pip install jupyter

jupyter-notebook

如果出现如下情况:

则按指示进行操作:

sudo apt install jupyter-notebook

然后再次运行jupyter-notebook

 

PySpark in Jupyter

在Jupyter Notebook里运行PySpark有两种方法:

  1. 配置PySpark driver,当运行pyspark命令就直接自动打开一个Jupyter Notebook
  2. 正常启动Jupyter Notebook,然后用findSpark的package(我选了这种)

方法一:配置PySpark driver

去~/.bashrc文件最后,添加配置PySpark driver的环境变量

export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'

同样,运行一下刚刚修改的初始化文件

$ source ~/.bashrc

最后,重启terminal

$ pyspark

这个时候,就会自动打开Jupyter Notebook。

方法二:用findSpark包

安装findspark:

$ pip install findspark

启动jupyter notebook

$ jupyter notebook

Jupyter Notebook运行效果

附上代码,大家运行感受一下:

#方法2需要复制这三行
import findspark
findspark.init()
import pyspark

#方法1直接从这里开始复制
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()

 

Ubuntu 安装及使用 pip

首先安装 pip:
sudo apt install -y python-pip

然后安装 pip3:
sudo apt install -y python3-pip

更新 pip 版本:
sudo pip install --upgrade pip

更新 pip3 版本:
sudo pip3 install --upgrade pip

查看已安装的 python 包:

# 查看全部已安装的包
mcdx@ubuntu:~$ pip freeze
apturl==0.5.2
beautifulsoup4==4.4.1
blinker==1.3
chardet==2.3.0
checkbox-support==0.22
  ...

# 查看某个包
mcdx@ubuntu:~$ pip freeze | grep Flask
Flask==0.12.2
Flask-SQLAlchemy==2.3.2

当 pip 更新至最新版的时候,不管是执行 pip list 还说 pip install packageName 安装包,都会抛出一个异常

Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'

那么应该怎么解决呢,其实很简单, 编辑 /usr/bin/pip 文件,修改代码

from pip._internal import main

 

更多推荐