Jupyter调用Spark Sql指导
1 环境准备
1.1 本文测试环境
- MRS版本:2.1.0 (未开启kerberos)
- Anaconda:4.4.0 (python 3.6)
- ECS:EulerOS 2.5 64bit
1.2 安装Anaconda
1.2.1 下载anaconda
wget https://repo.continuum.io/archive/Anaconda3-4.4.0-Linux-x86_64.sh
1.2.2 安装anaconda
bash Anaconda3-4.4.0-Linux-x86_64.sh
安装过程中需要一直回车,并输入yes命令,然后指定安装路径(如:/opt/anaconda)。
在依赖包安装完成之后,选择yes进行初始化操作。该操作会在根目录下的配置文件/root/.bashrc中添加初始化配置。(为了不影响原环境,可以备份该文件,如:cp /root/.bashrc /root/.bashrc.anaconda ,并将原文件中新添加的初始化信息删掉)
- 生成配置文件和密码
source /root/.bashrc.anaconda
jupyter notebook --generate-config --allow-root
ipython #打开ipython
from notebook.auth import passwd
passwd() #生成密码
- 修改配置文件
修改上一步中生成的文件(/root/.jupyter/jupyter_notebook_config.py),在文件末尾添加如下配置:
c.NotebookApp.ip = 'localhost' //此处localhost修改为该ECS节点IP
c.NotebookApp.allow_root = True
c.NotebookApp.open_browser =True
c.NotebookApp.port = 8888 //未被占用的端口
c.NotebookApp.password = u'sha1:...' //此处替换为上一步生成的密码
- 运行jupyter
source /opt/client/bigdata_env //MRS客户端安装路径
source /root/.bashrc.anaconda
export PYSPARK_DRIVER_PYTHON="ipython"
export PYSPARK_DRIVER_PYTHON_OPTS="notebook --allow-root"
pyspark --master yarn --deploy-mode client &
- 登陆web UI
在本地浏览器中输入 http://EIP:8888/ //EIP为该ECS节点绑定的弹性公网IP
1.3 安装MRS集群客户端
具体操作步骤请参见官方文档说明。https://support.huaweicloud.com/usermanual-mrs/mrs_01_0091.html
2 执行Spark SQL
2.1 在jupyter上执行spark sql
- 启动jupyter并进入web UI
- 新建notebook
- 编写执行语句
如查看数据库中的表:
from pyspark.sql import SparkSession
spark = SparkSession.builder.enableHiveSupport().getOrCreate()
arr = spark.sql("show tables").collect()
for x in arr:
print x
- 查看任务状况
在MRS Manager页面,服务管理—> YARN —> 服务状态 中点击ResourceManager Web UI进入到yarn页面
也可以点击ApplicationMaster查看具体作业。
- 点赞
- 收藏
- 关注作者
评论(0)