如何原生阅读羽毛文件?

问题描述 投票:7回答:3

我有羽毛格式文件sales.fea,我用它来交换python和R之间的数据。

在R中我使用以下命令:

df = as.data.frame(feather::read_feather("sales.fea"))

在python我用过:

df = feather.read_dataframe("sales.fea")

将数据从该文件加载到内存到从pyspark运行的Spark实例的最快/最佳方法是什么?

我不想使用pandas来加载数据,因为它是我的19GB羽毛文件的段错误,由45GB csv创建。

我的想法是,Spark是如此时髦,也是羽毛,我希望有一些更本土化的方式,而不是通过次高效的临时解决方案。

apache-spark pyspark pyarrow feather
3个回答
2
投票

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

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

0
投票

也许你可以考虑改用镶木地板格式?看起来更适合您的用例,请参阅What are the differences between feather and parquet?


0
投票

来自pyspark导入SparkContext

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

然后使用createDataFrame,如下所示:

spark_df = sql.createDataFrame(pandas_df)
© www.soinside.com 2019 - 2024. All rights reserved.