假设我们想对很大的数据集时做查询,此时需要把数据加载到Redshift,加载完成后,我们也不知道后面会不会再查它:
数据保存到S3的价格远远低于Redshift磁盘的费用,Redshift Spectrum
就是利用这个优势,直接从S3上查询数据,处理完成后把结果和Redshift存储的数据做join查询。这样一来我们只需要把经常查询用到的数据放在Redshift
在执行Spectrum查询时,worker节点会检查Data Catalog
,以找到S3上数据的位置:
Redshift Spectrum底层是上千台自动伸缩的EC2
多个Redshift集群可同时查询一份S3上的数据集。当S3上数据发生变化时,Redshift能立即查询到
在查询时,Redshift集群和S3桶必需要在同一个region
不支持对外部表做更新操作
在支持Glue的区域, Redshift Spectrum
使用Glue Data Catalog
;在其他区域, Redshift Spectrum
使用Athena Data Catalog
。所以通常为Redshift授权这两个服务的访问