Чтение файлов секционированного паркета в DuckDBPython

Программы на Python
Anonymous
Чтение файлов секционированного паркета в DuckDB

Сообщение Anonymous »

Справочная информация:
  • DuckDB позволяет выполнять прямые запросы к файлам паркета. например con.execute("Выберите * из 'Hierarchy.parquet')
  • Parquet позволяет разделять файлы по значениям столбцов. Когда файл паркета разбит на разделы, создается ПАПКА верхнего уровня с именем файла паркета и подпапками для значений столбцов, и эти подпапки затем содержат фактические файлы данных паркета. Например,
    Hierarchy.parquet (папка) --> date=20220401 (подпапка) --> part1.parquet
Ожидаемое поведение
DuckDB для запроса разделенных И неразделенных файлов паркета.
Наблюдаемое поведение
DuckDB не работает при запросе разделенных файлов паркета и работает с неразделенными файлами паркета.

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

con.execute("Select * from 'Hierarchy.parquet'")
не работает с

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

RuntimeError: IO Error: No files found that match the pattern "Hierarchy.parquet"
, когда Hierarchy.parquet разделен.
запрос базовых файлов данных отдельных лиц работает нормально:

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

con.execute("Select * from 'Hierarchy.parquet/date=20220401/part1.parquet'")
Есть ли способ запросить файлы секционированного паркета с помощью DuckDB? Или это ограничение/баг?

Подробнее здесь: https://stackoverflow.com/questions/719 ... -in-duckdb

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