web-dev-qa-db-fra.com

Comment lire le fichier de plume en natif?

J'ai feather format file sales.fea que j'utilise pour échanger des données entre python et R. 

En R, j'utilise la commande suivante:

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

En python, j'ai utilisé cela:

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

Quel est le moyen le plus rapide/le meilleur de charger des données de ce fichier en mémoire dans une instance Spark gérée à partir de pyspark?

Je ne veux pas utiliser de pandas pour charger des données, car cela crée des segfaults pour mon fichier de plumes de 19 Go, créé à partir de 45 Go de csv.

Ma pensée est que Spark est tellement tendance et plume aussi, et je m'attends à une manière plus native que de passer par des solutions provisoires sous-efficaces.

7
jangorecki

Vous pouvez convertir un cadre de données pandas en un cadre de données Spark comme suit.

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

depuis pyspark import SparkContext

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

puis utilisez createDataFrame comme ci-dessous:

spark_df = sql.createDataFrame(pandas_df)
0
Rubin bhandari

Peut-être pourriez-vous envisager de passer au format parquet? On dirait plus approprié à votre cas d'utilisation, voir Quelles sont les différences entre plume et parquet?

0
dkapitan