Запись файлов разбитого паркета с помощью Polars без перезаписи существующих файлов (добавление)Python

Программы на Python
Anonymous
 Запись файлов разбитого паркета с помощью Polars без перезаписи существующих файлов (добавление)

Сообщение Anonymous »

У меня есть потоковые данные в формате JSON, которые я преобразую в кадр данных Polars, а затем записываю данные в виде паркета, разделенного на два столбца. Я заметил, что если новая запись имеет тот же раздел, то вместо записи дополнительного файла в папку она просто перезаписывает старые данные новыми. Я хочу сохранить старые данные и записать новые данные в папку раздела.
Вот воспроизводимый пример:

Код: Выделить всё

# Create a record
df_a = pl.DataFrame(
{
'type': ['a'],
'date': ['2024-08-15'],
'value': [68]
}
)

# Create a record
df_b = pl.DataFrame(
{
'type': ['a'],
'date': ['2024-08-15'],
'value': [39]
}
)

# Write the first record partitioned by type and date
df_a.write_parquet('./data/example.parquet', partition_by=['type', 'date'])

# Write the second record partitioned by type and date where the type and date are the same as the first record
df_b.write_parquet('./data/example.parquet', partition_by=['type', 'date'])

# Read the written data
check = pl.read_parquet('./data/example.parquet/')
Вы увидите, что в считанных данных сохраняются только данные df_b. Я хочу, чтобы обе данные были сохранены. Я также не хочу читать предыдущие данные и добавлять к ним новые данные с помощью pl.concat() перед их повторной записью.

Подробнее здесь: https://stackoverflow.com/questions/788 ... sting-file

Вернуться в «Python»