Я использую Spark 2.4 в AWS EMR.Я использую Pyspark и SparkSQL для своего ELT / ETL и использую DataFrames с входом и выходом Parquet на AWS S3.
Начиная с Spark 2.4 , насколько я знаю, нет никакого способапометить или настроить имя файла выходных файлов (паркет).Пожалуйста, исправьте меня?
Когда я сохраняю выходные файлы паркета на S3, я получаю имена файлов, которые выглядят так:
part-43130-4fb6c57e-d43b-42bd-afe5-3970b3ae941c.c000.snappy.parquet
Средняя часть имени файла выглядит так, как будто имеет встроенный GUID / UUID:
part-43130- 4fb6c57e-d43b-42bd-afe5-3970b3ae941c .c000.snappy.parquet
Я хотел бы знать, могу ли я получить это значение GUID / UUID из PySpark или SparkSQLфункция в время выполнения , чтобы зарегистрировать / сохранить / отобразить это значение в текстовом файле?
Мне нужно зарегистрировать это значение GUID / UUID, потому что мне может понадобиться позднее удалить файлы сэто значение, как часть их имен, для целей ручного отката (например, через день или неделю я могу обнаружить, что эти данные каким-то образом повреждены и должны быть удалены, поэтому все файлы, помеченные GUID / UUID, могут быть идентифицированы иудалены).
Я знаю, что могу разделить таблицу вручную на столбце GUID, но потом у меня слишком много разделов, что снижает производительность.Мне нужно как-то пометить файлы для каждого задания загрузки данных, чтобы я мог легко их идентифицировать и удалить из S3, поэтому значение GUID / UUID представляется одним из возможных решений.
Открыто для любых других предложений.
Спасибо