una tabla seleccionar listas filtrar filas eliminar datos data crear contar como columna agregar r apache-spark parquet sparkr

tabla - ¿Cómo leo un parquet en R y lo convierto en un DataFrame R?



listas en r (4)

Me gustaría procesar archivos Apache Parquet (en mi caso, generados en Spark) en el lenguaje de programación R.

¿Hay un lector R disponible? ¿O se está trabajando en uno?

Si no, ¿cuál sería la forma más conveniente de llegar allí? Nota: hay enlaces de Java y C ++: https://github.com/apache/parquet-mr


Como alternativa a SparkR , ahora sparklyr usar sparklyr :

# install.packages("sparklyr") library(sparklyr) sc <- spark_connect(master = "local") spark_tbl_handle <- spark_read_parquet(sc, "tbl_name_in_spark", "/path/to/parquetdir") regular_df <- collect(spark_tbl_handle) spark_disconnect(sc)


Para leer un archivo de parquet en un cubo de Amazon S3, intente usar s3a en lugar de s3n. Eso me funcionó cuando leí archivos de parquet usando EMR 1.4.0, RStudio y Spark 1.5.0.


Si está utilizando Spark, ahora esto es relativamente simple con el lanzamiento de Spark 1.4. Vea el código de ejemplo a continuación que utiliza el paquete SparkR que ahora forma parte del marco central de Apache Spark.

# install the SparkR package devtools::install_github(''apache/spark'', ref=''master'', subdir=''R/pkg'') # load the SparkR package library(''SparkR'') # initialize sparkContext which starts a new Spark session sc <- sparkR.init(master="local") # initialize sqlContext sq <- sparkRSQL.init(sc) # load parquet file into a Spark data frame and coerce into R data frame df <- collect(parquetFile(sq, "/path/to/filename")) # terminate Spark session sparkR.stop()

Se muestra un ejemplo ampliado en https://gist.github.com/andyjudson/6aeff07bbe7e65edc665

No tengo conocimiento de ningún otro paquete que pueda usar si no estuviera usando Spark.


Spark se ha actualizado y hay muchas cosas y funciones nuevas que están en desuso o han sido renombradas.

La respuesta de Andy está trabajando para la chispa v.1.4, pero en la chispa v.2.3 esta es la actualización donde funcionó para mí.

  1. Descargue la última versión de apache spark https://spark.apache.org/downloads.html (punto 3 en el enlace)

  2. extraer el archivo .tgz

  3. instalar el paquete rstudio en rstudio

    install.packages(''devtools'')

  4. Abre el terminal y sigue estos pasos.

    # This is the folder of extracted spark `.tgz` of point 1 above export SPARK_HOME=extracted-spark-folder-path cd $SPARK_HOME/R/lib/SparkR/ R -e "devtools::install(''.'')"

  5. Vuelve a rstudio

    # load the SparkR package library(SparkR) # initialize sparkSession which starts a new Spark session sc <- sparkR.session(master="local") # load parquet file into a Spark data frame and coerce into R data frame df <- collect(read.parquet(''.parquet-file-path'')) # terminate Spark session sparkR.stop()