Spark, если есть хороший способ иметь maxRecordsPerFile на этапе загрузки - PullRequest
0 голосов
/ 24 марта 2020

Я разделил данные по пространственному столбцу (quadkey), хранящиеся на s3. Скажем, 5000 файлов в 150 разделах. При загрузке в мое приложение spark я хочу разбить эти данные на 15 000 разделов, но хочу сохранить уже существующее разделение. Например, обычно у меня сейчас 200 МБ на раздел, поэтому я хочу разбить эти разделы до 50 МБ, а для разделов, у которых уже есть менее 50 МБ, я хочу сохранить их как есть. Конечно, есть много способов обойти это, но, может быть, есть какое-то элегантное решение, как у Spark на этапе сохранения:

preExportRdd.toDF
  .option("maxRecordsPerFile",maxCountInPartition)
  .mode(SaveMode.Append)
  .save(exportUrl)

, поэтому мне интересно, есть ли что-то вроде

sqlContext.read.parquet(paths:_*)
  .option("maxRecordsFromFile",maxCountInPartition)
...