Запись большого JSON в CSV с использованием sparklyr - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь преобразовать большой JSON файл (6 ГБ) в CSV, чтобы упростить его загрузку в R. Я столкнулся с этим решением (из https://community.rstudio.com/t/how-to-read-large-json-file-in-r/13486/33):

library(sparklyr)
library(dplyr)
library(jsonlite)

Sys.setenv(SPARK_HOME="/usr/lib/spark")
# Configure cluster (c3.4xlarge 30G 16core 320disk)
conf <- spark_config()
conf$'sparklyr.shell.executor-memory' <- "7g"
conf$'sparklyr.shell.driver-memory' <- "7g"
conf$spark.executor.cores <- 20
conf$spark.executor.memory <- "7G"
conf$spark.yarn.am.cores  <- 20
conf$spark.yarn.am.memory <- "7G"
conf$spark.executor.instances <- 20
conf$spark.dynamicAllocation.enabled <- "false"
conf$maximizeResourceAllocation <- "true"
conf$spark.default.parallelism <- 32

sc <- spark_connect(master = "local", config = conf, version = '2.2.0')
sample_tbl <- spark_read_json(sc,name="example",path="example.json", header = TRUE, memory = FALSE,
                              overwrite = TRUE) 
sdf_schema_viewer(sample_tbl)

Я никогда раньше не использовал Spark, и я пытаюсь понять, где находятся загруженные данные в Rstudio и как я могу записать данные в CSV?

1 Ответ

0 голосов
/ 14 января 2020

Не уверен насчет sparklyr, но если вы пытаетесь прочитать большой файл json и пытаетесь записать в файл CSV, используя Spark R , ниже приведен пример кода для того же.

Этот код будет работать только в среде искры, а не в Rstudio

# A JSON dataset is pointed to by path.
# The path can be either a single text file or a directory storing text files.
path <- "examples/src/main/resources/people.json" 
# Create a DataFrame from the file(s) pointed to by path
people <- read.json(path)
# Write date frame to CSV
write.df(people, "people.csv", "csv")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...