Я новичок в Apache Beam и пришел из мира Spark, где API настолько богат.
Как я могу получить схему файла Parquet, используя Apache Beam? без этого я загружаю данные в память, поскольку иногда это может быть огромным, и меня интересует только знание столбцов и, необязательно, типа столбцов.
Язык Python.
система хранения - Google Cloud Storage, и задание Apache Beam должно выполняться в потоке данных.
К вашему сведению, я попробовал следующее, как предложено в sof :
from pyarrow.parquet import ParquetFile
ParquetFile(source).metadata
Во-первых, это не сработало, когда я дал ему gs://..
путь, выдавая мне эту ошибку: error: No such file or directory
Затем я попытался найти локальный файл на моей машине, и у меня есть немного изменил код на:
from pyarrow.parquet import ParquetFile
ParquetFile(source).metadata.schema
И поэтому я мог бы иметь столбцы:
<pyarrow._parquet.ParquetSchema object at 0x10927cfd0>
name: BYTE_ARRAY
age: INT64
hobbies: BYTE_ARRAY String
Но это решение, как мне кажется, требует от меня, чтобы этот файл был локальным ( сервера потоков данных ??) и он не использует Apache Beam.
Любое (лучшее) решение?
Спасибо!