提问者:小点点

AWSRedshift Spectrum十进制类型读取镶木地板双类型


我有Pandas编写的镶木地板文件(py箭头),其中字段为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'

当进行简单的选择查询时,它显示模式不兼容的错误=

我所做的研究:
在Pandas/pyarrow上,当写入parmat时,我似乎无法将模式调整为十进制。
在Redshift上,Double type不支持外部表(频谱)


共1个答案

匿名用户

解决了这个问题。在镶木地板中使用红移“双精度”类型进行双精度。