сторону бакетинга. Начал его использовать, в плане всё стало хорошо, Exchange исчез. Но есть вопрос - в чем принципиальная разница в спарке между repartition(key1,key2,key3).save() и bucketBy(key1,key2,key3).save() ? Я же по идее могу просто вызвать репартишенинг по ключам джойна перед сохранением? эффект же тот же будет?
да, эффект тот же, но во втором случае он постоянный, потому что материализован
что-то не очень понимаю, что значит «постоянный» и «материализован». У меня что так, что так N паркет файлов появляется в бакене
Про бакетировании инфа запишется в table properties, и если читать дальше с помощью .table, то количество партиций, и их расположение будет фиксированным - удобно, если табличка редко меняется, но часто джойнится с другими. В ином случае нужно каждый раз при чтении делать .repartition, чтобы получить такой результат.
так можно же вызывать .repartition при записи ? и при чтении тогда не придётся
Обсуждают сегодня