Как создать файл паркета из CSV с нашей собственной схемой в pyarrow - PullRequest
1 голос
/ 07 июня 2019

Я попытался преобразовать исходные файлы паркета в csv, а выходной файл csv снова в паркет. При сравнении исходного и созданного паркетов значения в соответствии со схемой имели место несоответствие типов. Есть ли способ создать файл партера с точно такая же схема, как и в оригинальном источнике?

Это код:

import pyarrow.parquet as pq
import numpy as np
import pandas as pd
import pyarrow as pa

schema_full=pq.read_schema(source_path+'\\'+onlyfiles[0])
full_df = pd.concat(pd.read_parquet(source_path+'\\'+parquet_file) for 
parquet_file in onlyfiles)
full_df.to_csv(target_path+'\\'+target_filename+'.csv', index=False)

Target_df = pd.read_csv(target_path+'\\'+target_filename+'.csv',index=False)
target_table=pa.Table.from_pandas(Target_df)
pa.Table.cast(target_table,schema_full)
print(target_table)

Ниже приведена ошибка, которую я получил:

Traceback (most recent call last):
  File "C:\Users\*****\Documents\Python Scripts\parq_ascii_pyarrow.py", line 31, in <module>
    pa.Table.cast(target_table,schema_full)
  File "pyarrow\table.pxi", line 1390, in itercolumns
  File "pyarrow\table.pxi", line 410, in pyarrow.lib.Column.cast
  File "pyarrow\error.pxi", line 89, in pyarrow.lib.check_status
pyarrow.lib.ArrowNotImplementedError: No cast implemented from double to decimal(8, 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...