查看原文
其他

大咖专栏 | Redshift又添新功能:让用户直接查询S3中的海量数据而无需复制到本地

2017-05-16 薛军 AWS


大咖专栏

大咖专栏主要刊登亚马逊AWS诸位大咖亲自撰写的Blog,内容涉猎广泛,话题讨论前沿,且与实战紧密相连。我们非常欢迎小伙伴们在评论区留言,与大咖互动交流!


今天为大家撰文的大咖,是我们的AWS解决方案架构师——薛军老师。

薛军

AWS解决方案架构师

薛军获得了AWS解决方案架构师专业级认证和DevOps工程师专业级认证。他负责基于AWS的云计算方案架构的咨询和设计,同时致力于AWS云服务在国内的应用和推广,在互联网金融、保险、企业混合IT、微服务等方面有着丰富的实践经验。在加入AWS之前已有接近10年的软件开发管理、企业IT咨询和实施工作经验。

在以Amazon Redshift 数据仓库为核心的用户,常常陷入一个困境,要想利用该MPP架构的云端数据仓库能力,用户通常需要利用Redshift的 Copy命令将数据从S3并行拷贝到Redshift中,如果在数据量比较大的情况下,成本上的考量和业务上的诉求的矛盾会让用户犹豫不定; 尤其突出的矛盾是,客户的业务部门的需求涵盖数据范围同时包含数据仓库的数据和放在S3上的中间或者原始数据集,此时,我们能怎么做?

AWS大数据最佳实践的启示

AWS大数据最佳实践告诉我们要将数据的存储和处理、分析相分离,比如在Amazon EMR服务架构中(如下图),要分析的数据集按照一定的格式压缩存储在Amazon S3上,在EMR中通过Hive定义外表关联到S3上的数据,但不复制到EMR本地,从而实现了数据存储和分析处理的解耦;在大量的用户实践中,我们发现如此的架构优化,可以帮助客户节约大量的存储成本。同时,EMR分析集群无状态化,可以按需动态启动和停止EMR集群,从而优化了计算成本。同理,我们能否在Redshift数据仓库中引入类似的外部表的概念呢?

应用程序(Application)

Amazon Redshift Spectrum简介

Amazon Redshift Spectrum是Redshift的一个新特性,它可以帮助客户将Redshift的分析能力从本地存储扩展到Amazon S3数据湖中海量的非结构化数据而不需要加载数据。通过Redshift Spectrum您可以将热数据存储到 Amazon Redshift 群集中,以获得本地磁盘性能;同时使用 Amazon Redshift Spectrum 将您的查询扩展到 Amazon S3 中存储的冷数据,以获得无限的可扩展性和低成本。


详细情况请参考官方介绍:

https://aws.amazon.com/cn/redshift/spectrum/

目标人群及应用场景

该新功能的推出完善了Redshift数据仓库用户的大数据分析的应用场景,客户可以直接利用Redshift和Redshift Spectrum的能力同时处理本地和S3上的数据集;所以,目标受众是Redshift数据仓库的用户比如金融、电商、游戏等等行业客户。

从应用场景来看,可以满足如下业务需求:

· 针对数据仓库本地数据和S3上的数据提供一致的、熟悉的数据仓库操作体验

· 提供终端用户统一的BI或者SQL客户端接入

· 跨数据仓库热数据和S3冷数据的复杂混合查询

· 满足低频的业务全数据的低成本即席查询

大数据处理示例管道

本大数据处理示例管道展示了以Redshift数据仓库为核心的典型用户场景,原始数据、中间结果和ETL处理之后的数据都保存在数据湖Amazon S3上;用户通过BI工具或者熟悉的SQL客户端通过Redshift(包括Redshift Spectrum)操作所有的业务数据,包括大数据量的原始数据和存储在数据仓库本地的热数据;客户无需专门为了某个业务的特殊需求,将数据从冷数据从S3复制到Redshift本地再作分析。

应用程序(Application)

支持的数据格式

Redshift Spectrum 使用您已使用的开发数据格式在 Amazon S3 中直接查询数据,这些格式包括:

· 文本文件如 CSV格式文件

· 日志文件如TSV格式

· 列式格式如Apache Parquet和Hive中的RCFile格式   文件

· 二进制文件:Sequence格式文件

· 压缩格式支持:gzip、snappy、bz2

在接下来的内容里,我们会介绍:


关于Redshift Spectrum的新功能的试验

Redshift与 Amazon Athena、EMR及S3的关系

监控和查看查询细节

性能和成本

……


请感兴趣的小伙伴点击“阅读原文”

或扫描/长按识别下方的二维码

阅读完整版文章


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存