pycharm利用pyspark远程连接spark集群的实现
作者:Great1414 发布时间:2023-10-08 06:49:00
0 背景
由于工作需要,利用spark完成机器学习。因此需要对spark集群进行操作。所以利用pycharm和pyspark远程连接spark集群。这里记录下遇到的问题及方法。
主要是参照下面的文献完成相应的内容,但是具体问题要具体分析。
1 方法
1.1 软件配置
spark2.3.3, hadoop2.6, python3
1.2 spark配置
Spark集群的每个节点的Python版本必须保持一致。在每个节点的$SPARK_HOME/conf/spark-env.sh中添加一行:具体看你的安装目录。
export PYSPARK_PYTHON=/home/hadoop/anaconda2/bin/python3
此步骤就是将python添加到spark的配置中。
此时,在服务器命令行输入pyspark时,可以正常进入spark。
1.3本地配置
1.3.1 首先将spark2.3.3从服务器拷贝到本地。
注意: 由于我集群安装的是spark-2.3.3-bin-without-hadoop。但是拷贝到本地后,总是报错Java gateway process… 。同时我将hadoop2.6,的包也从服务器拷贝到本地加载到程序中,同样报错。
最后,直接从spark的官网中,下载了spark-2.3.3-bin-hadoop2.6,这回就可以了。
pyspark的版本与spark的版本最好对应。比如pyspark2.3.3,spark2.3.3
# os.environ['SPARK_HOME'] = r"F:\big_data\spark-2.3.3-bin-without-hadoop"(无用)
os.environ['SPARK_HOME'] = r"F:\big_data\spark-2.3.3-bin-hadoop2.6"(有用)
# os.environ["HADOOP_HOME"] = r"F:\big_data\hadoop-2.6.5"(无用)
# os.environ['JAVA_HOME'] = r"F:\Java\jdk1.8.0_144"(无用)
1.3.2
C:\Windows\System32….\hosts(Windows机器)中加入Spark集群Master节点的IP与主机名的映射。需要管理员权限修改。
其中的spark_cluster就是对于Master的IP的映射名。(直接写IP一样可以,映射名是为了方便)
1.3.3
添加刚刚下载解压好的spark的python目录到pycharm的project structure
1.3.4
新建py文件,编辑Edit Configurations添加SPARK_HOME变量
注意: 在实际中,这个不添加好像也可以。只需要在程序中加载了spark_home.比如os.envion(…spark…)
2 测试
import os
from pyspark import SparkContext
from pyspark import SparkConf
# os.environ['SPARK_HOME'] = r"F:\big_data\spark-2.3.3-bin-without-hadoop"
os.environ['SPARK_HOME'] = r"F:\big_data\spark-2.3.3-bin-hadoop2.6"
# os.environ["HADOOP_HOME"] = r"F:\big_data\hadoop-2.6.5"
# os.environ['JAVA_HOME'] = r"F:\Java\jdk1.8.0_144"
print(0)
conf = SparkConf().setMaster("spark://spark_cluster:7077").setAppName("test")
sc = SparkContext(conf=conf)
print(1)
logData = sc.textFile("file:///opt/spark-2.3.3-bin-without-hadoop/README.md").cache()
print(2)
print("num of a",logData)
sc.stop()
3 参考
PyCharm+PySpark远程调试的环境配置的方法
Spark下:Java gateway process exited before sending the driver its port number等问题
估计每个人遇到的问题不一样,但是大同小异,具体问题具体分析。
来源:https://blog.csdn.net/weixin_41512727/article/details/100131995
猜你喜欢
- 一、前言准备编写一个篮球游戏,运动员带球跑,跳起投篮。在每帧图片中包括运动员和篮球,使用多帧图片,实现运动员运球跑动的效果。运动员运球跑动作
- 选择题以下python代码输出什么?a = [2,3,1]sorted(a)print(a)A aB [3, 2, 1]C [2, 3, 1
- Python语言有一种独特的推导式语法,相当于语法糖的存在,可以帮助你在某些场合写出较为精简酷炫的代码。但没有它,也不会有太多影响。Pyth
- Python标准库中collections对集合类型的数据结构进行了很多拓展操作,这些操作在我们使用集合的时候会带来很多的便利,多看看很有好
- 还有种片面的观点认为,做网站设计与平面差不多,比如老罗发布的这则招聘中提到:年薪十万招擅长做下列网站设计风格的平面设计师一名。在专业角度,网
- 每个进行过较大型的ASP-Web应用程序设计的开发人员大概都有如下的经历:ASP代码与页面HTML混淆难分,业务逻辑与显示方式绞合,使得代码
- 0x00 环境系统环境:win10编写工具:JetBrains PyCharm Community Edition 2017.1.2 x64
- PDOStatement::errorCodePDOStatement::errorCode — 获取跟上一次语句句柄操作相关的 SQLST
- 本文实例讲述了Python随机数用法。分享给大家供大家参考,具体如下:1. random.seed(int)给随机数对象一个种子值,用于产生
- 本文实例分析了Python减少循环层次和缩进的技巧。分享给大家供大家参考,具体如下:我们知道Python中冒号和缩进代表大括号,这样写已经可
- 通过查看书籍,自己总结了一下,怎样用python代码实现调用笔记本摄像头的功能。这主要是通过opencv中cv2模块来实现这个功能。其中是调
- 权重初始化对于训练神经网络至关重要,好的初始化权重可以有效的避免梯度消失等问题的发生。在pytorch的使用过程中有几种权重初始化的方法供大
- 1 前言在工作中时常会有繁重的文案工作,接触了python 之后,就会觉得这个比较简单了,python 操作word 和 excel 是比较
- 假设要实现一个存放多种类型数据结构的对象,比如一个存放算术操作数和操作符的树结点,需要存放包含一元操作符、二元操作符和数字类型的结点clas
- 之前一直傻傻分不清(n,1)和(n,)之间的区别,这里做一下总结,希望度过此文章的小伙伴都能明白。例如如果我们创建一个包含10个整型数的数组
- JWT是一种JSON的行业标准,广泛应用在系统的用户认证方面。JWT认证简介JWT(JSON Web Tokens),是为了在网络应用环境间
- 1. 字符编码简介1.1. ASCIIASCII(American Standard Code for Information Interc
- 因为函数或类都是对象,它们也能被四处传递。它们又是可变对象,可以被更改。在函数或类对象创建后但绑定到名字前更改之的行为为装饰(decorat
- 基于tkinter模块的GUIGUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述。Pytho
- 先上网卡数据采集脚本,这个基本上是最大的坑,因为一些数据的类型不正确会导致no datapoint的错误,真是令人抓狂,注意其中几个key的