Фон
У меня есть 8k паркетных файлов, представляющих таблицу, которую я хочу поместить в отдельный столбец, создавая новый набор 8k паркетных файлов. Я хочу сделать это так, чтобы соединения из других наборов данных в столбце с сгруппированными данными не требовали перестановки. Документация, над которой я работаю, находится здесь:
https://spark.apache.org/docs/latest/sql-data-sources-load-save-functions.html#bucketing-sorting-and-partitioning
Вопрос
Какой самый простой способ вывода паркетных файлов, которые упакованы? Я хочу сделать что-то вроде этого:
df.write()
.bucketBy(8000, "myBucketCol")
.sortBy("myBucketCol")
.format("parquet")
.save("path/to/outputDir");
Но в соответствии с документацией, указанной выше:
Группировка и сортировка применимы только к постоянным таблицам
Полагаю, мне нужно использовать saveAsTable
вместо save
. Однако saveAsTable
не идет по пути. Нужно ли создавать таблицу до вызова saveAsTable
. В этом операторе создания таблицы я объявляю, где должны быть записаны файлы паркета? Если да, то как мне это сделать?