Hadoop Spark - хранить в одном большом файле вместо множества мелких и индексировать - PullRequest
0 голосов
/ 04 июня 2018

Ежедневно я вычисляю некоторые статистические данные и сохраняю их в файле (около 40 строк данных).DF ниже рассчитывается ежедневно.Проблема в том, что когда я храню его каждый день, он становится новым файлом, и я не хочу этого делать, поскольку hadoop плохо справляется с несколькими небольшими файлами.Я не могу переопределить файл, так как мне нужны исторические данные.

  1. Как я делаю один большой файл каждый день - т.е. я пишу в один и тот же мастер-файл вместо записи в новый файл ежедневно.

  2. Я знаю, что вы можете использовать coalese (1), я думаю, но я читал, что это имеет плохую производительность, поэтому я не знаю?

  3. Я хочу проиндексировать этот файл по временному столбцу внутри файла.Как мне этого добиться?

    df.repartition(1).write.save(mypath, format='parquet',mode='append', header='true')
    

1 Ответ

0 голосов
/ 04 июня 2018

Вы можете перезаписывать один и тот же старый файл ежедневно, делая это.DF.write.mode (SaveMode.Overwrite)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...