AWS Redshift Spectrum десятичный тип для чтения паркет двойного типа - PullRequest
2 голосов
/ 10 мая 2019

У меня есть паркетные файлы, написанные Пандасом (пиарроу) с полями типа 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 не поддерживает внешнюю таблицу (спектр)

1 Ответ

0 голосов
/ 15 мая 2019

Решил это.Используйте Redshift "Double Precision" для двойного паркета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...