如何在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使用外部包的绝佳好方案
相关文章:
如何在spark中使用scikit-learn和tensorflow等第三方python包
目录 1 打包需要的python包2 修改spark配置文件 1 打包需要的python包 首先我们用conda包管理工具对我们需要的python包进行虚拟环境创建: conda create -n python37 --copy -y -q python3.7 --prefix /your/workspace/path scikit-learn tensorflow下面是对每个参…...

JS中call()、apply()、bind()改变this指向的原理
大家如果想了解改变this指向的方法,大家可以阅读本人的这篇改变this指向的六种方法 大家有没有想过这三种方法是如何改变this指向的?我们可以自己写吗? 答案是:可以自己写的 让我为大家介绍一下吧! 1.call()方法的原理…...

BUUCTF 镜子里面的世界 1
BUUCTF:https://buuoj.cn/challenges 题目描述: 下载附件,解压得到一张.png图片。 密文: 解题思路: 1、材料只有一张图片,题目提示“镜子里面的世界”结合图片中的英文“look very closely”(翻译为“仔…...

【MySQL--->内置函数】
文章目录 [TOC](文章目录) 一、日期函数二、字符串函数三、数学函数四、其他函数 一、日期函数 current_date();当前日期 current_time();当前时间 current_timestamp();当前时间戳 now();当前时间 date(‘date’);日期 date_sub(date,interval number second/minute/hour/d…...
FFmpeg 从视频流中抽取图片
抽取单个图片 使用 FFmpeg 进行截图:在终端或命令提示符下,使用以下命令进行截图: ffmpeg -i input.mp4 -ss 00:00:05 -vframes 1 output.jpg其中, -i input.mp4:指定输入的 H.264 文件路径和名称。 -ss 00:00:05&a…...
Oracle RU 19.21及 datapatch -sanity_checks
参考文档: Oracle Database Patch 35643107 - Database Release Update 19.21.0.0.231017 Datapatch User Guide (Doc ID 2680521.1) datapatch fails with ORA-04061/ORA-4065/ORA-04045/ORA-04067 due to Golden Gate triggers. (Doc ID 2301658.1) 在19.21的…...
云原生周刊:ingress2gateway 发布 | 2023.10.30
开源项目推荐 m9sweeper m9sweeper 是一个免费且简单的 Kubernetes 安全平台。它将行业标准的开源实用程序集成到一站式 Kubernetes 安全工具中,该工具可以帮助大多数 Kubernetes 管理员保护 Kubernetes 集群以及集群上运行的应用程序。 Kairos Kairos 是在 Kub…...
YOLOv8如何关闭AMP混合精度训练?
如果你是使用命令行运行的话,只需要在训练参数中添加–unamp即可.如果你是直接代码运行的话,找到这个参数parser.add_argument(‘–unamp’, action‘store_true’, help‘Unuse Automatic Mixed Precision (AMP) training’),修改为parser.add_argument(‘–unamp’, action‘…...

k8s、kubeadm安装
master(2C/4G,cpu核心数要求大于2) 192.168.86.11 docker、kubeadm、kubelet、kubectl、flannel node01(2C/2G) 192.168.86.22 docker、kubeadm、kubelet、kubectl、flannel node02(2C/2G) 1…...
kinect v2获取人体骨骼数据
#include <iostream> #include <string> #include <WS2tcpip.h> #pragma comment (lib, "ws2_32.lib") #include <chrono> #include <opencv2/opencv.hpp> #include <opencv2/core.hpp> // 核心功能,包括矩阵…...
JDK、JRE及JVM的关系及作用
1、JDK JDK(Java Development Kit)是java程序的开发工具集,包含了运行环境JRE、开发工具及基础类库等。 注意: 生产环境,目前使用JDK同时作为开发和运行环境的比较多,主要是为了排查问题方便的同时不用切…...

组学数据上传(六)|GEO数据库数据上传实操
最近有些老师反馈文章发表时要求提供GEO登录号,如:GSEXXXX,问要怎么获取这种登录号?这时就需要把数据上传至GEO数据库了。还在等什么,跟着小编了解下GEO数据库,手把手教您上传数据至GEO数据库。 GEO数据库全称GENE EXPRESSION OMNIBUS&…...
洛谷,Hydro,Vijos,博客园,GitHub 分别是什么?
洛谷(luogu.com.cn)是一个在线的算法竞赛平台,提供了大量的算法题目,可以进行刷题、比赛、交流等。Hydro 是一个开源的在线评测系统,用于处理洛谷和其他OJ平台的算法评测。Vijos(vijos.org)是另…...

自学VUE笔记
一、基础语法学习 1、Attribute 绑定 a、绑定单个属性:给这个div 增加id 属性 <div v-bind:id"dynamicId"></div>简写: <div :id"dynamicId"></div> b、绑定多个属性值 data() {return {objectOf…...

系列四十二、Spring的事务传播行为案例演示(二)#REQUIRED
一、演示Spring的默认传播行为(REQUIRED) 1.1、运行之前表中的数据 1.2、StockServiceImpl /*** Author : 一叶浮萍归大海* Date: 2023/10/30 15:43* Description:*/ Service(value "stockServiceREQUIRED") public class StockServiceImpl…...
oracle rac-归档满处理
有客户反馈数据库无法使用了,客户手动启动报错如下 SQL> startup; ORACLE instance started. Total System Global Area 2.6924E10 bytes Fixed Size 2265984 bytes Variable Size 1.3959E10 bytes Database Buffers 1.2952E10 bytes R…...

Python Django 之全局配置 settings 详解
文章目录 1 概述1.1 Django 目录结构 2 常用配置:settings.py2.1 注册 APP:INSTALLED_APPS2.2 模板路径:TEMPLATES2.3 静态文件:STATICFILES_DIRS2.4 数据库:DATABASES2.5 允许访问的主机:ALLOWED_HOSTS 1 …...

挑选MES系统供应商,需要考虑哪些重要因素?
挑选MES系统供应商时,需要考虑下述几个重要因素: 1.功能与特性:MES系统的功能和特性尤为重要。切实保障挑选的服务商可以满足企业的实际需求,包含生产计划管理、物料追踪、质量管理、机器设备等多个方面的功能。 2.系统可扩展性&a…...

Ai创作系统ChatGPT网站源码+图文搭建教程+支持GPT4.0+支持ai绘画(Midjourney)
一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统AI绘画系统,支持OpenAI GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署…...

基于计算机视觉的坑洼道路检测和识别-MathorCup A(深度学习版本)
1 2023 年 MathorCup 高校数学建模挑战赛——大数据竞赛 赛道 A:基于计算机视觉的坑洼道路检测和识别 使用深度学习模型,pytorch版本进行图像训练和预测,使用ResNet50模型 2 文件夹预处理 因为给定的是所有图片都在一个文件夹里面…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...