Паркет Pyarrow не может прочитать набор данных с большими метаданными
Я использовал Петасторм
row_group_indexer
для построения индекса для столбца в наборе данных petastorm. После этого размер файла метаданных значительно увеличился, и Pyarrow больше не может загружать набор данных из-за этой ошибки:
OSError: Couldn't deserialize thrift: TProtocolException: Exceeded size limit
Вот код, который я использую для загрузки набора данных:
from pyarrow import parquet as pq
dataset_path = "path/to/dataset/"
dataset = pq.ParquetDataset(path_or_paths=dataset_path)
Код, используемый для индексации материализованного набора данных petastorm:
from pyspark.sql import SparkSession
from petastorm.etl.rowgroup_indexers import SingleFieldIndexer
from petastorm.etl.rowgroup_indexing import build_rowgroup_index
dataset_url = "file:///path/to/dataset"
spark = SparkSession.builder.appName("demo").config("spark.jars").getOrCreate()
indexer = [SingleFieldIndexer(index_name="my_index",index_field="COLUMN1")]
build_rowgroup_index(dataset_url, spark.sparkContext, indexer)