¿Cómo convertir de SparkR a sparklyr?
¿Cómo convierto un SparkDataFramede SparkRen un tbl_sparkde sparklyr?
Aquí se hizo una pregunta similar: Convierta el marco de datos de Spark en la tabla SparklyR "tbl_spark" .
La sugerencia fue usar la función sdf_copy_to, sin embargo, la entrada de esta función debe ser un objeto R en lugar de un SparkDataFrame.
¿Alguna sugerencia para solucionar este problema?
¡Gracias!
Respuestas
Utilice una tabla de Spark temporal para convertir de SparkR::SparkDataFramea sparklyr::tbl_spark.
Comenzando con un SparkDataFrameenSparkR
df_sparkr <- SparkR::createDataFrame(data.frame(
x = 1:10
))
Crea una tabla temporal en Spark
SparkR::registerTempTable(df_sparkr, "temp_df")
Leer la tabla usando sparklyr
sc <- sparklyr::spark_connect(master = "local")
df_sparklyr <- dplyr::tbl(sc, "temp_df")
Aquí hay un segundo método si sus datos son pequeños. Puede convertir a un marco de datos R normal y luego copiarlo en sparklyr. Esto no se recomienda si el marco de datos es grande.
df_normal <- SparkR::collect(df_sparkr)
df_sparklyr <- dplyr::copy_to(sc, df_normal)