Чтение паркетных файлов из S3 bucket в пакетном режиме в датафрейм - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть ведро с несколькими папками внутри него. Он состоит из нескольких gz.parquet около 150 КБ около 30 ГБ данных в корзине. Я могу прочитать объект как имена папок и внутри gz.parquet, но я хотел прочитать паркетами gz.parquet партиями 100-200 с в фрейм данных spark

def getObjectFilesPath(bucketName: String, prefixName: String): Seq[S3ObjectSummary] = {
    val listObjectsRequest = new ListObjectsRequest()
      .withBucketName(bucketName)
      .withPrefix(prefixName)
      .withDelimiter("/")
    val objectListing: ObjectListing = s3Client.listObjects(listObjectsRequest)
    val data = getObjectsSummaries(objectListing)
    data   }

Он дает значения относительно имени папки и паркетные файлы внутри него. Например: если в тестовом имени корзины есть 3 папки, то

tstamp=2019-01-02
tstamp=2019-01-03
tstamp=2019-01-04

tstamp = 2019-01-02 содержит 100 тыс. Паркетных файлов и других папок и т. Д.

Как получить стратегию загрузки в Пакеты только 200-файлов файлов в кадре данных для обработки с учетом использования каждого исполнителя, определенного

...