45

R プログラミング言語でApache Parquetファイル (私の場合は Spark で生成)を処理したいと考えています。

Rリーダーは利用できますか? それとも、作業は 1 つに行われていますか?

そうでない場合、そこに到達するための最も便利な方法は何ですか? 注: Java および C++ バインディングがあります: https://github.com/apache/parquet-mr

4

9 に答える 9

14

の代わりにSparkR、次を使用できるようになりました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)
于 2017-11-09T15:49:10.520 に答える
6

reticulate を使用すると、python から parquet ファイルまで pandas を使用できます。これにより、spark インスタンスを実行する手間を省くことができます。

library(reticulate)
library(dplyr)
pandas <- import("pandas")
read_parquet <- function(path, columns = NULL) {

  path <- path.expand(path)
  path <- normalizePath(path)

  if (!is.null(columns)) columns = as.list(columns)

  xdf <- pandas$read_parquet(path, columns = columns)

  xdf <- as.data.frame(xdf, stringsAsFactors = FALSE)

  dplyr::tbl_df(xdf)

}

read_parquet(PATH_TO_PARQUET_FILE)
于 2019-02-20T17:39:28.020 に答える
1

Amazon S3 バケットで寄木細工のファイルを読み取るには、s3n の代わりに s3a を使用してみてください。EMR 1.4.0、RStudio、Spark 1.5.0 を使用して寄木細工のファイルを読み取るときは、これでうまくいきました。

于 2016-04-19T13:26:37.963 に答える