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

PySpark 使用pyarrow指定版本

背景说明

在 PySpark 3.1.3 环境中,当需要使用与集群环境不同版本的 PyArrow (如 1.0.0 版本)时,可以通过以下方法实现,而无需更改集群环境配置

完整操作说明

  1. 去pyarrow·PyPI下载对应版本的whl文件
  2. 后缀whl直接改成zip
  3. 解压后有两个文件夹,分别是pyarrow和pyarrow-1.0.0.dist-info
  4. 直接把那两个文件夹打包成pyarrow.zip

因为pyarrow里不是单纯的python代码,还有C扩展,所以不能用--py-files 参数,只能放在--archives参数里

spark -submit spark-submit \--master yarn \--deploy-mode cluster \  --executor-memory 4G \--num-executors 10 \--archives /my_path/pyarrow-1.0.0.zip#pyarrow  #必须添加的参数your_script.py
  • #pyarrow 表示在容器内解压到 ./pyarrow 目录

pyspark里要添加对应代码

from pyspark.sql import SparkSession
import pyspark.sql.functions as F
from pyspark.sql.functions import pandas_udf
import pyspark.sql.types as T
import pandas as pd
import os, sys# 初始化Spark并配置Arrow支持
spark = SparkSession.builder.config("spark.sql.execution.arrow.pyspark.enabled", "true").getOrCreate()# 加载自定义PyArrow
**pyarrow_dir = os.path.join(os.getcwd(), "pyarrow") # 对应 --archives 中的解压目录
sys.path.insert(0, pyarrow_dir)  # 添加到 Python 路径**import pyarrow
print("pyarrow version ", pyarrow.__version__) # 应显示 1.0.0# 定义大写转换UDF
@pandas_udf(T.StringType())
def uppercase(s: pd.Series) -> pd.Series:return s.str.upper()# 数据读取和处理
df = spark.read.load("my_path_tofile/*").select("version")
df.withColumn("hh", uppercase(F.col("version"))).show()

相关文章:

  • Android-Mod-Menu 使用教程
  • AlibabaCloud+SpringCloud简述
  • 基于Python学习《Head First设计模式》第十三章 现实世界中的模式
  • Python3 学习(菜鸟)-02基本数据类型
  • 基于Python学习《Head First设计模式》第十一章 代理模式
  • 使用Cursor + Devbox + Uniapp 一站式AI编程开发移动端(App、H5、小程序)
  • 分布式定时任务系列12:XXL-job的任务触发为什么是死循环?
  • 动态组件(component)的高级使用
  • 软件测试之简单基础的安全测试方法(另外包含软测面试题库)
  • 【Flutter】程序报错导致的灰屏总结
  • LangChain自动化工作流实战教程:从任务编排到智能决策
  • 计算机网络学习笔记:运输层概述UDP、TCP对比
  • IDEA高效快捷键指南
  • 刚学到一个使用共享软件而禁用弹窗的工具:微软电脑管家
  • 精益数据分析(104/126):免费移动应用的用户活跃率与付费转化优化策略
  • 项目拓展-Jol分析本地对象or缓存的内存占用
  • OCCT基础类库介绍:Modeling Data - 2D Geometry 3D Geometry Topology
  • ImportError: DLL load failed while importing win32api: 找不到指定的模块
  • 5G核心网Non-IP数据报文转发机制:Unstructured会话与协议栈解析
  • 每天一个前端小知识 Day 1
  • 广州网站建设公司网络安全优化/站长之家查询域名
  • 企业vi设计的作用与意义/兴安盟新百度县seo快速排名
  • 政府网站建设自查/网络产品运营与推广
  • 内蒙古集宁建设厅官方网站/刷排名seo软件
  • 安丘网站建设报价/淘宝关键词指数
  • 网站建设 中企动力西安/如何用模板建站