首页 > 其他分享 >pyspark学习

pyspark学习

时间:2023-08-26 20:24:53浏览次数:34  
标签:pyspark 端口 worker 学习 master Spark SPARK spark

上周学习了hadoop和hive相关知识,最主要的就是通过hsql实现数据的清洗,从数仓中获得有用的数据,然后本周学习了spark以及用Python类库pyspark。

首先是需要在Windows本地和Linux上班均安装anaconda环境,在anaconda安装完成之后就是将spark的安装包上传解压到Linux指定目录下,完成这两步之后需要配置spark的环境,一是环境变量而是配置文件,总共如下这几个环境变量的配置

SPARK_HOME: 表示Spark安装路径在哪里
-  PYSPARK_PYTHON: 表示Spark想运行Python程序, 那么去哪里找python执行器
-  JAVA_HOME: 告知Spark Java在哪里
-  HADOOP_CONF_DIR: 告知Spark Hadoop的配置文件在哪里
-  HADOOP_HOME: 告知Spark  Hadoop安装在哪里

二是配置文件如下:进入到spark文件下的conf文件夹修改(standalone模式)

# 改名, 去掉后面的.template后缀
mv workers.template workers

# 编辑worker文件
vim workers
# 将里面的localhost删除, 追加
node1
node2
node3
到workers文件内

# 功能: 这个文件就是指示了  当前SparkStandAlone环境下, 有哪些worker
```


配置spark-env.sh文件


```shell
# 1. 改名
mv spark-env.sh.template spark-env.sh

# 2. 编辑spark-env.sh, 在底部追加如下内容

## 设置JAVA安装目录
JAVA_HOME=/export/server/jdk

## HADOOP软件配置文件目录,读取HDFS上文件和运行YARN集群
HADOOP_CONF_DIR=/export/server/hadoop/etc/hadoop
YARN_CONF_DIR=/export/server/hadoop/etc/hadoop

## 指定spark老大Master的IP和提交任务的通信端口
# 告知Spark的master运行在哪个机器上
export SPARK_MASTER_HOST=node1
# 告知sparkmaster的通讯端口
export SPARK_MASTER_PORT=7077
# 告知spark master的 webui端口
SPARK_MASTER_WEBUI_PORT=8080

# worker cpu可用核数
SPARK_WORKER_CORES=1
# worker可用内存
SPARK_WORKER_MEMORY=1g
# worker的工作通讯地址
SPARK_WORKER_PORT=7078
# worker的 webui地址
SPARK_WORKER_WEBUI_PORT=8081

## 设置历史服务器
# 配置的意思是  将spark程序运行的历史日志 存到hdfs的/sparklog文件夹中
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node1:8020/sparklog/ -Dspark.history.fs.cleaner.enabled=true"

 

hadoop fs -mkdir /sparklog
hadoop fs -chmod 777 /sparklog
```


配置spark-defaults.conf文件


```shell
# 1. 改名
mv spark-defaults.conf.template spark-defaults.conf

# 2. 修改内容, 追加如下内容
# 开启spark的日期记录功能
spark.eventLog.enabled  true
# 设置spark日志记录的路径
spark.eventLog.dir   hdfs://node1:8020/sparklog/
# 设置spark日志是否启动压缩
spark.eventLog.compress     true

*注意如下几点:

  1. hdfs文件系统有个端口8020,在spark-env.sh文件里面也需要配置端口,这俩端口必须一致。
  2. Spark的日志文件有路径,这个文件夹必须先创建再启动以上问题会影响启动

 

 

紧接着是standalone HA模式,这个模式需要首先下载启动zookeeper和hdfs,这个模式为高启动模式,再生产环境中吗,某一个master主机执行途中如果遇到宕机可能会产生很大的损失,spark为了弥补这个缺陷从而使用zookeeper来实现多master主句,当一个master宕机之后,会将原来的运行状态交给第二个master继续执行,从而保护了程序。当然后续都是在 yarn里面去运行。

标签:pyspark,端口,worker,学习,master,Spark,SPARK,spark
From: https://www.cnblogs.com/copyjames/p/17659386.html

相关文章

  • zlmediakit源码学习(扩展支持算法分析)
    在zlmediakit源码基础上继续探索扩展支持算法分析功能。参照上一篇帖子:https://www.cnblogs.com/feixiang-energy/p/17623567.html算法模型使用opencv自带的人脸检测库:https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.xmlzlme......
  • 【转载】CMake从头开始学习-上
    这篇文章写的太好了非常适合新手入门,原文链接是https://subingwen.cn/cmake/CMake-primer/index.html......
  • javascript学习日记day6
    前两天跑去学公司的框架和游戏脚本去了,果然我就是属于三天打鱼两天晒网的那种,下面是今天的笔记对象的增删改查letgood={goods:'小米',name:'小米10青春版',num:100012816024,weight:'0.55kg',address:'中国大陆'}增:good.pric......
  • mysql 深入学习三 索引优化一
    测试建表CREATETABLE`employees`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(24)NOTNULLDEFAULT''COMMENT'姓名',`age`int(11)NOTNULLDEFAULT'0'COMMENT'年龄',`position`varchar(20)NOT......
  • 学习笔记 - Java 面向对象_下
    static关键字如果想让一个成员变量被类的所有实例所共享,就用static修饰即可,称为类变量(或类属性)可修饰结构:属性、方法、代码块、内部类对比静态变量和实例变量个数静态变量:只有一份,被多个对象共享;实例变量:每一个对象都保存着一份实例变量;内存位置静态变量:存放在堆......
  • 联邦学习中的推理攻击
    InferenceAttacksinFL在人工智能领域,推理攻击是提取没有公开的但攻击者感兴趣的信息。在联邦学习中,如果云聚合器是攻击者,那么其获知的信息可能包含模型参数、梯度、训练集的边界分布等等;其未知的信息可能包括客户端的训练集信息(图像内容、某特定成员信息、属性等)推理攻击的分......
  • 社团算法学习笔记
    社团算法学习笔记:https://gaowenxin95.github.io/le_graph/社团社区发现算法学习笔记.html......
  • 缩点+割点学习笔记
    缩点传送门根据题意:允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。所以我们可以考虑将可以相互到达的若干个点缩成一个点,以方便计算。下面讲如何实现:考虑\(dfs\),并且对点记录如下信息\(dfn\)(该点被遍历到的时间节点,即该点是第几个被遍历到的),\(low\)(可以追溯到......
  • 多阶前缀和学习笔记
    例题传送门:P4062[Code+#1]Yazid的新生舞会简要题意:给定一串序列\(A_1,A_2,...,A_n\),求有多少个子区间\([l,r]\)满足子区间内众数的个数大于\(\frac{r-l+1}{2}\)思考若数\(w\)是众数的方案数:新建一个序列\(B\),令\(B_i=[A_i=w]\),考虑前缀和\(S_i=\sum\limits_{k=1}^iB_i=S_{i-1......
  • 失配树学习笔记
    传送门考虑把原字符串先\(kmp\)一遍,求出以\(i\)结尾的前缀的最长\(border\),根据\(border\)的\(border\)还是\(border\)这个定理,我们在寻找前缀\(p\)和前缀\(q\)的最长公共\(border\)时,我们可以考虑运用这个定理,一直往前跳,找到最先一样的\(border\),这就是最长公共\(bordedr\),至于......