Pyarrow.lib.Schema vs. pyarrow.parquet.Schema - PullRequest
       42

Pyarrow.lib.Schema vs. pyarrow.parquet.Schema

0 голосов
/ 11 декабря 2018

Когда я пытаюсь загрузить многораздельный файл паркета, некоторые схемы ошибочно выводятся из-за отсутствия данных, которые заполняют схему нулями.Я думаю, что указание схемы в pyarrow.parquet.ParquetDataset исправит это, но я не знаю, как построить схему правильного типа pyarrow.parquet.Schema.Пример кода:

import pyarrow as pa
import pa.parquet as pq    
test_schema = pa.schema([pa.field('field1', pa.string()), pa.field('field2', pa.float64())])
paths = ['test_root/partition1/file1.parquet', 'test_root/partition2/file2.parquet']
dataset = pq.ParquetDataset(paths, schema=schema)

И ошибка:

AttributeError: 'pyarrow.lib.Schema' object has no attribute 'to_arrow_schema'

Но я не могу найти никакой документации о том, как построить схему pyarrow.parquet.Schema, как в документации (https://arrow.apache.org/docs/python/generated/pyarrow.parquet.ParquetDataset.html) и сделали только pyarrow.lib.Schema, которая выдает вышеуказанную ошибку.

1 Ответ

0 голосов
/ 11 декабря 2018

API для создания схемы Parquet в Python пока нет.Вы можете использовать тот, который вы читаете из определенного файла (см. pq.ParquetFile(...).schema).

Не могли бы вы открыть вопрос о проекте ARROW JIRA, чтобы запросить возможность конструировать схемы паркета в Python?

https://issues.apache.org/jira

...