Apache Spark 如何读取feather/arrow文件?

kh212irz  于 2023-04-07  发布在  Apache
关注(0)|答案(3)|浏览(211)

我有一个 feather 格式的文件sales.feather,我正在使用它在python和R之间交换数据。
在R中,我使用以下命令:

df = arrow::read_feather("sales.feather", as_data_frame=TRUE)

在Python中,我使用了:

df = pandas.read_feather("sales.feather")

从该文件加载数据到内存到从pyspark操作的Spark示例的最佳方法是什么?我还想控制pyspark.StorageLevel从feather读取数据。
我不想使用pandas来加载数据,因为它会为我的19GB feather文件(从45GB csv创建)分割错误。

lf5gs5x2

lf5gs5x21#

也许您可以考虑切换到 parquet 格式?看起来更适合您的使用情况,请参阅What are the differences between feather and parquet?

3npbholx

3npbholx2#

您可以将pandas dataframe转换为Spark dataframe,如下所示。

from pyspark.sql import SQLContext, Row
sqlContext = SQLContext(sc)
spark_df = sqlContext.createDataFrame(pandas_df)
azpvetkf

azpvetkf3#

from pyspark import SparkContext

sc = SparkContext("local", "App Name")
sql = SQLContext(sc)

然后像下面这样使用createDataFrame:

spark_df = sql.createDataFrame(pandas_df)

相关问题