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

PySpark任务提交

一般情况下,spark任务是用scala开发的,但是对于一些偏业务人员,或者是基于上手的来说python的API确实降低了开发前置条件的难度,首当其冲的就是能跳过Java和Scala需要的知识储备,但是在提交任务到集群的时候就很麻烦了,不只是spark自身pyspark提交时不同参数导致的大小写等问题,最麻烦的是spark和python版本上的兼容与否,2.x的spark一般用3.7以下的,3.x需要3.8以上的python,还有各种小毛病都是细节上的问题。

第一步:需要下载anaconda。

清华源-》https://mirrors.tuna.tsinghua.edu.cn/#
最终下载路径-》https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh

下载后,在linux上运行脚本

sh Anaconda3-2022.10-Linux-x86_64.sh

第二步:将需要的环境打包成一个压缩包

创建一个python3.x的环境,{name} 自定义,后面是包含一个python3.9的包

conda create -n {name} python=3.9 --offline

激活这个环境,并安装需要的python第三方类库,比如pyspark

conda activate {name}
conda install pip --offline
pip install pyspark==3.2.1

当你安装完所有的需要库之后,把环境打包

conda env list
看到环境所在的地址cd {环境名}zip -r {包名}.zip {环境名}

第三步:用你的环境包去提交任务

# client 模式
$SPARK_HOME/spark-submit \
--master yarn \
--deploy-mode client \
--num-executors 2 \
--conf "spark.yarn.dist.archives=<Python包路径>/Python包名字.tgz#Python别名" \
--conf "spark.yarn.appMasterEnv.PYSPARK_PYTHON=./Python别名/bin/python" \
本地python路径比如Hello.py# cluster 模式
$SPARK_HOME/spark-submit \
--master yarn \
--deploy-mode cluster \
--num-executors 2 \
--conf "spark.yarn.dist.archives=<Python包路径>/Python包名字.tgz#Python别名" \
--conf "spark.yarn.appMasterEnv.PYSPARK_PYTHON=./Python别名/bin/python" \
本地python路径比如Hello.py

这里要注意的是一个大坑点!!!!,spark引擎在提交pyspark任务的参数上有其他的,比如--archivesspark.yarn.appMasterEnv.PYSPARK_DRIVER_PYTHON等,这些参数慎用!有兼容性问题。从使用经验上来说上面的两个就够了。


conda其他命令:

 1、创建环境:conda create --name 环境名称用途:用于创建一个新的Conda环境,可以指定环境的名称。2、激活环境:conda activate 环境名称用途:用于激活指定名称的Conda环境。3、停用环境:conda deactivate用途:用于停用当前激活的Conda环境。4、删除环境:conda remove --name 环境名称 --all用途:用于删除指定名称的Conda环境,--all参数表示删除环境及其所有安装的包。5、安装包:conda install 包名称用途:用于在当前环境中安装指定的包。6、升级包:conda update 包名称用途:用于更新已安装包的版本。7、卸载包:conda remove 包名称用途:用于从当前环境中卸载指定的包。8、查看已安装的包:conda list用途:用于列出当前环境中已安装的包。9、搜索包:conda search 包名称用途:用于在Conda仓库中搜索指定的包。10、创建环境配置文件:conda env export > environment.yaml用途:用于将当前环境的配置导出到一个YAML文件中,以便在其他地方进行复制或重建环境。11、查看配置信息:conda config --show显示当前的Conda配置信息,包括通用配置、环境配置和用户配置。12、查看某个配置项的值:conda config --show 配置项显示特定配置项的当前值,例如:conda config --show channels用于显示当前配置的通道列表。13、设置配置项的值:conda config --set 配置项=值例如:conda config --set channels conda-forge用于将通道设置为conda-forge。14、添加通道:conda config --add channels 通道名称向配置中添加一个新的通道,使Conda在包搜索和安装时优先考虑该通道。15、移除通道:conda config --remove channels 通道名称从配置中移除指定的通道,使Conda不再使用该通道。16、列出所有通道:conda config --get channels列出当前配置中所有配置的通道。17、重置配置项:conda config --remove-key 配置项重置指定配置项的值为默认值。18、编辑配置文件:conda config --edit打开配置文件以进行手动编辑,可以修改各种配置选项。19、创建具有指定版本的环境:conda create --name myenv python=3.10.620、从环境中导出和导入环境配置导出环境配置conda env export --name myenv --file environment.yaml导入环境配置conda env create --file environment.yaml21、创建一个虚拟环境的克隆:conda create --name myclone --clone myenv`

相关文章:

PySpark任务提交

一般情况下&#xff0c;spark任务是用scala开发的&#xff0c;但是对于一些偏业务人员&#xff0c;或者是基于上手的来说python的API确实降低了开发前置条件的难度&#xff0c;首当其冲的就是能跳过Java和Scala需要的知识储备&#xff0c;但是在提交任务到集群的时候就很麻烦了…...

【果蔬购物商城管理与推荐系统】Python+Django网页界面+协同过滤推荐算法+管理系统网站

一、介绍 果蔬购物管理与推荐系统。本系统以Python作为主要开发语言&#xff0c;前端通过HTML、CSS、BootStrap等框架搭建界面&#xff0c;后端使用Django框架作为逻辑处理&#xff0c;通过Ajax实现前后端的数据通信。并基于用户对商品的评分信息&#xff0c;采用协同过滤推荐…...

【大模型】海外生成式AI赛道的关键玩家:OpenAI、Anthropic之外还有谁?

引言 在生成式AI快速发展的今天&#xff0c;不同公司在各自领域发挥着独特作用。本文将从基础模型研发、开发工具框架、垂直领域应用三个维度&#xff0c;为读者梳理当前生成式AI技术领域的主要参与者&#xff0c;帮助开发者更好地把握技术发展方向。 一、基础模型研发公司 O…...

kubevirt cloud-init配置

https://cloudinit.readthedocs.io/en/latest/reference/examples.html (示例) https://cloudinit.readthedocs.io/en/latest/reference/faq.html (常见问题) https://cloudinit.readthedocs.io/en/latest/howto/debug_user_data.html (检查user_data) https://clo…...

Oracle 大表添加索引的最佳方式

背景&#xff1a; 业务系统中现在经常存在上亿数据的大表&#xff0c;在这样的大表上新建索引&#xff0c;是一个较为耗时的操作&#xff0c;特别是在生产环境的系统中&#xff0c;添加不当&#xff0c;有可能造成业务表锁表&#xff0c;业务表长时间的停服势必会影响正常业务…...

速度了解云原生后端!!!

云原生后端是指基于云计算技术和理念构建的后端系统架构&#xff0c;旨在充分利用云计算的优势&#xff0c;实现快速部署、弹性扩展、高可用性和高效运维。以下是云原生后端的一些关键特点和技术&#xff1a; 容器化 容器化是云原生架构的核心之一&#xff0c;它使用容器技术&…...

云计算Openstack 虚拟机调度策略

OpenStack的虚拟机调度策略是一个复杂而灵活的系统&#xff0c;它主要由两种调度器实现&#xff1a;FilterScheduler&#xff08;过滤调度器&#xff09;和ChanceScheduler&#xff08;随机调度器&#xff09;。以下是对这两种调度器及其调度策略的详细解释&#xff1a; 一、F…...

在 macOS 上添加 hosts 文件解析的步骤

步骤 1: 打开 hosts 文件 打开终端&#xff1a; 你可以通过 Spotlight 搜索&#xff08;按 Cmd Space 并输入 Terminal&#xff09;来打开终端。 使用文本编辑器打开 hosts 文件&#xff1a; 在终端中输入以下命令&#xff0c;使用 nano 文本编辑器打开 hosts 文件&#xff1a…...

RHCE【防火墙】

目录 一、防火墙简介 二、iptables 实验一&#xff1a;搭建web服务&#xff0c;设置任何人能够通过80端口访问。 实验二&#xff1a;禁止所有人ssh远程登录该服务器 实验三&#xff1a;禁止某个主机地址ssh远程登录该服务器&#xff0c;允许该主机访问服务器的web服务。服…...

基于springboot的招聘系统的设计与实现

摘 要 随着互联网时代的发展&#xff0c;传统的线下管理技术已无法高效、便捷的管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;国家在工作岗位要求不断提高的前提下&#xff0c;招聘系统建设也逐渐进入了信息化时代。…...

长度最小的子数组(滑动窗口)

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0 。 示例 1&#xff1a; 输入&#xf…...

构建灵活、高效的HTTP/1.1应用:探索h11库

文章目录 构建灵活、高效的HTTP/1.1应用&#xff1a;探索h11库背景这个库是什么&#xff1f;如何安装这个库&#xff1f;库函数使用方法使用场景常见的Bug及解决方案总结 构建灵活、高效的HTTP/1.1应用&#xff1a;探索h11库 背景 在现代网络应用中&#xff0c;HTTP协议是基础…...

大学英语救星!GPT助你完美解答完型填空和阅读理解

文章目录 零、前言一、再来十篇完型填空和阅读理解操作指导拍照&#xff1a;完型填空拍照&#xff1a;阅读理解 二、感受 零、前言 学习过程中&#xff0c;总是会遇到一些问题&#xff0c;但不好意思总是去麻烦问老师或同学 gpt可以帮社恐的你&#xff0c;解决学习问题&#…...

【linux】centos编译安装openssl1.1.1

文章目录 背景用途编译安装openssl1.1.1d测试centos的python2 ssl模块是否正常pyenv编译python3.10需要配置环境变量(必须)编译python前记得安装依赖 背景 首先&#xff0c; centos7 通过yum安装的openssl-devel包是1.0.2k的&#xff0c;这玩意儿太老了。我们选择从源码安装op…...

SpringBoot环境下的学生请假管理平台开发

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…...

基于Transformer的路径规划 - 第五篇 GPT生成策略_解码方法优化

上一篇&#xff1a;基于Transformer的路径规划 - 第四篇 GPT模型优化 在上一篇中&#xff0c;我尝试优化GPT路径生成模型&#xff0c;但没有成功。在随机生成的测试集上&#xff0c;路径规划成功率只有99%左右。而使用传统的路径规划算法&#xff0c;例如A*&#xff0c;路径规划…...

项目模块十三:Util模块

一、项目设计思路 用于之后协议使用的工具类 二、静态成员函数 1、分割函数 static size_t Split(const string &src, const string &sep, vector<string> *array) string.find(const string &str, size_t pos 0) string.substr(size_t pos 0, size_t…...

10款舞台剧免费音频剪辑软件分享,你用过哪款?

在舞台剧的世界里&#xff0c;音乐是情感的传递者&#xff0c;是气氛的营造者。一个好的舞台剧&#xff0c;离不开精心剪辑的背景音乐。而选择合适的音频剪辑软件&#xff0c;就如同挑选舞台上的演员一样重要。今天&#xff0c;我们就从舞台剧音乐剪辑的角度&#xff0c;来聊聊…...

Redis常见面试题:ZSet底层数据结构,SDS、压缩列表ZipList、跳表SkipList

文章目录 一、Redis数据结构概述1.1 Redis有哪些数据类型1.2 Redis本质是哈希表1.3 Redis的哈希冲突与渐进式rehash1.4 数据结构底层1.4.1 简单动态字符串SDS1.4.2 双向链表&#xff08;后续已废弃&#xff09;1.4.3 压缩列表ZipList1.4.4 哈希表HashTable1.4.5 跳表SkipList1.…...

496.下一个更大元素Ⅰ

老样子&#xff0c;题目&#xff1a;496. 下一个更大元素 I - 力扣&#xff08;LeetCode&#xff09; 题解&#xff1a;代码随想录 AC代码&#xff1a; class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {Stack<Integer> stacknew Stack&l…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...