我有羽毛格式文件sales.fea
,我正在使用该文件在python
和R之间交换数据。
在R中,我使用以下命令:
df = as.data.frame(feather::read_feather("sales.fea"))
在python中,我使用了:
df = feather.read_dataframe("sales.fea")
将数据从该文件加载到内存并以pyspark
操作的Spark实例中最快/最好的方法是什么?
我不想使用熊猫来加载数据,因为它对从45GB CSV创建的19GB羽毛文件存在段错误。
我的想法是,Spark非常流行,也很富裕,我希望比通过次有效的临时解决方案更自然的方式。
答案 0 :(得分:2)
您可以按以下方式将pandas数据框转换为Spark数据框。
from pyspark.sql import SQLContext, Row
sqlContext = SQLContext(sc)
spark_df = sqlContext.createDataFrame(pandas_df)
答案 1 :(得分:0)
也许您可以考虑转换为实木复合地板格式?看起来更适合您的用例,请参见What are the differences between feather and parquet?
答案 2 :(得分:0)
从pyspark导入SparkContext
sc = SparkContext("local", "App Name")
sql = SQLContext(sc)
然后使用createDataFrame,如下所示:
spark_df = sql.createDataFrame(pandas_df)