Как прочитать файл паркета как R data.frame без каких-либо других зависимостей (таких как spark, python и т. Д.)? - PullRequest
2 голосов
/ 14 марта 2019

Мне нужно прочитать некоторые файлы 'paraquet' в R. Есть несколько решений, использующих

  1. sparklyr :: spark_read_parquet (для которого требуется 'spark')
  2. reticulate (для которого нужен Python)

Теперь проблема в том, что мне не разрешено устанавливать какой-либо инструмент, кроме R. Есть ли в R доступный пакет, который может читать 'паракет "без использования какого-либо другого инструмента?

1 Ответ

1 голос
/ 14 марта 2019

Вы можете использовать arrow для этого (то же самое, что и в Python pyarrow), но в настоящее время это также поставляется в комплекте с R (без использования Python). Поскольку он еще не доступен в CRAN, сначала вам нужно вручную установить Arrow C ++:

git clone https://github.com/apache/arrow.git
cd arrow/cpp && mkdir release && cd release

# It is important to statically link to boost libraries
cmake .. -DARROW_PARQUET=ON -DCMAKE_BUILD_TYPE=Release -DARROW_BOOST_USE_SHARED:BOOL=Off
make install

Затем вы можете установить пакет R arrow:

devtools::install_github("apache/arrow/r")

И использовать его для загрузки файла Parquet

library(arrow)
#> 
#> Attaching package: 'arrow'
#> The following object is masked from 'package:utils':
#> 
#>     timestamp
#> The following objects are masked from 'package:base':
#> 
#>     array, table
read_parquet("somefile.parquet", as_tibble = TRUE)
#> # A tibble: 10 x 2
#>        x       y
#>    <int>   <dbl>
#> …
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...