parquet-tools не может читать файлы zstd, но может читать gzip?

#python #pandas #amazon-s3 #parquet #parquet-mr

#python #панды #amazon-s3 #parquet #parquet-mr

Вопрос:

Я установил последнюю версию parquet-tools from apache-mr с помощью version parquet-tools-1.8.2.jar .

Вот воспроизводимый пример:

 >>> import boto3
>>> client = GET_CLIENT() # redacted
>>> import pandas as pd
>>> df = pd.DataFrame([[1,2,3]], columns=["a","b","c"])
>>> df
   a  b  c
0  1  2  3
>>> from io import BytesIO
>>> filebuf = BytesIO()
>>> df.to_parquet(filebuf, compression="zstd") # Change this to gzip and it works!
>>> client.put_object(Bucket="foo", Key="bar/example.zstd.parquet", Body=filebuf.getvalue())
 

Я aws s3 cp создал файл parquet и попытался запустить parquet-tools head его, но получил:

 $ parquet-tools head example.zstd.parquet
Could not read footer: java.lang.NullPointerException
 

Однако выполнение той же команды в файле, сжатом в gzip, дает мне:

 $ parquet-tools head example.gzip.parquet
a = 1
b = 2
c = 3
 

Это ошибка при сжатии zstd или parquet-tools? Или я где-то не читал fineprint?

ПРИМЕЧАНИЕ: мой parquet-tools псевдоним равен java -jar .../parquet-tools-1.8.2.jar