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与主机名的映射。需要管理员权限修改。

pycharm利用pyspark远程连接spark集群的实现

其中的spark_cluster就是对于Master的IP的映射名。(直接写IP一样可以,映射名是为了方便)
1.3.3
添加刚刚下载解压好的spark的python目录到pycharm的project structure

pycharm利用pyspark远程连接spark集群的实现

1.3.4
新建py文件,编辑Edit Configurations添加SPARK_HOME变量

pycharm利用pyspark远程连接spark集群的实现

注意: 在实际中,这个不添加好像也可以。只需要在程序中加载了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()

pycharm利用pyspark远程连接spark集群的实现

3 参考

PyCharm+PySpark远程调试的环境配置的方法
Spark下:Java gateway process exited before sending the driver its port number等问题

估计每个人遇到的问题不一样,但是大同小异,具体问题具体分析。

来源:https://blog.csdn.net/weixin_41512727/article/details/100131995

标签:pyspark,spark,集群
0
投稿

猜你喜欢

  • SQL Select语句完整的执行顺序

    2008-09-28 21:22:00
  • Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例

    2023-06-09 02:51:16
  • 让ASP也支持动态include文件

    2008-05-08 13:00:00
  • Golang数据类型比较详解

    2023-07-17 10:11:21
  • DB2和 Oracle的并发控制(锁)的比较

    2009-02-28 10:29:00
  • JS控制输入框内字符串长度

    2024-02-24 19:30:59
  • 解决python 文本过滤和清理问题

    2023-08-31 08:18:38
  • 浅谈python下tiff图像的读取和保存方法

    2021-11-23 04:10:08
  • 各种页面定时跳转(倒计时跳转)代码总结

    2023-09-05 00:12:01
  • 简单了解python 生成器 列表推导式 生成器表达式

    2023-12-05 09:21:02
  • 用python画了个圣诞树给女朋友

    2022-06-03 00:54:44
  • mysql 5.5.8的几个注意事项

    2011-01-04 19:34:00
  • 教你快速掌握一些方便易用的SQL语句

    2008-11-28 15:21:00
  • php集成环境xampp中apache无法启动问题解决方案

    2023-07-17 22:44:52
  • mysql主键,外键,非空,唯一,默认约束及创建表的方法

    2024-01-17 18:18:06
  • Python os.access()用法实例

    2022-12-06 01:37:50
  • python虚拟环境的安装配置图文教程

    2023-09-23 09:03:04
  • SQL Server Reporting Services 匿名登录的问题及解决方案

    2024-01-20 04:24:05
  • 使用Python串口实时显示数据并绘图的例子

    2023-12-26 14:41:46
  • Python数据类型之List列表实例详解

    2021-01-15 17:06:45
  • asp之家 网络编程 m.aspxhome.com