当前位置: 首页 > news >正文

如何在spark中使用scikit-learn和tensorflow等第三方python包

目录

  • 1 打包需要的python包
  • 2 修改spark配置文件

1 打包需要的python包

首先我们用conda包管理工具对我们需要的python包进行虚拟环境创建:

conda create -n python37 --copy -y -q python=3.7 --prefix /your/workspace/path scikit-learn tensorflow

下面是对每个参数的解释(😁这里让chatgpt给出的解释,自己就不手打了😊)

conda create: 这是创建Conda环境的命令。

-n python37: -n参数后跟着你想要创建的环境的名称,这里是python37。你可以将环境名称替换为你喜欢的名称。

–copy: 这个选项指示Conda在创建环境时复制现有系统Python中的库。这有助于确保环境中包含与系统Python相同的库,以避免潜在的问题。

-y: 这个选项用于自动确认环境的创建,而不需要手动确认。

-q: 这个选项用于减少命令的输出,即以静默模式运行。

python=3.7: 这是要在环境中安装的Python版本的规范。在这个示例中,它指定要安装Python 3.7。

–prefix: 环境的安装位置

scikit-learn: 这是一个Python机器学习库,它会在新环境中安装。

tensorflow: 这是深度学习框架TensorFlow,也会在新环境中安装。

这个命令的目的是创建一个名为python37的Conda环境,将其中的Python版本设置为3.7,同时在环境中安装了scikit-learn和tensorflow软件包(后面可以放更多我们想要使用的python包),以便在该环境中进行机器学习和深度学习的开发和实验。环境名称、Python版本和要安装的软件包可以根据你的需求进行修改。
然后我们将生成的python环境进行压缩打包:

zip -r python37.zip /your/workspach/path/python37

2 修改spark配置文件

--archives /your/path/python37.zip#python37
--conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./python37/python37/bin/python3.7 \

–archives /your/path/python37.zip#python37:
–archives参数用于在Spark应用程序运行期间将本地压缩档案文件解压到YARN集群节点上。
/your/path/python37.zip 是包含Python环境的压缩文件的本地文件路径。
#python37 是为档案文件定义的别名,这将在Spark应用程序中使用。
这个参数的目的是将名为python37.zip的压缩文件解压到YARN集群节点,并将其路径设置为python37,以供Spark应用程序使用。这通常用于指定特定版本的Python环境,以便在Spark任务中使用。
–conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./python37/python37/bin/python3.7:
–conf参数用于设置Spark配置属性。
spark.yarn.appMasterEnv.PYSPARK_PYTHON 是一个Spark配置属性,它指定了YARN应用程序的主节点(ApplicationMaster)使用的Python解释器。
./python37/python37/bin/python3.7 是实际Python解释器的路径,它将在YARN应用程序的主节点上执行

这个参数的目的是告诉Spark应用程序在YARN的主节点上使用特定的Python解释器,即./python37/python37/bin/python3.7。这通常用于确保Spark应用程序使用正确的Python版本和环境来运行任务。

😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁
再宣传下这个方法是我们在用pyspark使用外部包的绝佳好方案

http://www.lryc.cn/news/211721.html

相关文章:

  • JS中call()、apply()、bind()改变this指向的原理
  • BUUCTF 镜子里面的世界 1
  • 【MySQL--->内置函数】
  • FFmpeg 从视频流中抽取图片
  • Oracle RU 19.21及 datapatch -sanity_checks
  • 云原生周刊:ingress2gateway 发布 | 2023.10.30
  • YOLOv8如何关闭AMP混合精度训练?
  • k8s、kubeadm安装
  • kinect v2获取人体骨骼数据
  • JDK、JRE及JVM的关系及作用
  • 组学数据上传(六)|GEO数据库数据上传实操
  • 洛谷,Hydro,Vijos,博客园,GitHub 分别是什么?
  • 自学VUE笔记
  • 系列四十二、Spring的事务传播行为案例演示(二)#REQUIRED
  • oracle rac-归档满处理
  • Python Django 之全局配置 settings 详解
  • 挑选MES系统供应商,需要考虑哪些重要因素?
  • Ai创作系统ChatGPT网站源码+图文搭建教程+支持GPT4.0+支持ai绘画(Midjourney)
  • 基于计算机视觉的坑洼道路检测和识别-MathorCup A(深度学习版本)
  • 【考研数学】概率论与数理统计 —— 第七章 | 参数估计(1,基本概念及点估计法)
  • 获取文本长度
  • python html(文件/url/html字符串)转pdf
  • Spring概述
  • Linux网卡
  • 【Python机器学习】零基础掌握ElasticNet变量选择回归器
  • 【数据结构】模拟实现Vecotr
  • Qt开发: 利用Qt的charts模块绘制曲线、饼图、柱状图、折线图等各种图表
  • Redis:加速你的应用响应时间,提升用户体验
  • 乐鑫 SoC 内存映射入门
  • 蓝凌EIS智慧协同平台saveImg接口存在任意文件上传漏洞