web-dev-qa-db-ja.com

sparkパッケージを使用せずにRで寄木細工のファイルを読み取る方法は?

Sparklyrを使用するか、実際にオーバーヘッドであるsparkクラスターを起動する必要がある別のsparkパッケージを使用すると、オンラインで多くの回答を見つけることができます。 pythonでは、 "pandas.read_parquet"またはApache矢印を使用してpythonでこれを行う方法を見つけることができました-これに似たものを探しています。

15
Gerg

Reticulateを使用すると、pandas from python=を使用してパーケットファイルを読み取ることができます。これにより、sparkを実行する手間を省くことができます。インスタンス。ApacheArrowがバージョンをリリースするまで、シリアル化のパフォーマンスが低下する可能性があります。

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)
2
Jonathan

あなたは単に矢印パッケージを使うことができます:

install.packages("arrow")
library(arrow)
read_parquet("myfile.parquet")
0
fc9.30