Python大数据之PySpark(二)安装PySpark插件时缺少依赖项 ‘python pyspark’ 解决方法(1)
1-如何安装PySpark?
首先安装anconda,基于anaconda安装pyspark anaconda是数据科学环境,如果安装了anaconda不需要安装python了,已经集成了180多个数据科学工具 注意:anaconda类似于cdh,可以解决安装包的版本依赖的问题
Linux的Anaconda安装
2-如何安装anconda?
去anaconda的官网下载linux系统需要文件 Anaconda3-2021.05-Linux-x86_64.sh 上传到linux中,执行安装sh Anaconda3-2021.05-Linux-x86_64.sh或bash Anaconda3-2021.05-Linux-x86_64.sh 直接Enter下一步到底,完成 配置环境变量,参考课件 3-Anaconda有很多软件
IPython 交互式Python,比原生的Python在代码补全,关键词高亮方面都有明显优势 jupyter notebook:以Web应用启动的交互式编写代码交互式平台(web平台) 180多个工具包 conda和pip什么区别? conda和pip都是安装python package conda list可以展示出package的版本信息 conda 可以创建独立的沙箱环境,避免版本冲突,能够做到环境独立 conda create -n pyspark_env python==3.8.8 4-Anaconda中可以利用conda构建虚拟环境
这里提供了多种方式安装pyspark (掌握)第一种:直接安装 pip install pyspark (掌握)第二种:使用虚拟环境安装pyspark_env中安装,pip install pyspark 第三种:在PyPi上下载下来对应包执行安装 5-如何查看conda创建的虚拟环境?
conda env list conda create -n pyspark_env python==3.8.8 pip install pyspark
PySpark安装
1-使用base的环境安装 2-使用pyspark_env方式安装
查看启动结果
简单的代码演示
在虚拟环境下的补充
webui
注意:
Jupyter环境设置
监控页面
4040的端口
运行圆周率
回顾Hadoop中可以使用 hadoop jar xxxx.jar 100 yarn jar xxxx.jar 1000 跑的mr的任务 Spark中也有对应的提交任务的代码 spark-submit 提交圆周率的计算代码 */examples/src/main/python/pi.py* 提交的命令: bin/spark-submit –master local[2] /export/server/spark/examples/src/main/python/pi.py 10
或者# 基于蒙特卡洛方法求解的Pi,需要参数10,或100代表的次数 bin/spark-submit \ --master local[2] \ /export/server/spark/examples/src/main/python/pi.py \ 10
蒙特卡洛方法求解PI 采用的扔飞镖的方法,在极限的情况下,可以用落入到圆内的次数除以落入正方形内的次数 hadoop jar /export/server/hadoop-3.3.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar pi 10 10 hadoop提交任务中使用 第一个10代表是map任务,第二10代表每个map任务投掷的次数 spark-submit的提交的参数10的含义是投掷的次数 简单的py代码
def pi(times): # times的意思是落入到正方形的次数
x_time = 0
for i in range(times):有多少落入到圆内
x = random.random()
y = random.random()
if x * x + y * y <= 1:
x_time += 1
return x_time / times * 4.0
print(pi(10000000))#3.1410412
环境搭建-Standalone
Standalone 架构
如果修改配置,如何修改? 1-设定谁是主节点,谁是从节点 node1是主节点,node1,node2,node3是从节点 2-需要在配置文件中声明, 那个节点是主节点,主节点的主机名和端口号(通信) 那个节点是从节点,从节点的主机名和端口号 3-现象:进入到spark-shell中或pyspark中,会开启4040的端口webui展示,但是一旦交互式命令行退出了,wenui无法访问了,需要具备Spark的历史日志服务器可以查看历史提交的任务
角色分析
Master角色,管理节点, 启动一个名为Master的进程, *Master进程有且仅有1个*(HA模式除外)
Worker角色, 干活节点,启动一个名为 Worker的进程., Worker进程****最少1个, 最多不限制****
Master进程负责资源的管理, 并在有程序运行时, 为当前程序创建管理者Driver
Driver:驱动器,使用SparkCOntext申请资源的称之为Driver,告诉任务需要多少cpu或内存
Worker进程负责干活, 向Master汇报状态, 并听从程序Driver的安排,创建Executor干活
在Worker中有Executor,Executor真正执行干活
集群规划
谁是Master 谁是Worker
node1:master/worker
node2:slave/worker
node3:slave/worker
为每台机器安装Python3
安装过程
1-配置文件概述 spark-env.sh 配置主节点和从节点和历史日志服务器 workers 从节点列表 spark-default.conf spark框架启动默认的配置,这里可以将历史日志服务器是否开启,是否有压缩等写入该配置文件 2-安装过程 2-1 修改workers的从节点配置文件 2-2 修改spark-env.sh配置文件 hdfs dfs -mkdir -p /sparklog/ 2-3 修改spark-default.conf配置文件 2-4 配置日志显示级别(省略)
测试
WebUi (1)Spark-shell bin/spark-shell –master spark://node1:7077 (2)pyspark 前提:需要在三台机器上都需要安装Anaconda,并且安装PySpark3.1.2的包 步骤: 如果使用crt上传文件一般使用rz命令,yum install -y lrzsz 1-在3台虚拟机上准备anconda 2-安装anaconda,sh anaconda.sh 3-安装pyspark,这里注意环境变量不一定配置,直接进去文件夹也可以 4-测试 调用:bin/pyspark –master spark://node1:7077 (3)spark-submit
#基于Standalone的脚本
#driver申请作业的资源,会向–master集群资源管理器申请
#执行计算的过程在worker中,一个worker有很多executor(进程),一个executor下面有很多task(线程)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
需要这份系统化资料的朋友,可以戳这里获取
img-W39HCEF1-1714242978636)]
[外链图片转存中…(img-UWhS94J3-1714242978637)]
[外链图片转存中…(img-NeDmNqkN-1714242978637)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
需要这份系统化资料的朋友,可以戳这里获取
作者:普通网友