You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark读取Apache Arrow(.arrow后缀)文件方法求助

在PySpark中读取Apache Arrow格式文件(.arrow)的实现方法

方法一:通过pandas读取后转换为Spark DataFrame

适合中小规模数据,利用pandas对Arrow文件的原生支持:

  1. 安装依赖
    确保环境中已安装pyarrow和pandas,未安装则执行:
pip install pyarrow pandas
  1. 读取Arrow文件到pandas DataFrame
import pandas as pd
# 读取单个.arrow文件
pd_df = pd.read_feather("path/to/your/file.arrow")
# 批量读取可遍历文件路径后合并
# pd_df = pd.concat([pd.read_feather(f) for f in ["file1.arrow", "file2.arrow"]])
  1. 转换为Spark DataFrame
from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("ArrowRead").getOrCreate()
spark_df = spark.createDataFrame(pd_df)

方法二:Spark 3.2+直接读取Arrow数据源

适合大规模分布式场景,利用Spark原生Arrow数据源支持:

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("ArrowDirectRead").getOrCreate()
# 读取单个文件
spark_df = spark.read.format("arrow").load("path/to/your/file.arrow")
# 读取目录下所有.arrow文件
spark_df = spark.read.format("arrow").load("path/to/arrow_dir/*.arrow")

关键注意事项

  • 版本要求:方法二必须使用Spark 3.2及以上版本,低版本请改用方法一。
  • 文件格式:确保你的.arrow文件是Arrow IPC或Feather格式(两者均属于Apache Arrow规范,上述方法均支持)。
  • 集群环境:如果在分布式集群运行,需保证所有节点都安装了pyarrow,可通过集群初始化脚本或指定统一Python环境实现。

内容的提问来源于stack exchange,提问作者Johnas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 19:45:37