У меня есть паркетные файлы, написанные Пандасом (пиарроу) с полями типа Double.Ниже приведена схема паркета:
message schema {
optional binary domain (STRING);
optional binary type;
optional binary country;
optional binary region;
optional binary country_code (STRING);
optional int64 date (TIMESTAMP(MILLIS,true));
optional double visits;
optional double average_visit_duration;
}
Проблема: я использовал Redshift Spectrum для создания внешней таблицы для чтения данных в этом паркете.Схема таблицы:
CREATE EXTERNAL TABLE spectrum.similarweb_daily_current(
domain varchar(200),
type varchar(200),
country varchar(200),
region varchar(200),
country_code varchar(200),
visits decimal(38,37),
average_visit_duration decimal(38,37))
STORED as PARQUET
LOCATION
's3://XXX'
При выполнении простого запроса на выборку выдается ошибка, что схема несовместима => Double vs Decimal.У кого-нибудь есть идеи, как ее решить?
Изучение, которое я сделал:
В Pandas / pyarrow кажется, что я не могу настроить схему на десятичную при записи в паркет.
В Redshift,Тип double не поддерживает внешнюю таблицу (спектр)