对象存储OSS(Object Storage Service)具有海量、可靠、安全、高性能、低成本的特点。OSS提供标准、低频、归档类型,覆盖多种数据从热到冷的存储需求,单个文件的大小从1字节到48.8TB,可以存储的文件个数无限制。OSS已成为互联网、企业级数据应用的基础设施。通常,获取对象存储数据的通方式为:获取整个对象,或按指定的字节范围来获取数据。今天,我们重磅推出OSS Select,直接使用简单的SQL语句,从OSS的文件中选取所需要的内容。
OSS Select介绍
使用SQL选取OSS文件中的内容
OSS Select(公测中)让开发者可以直接使用SQL语句,从OSS文件中选取需要的内容。
使用OSS Select,只获取应用程序所需的查询结果,并支持并发地分片查询,会大幅提升程序的性能,通常情况下能有400%的提升。
公测说明:
1.文件格式:公测期间支持未加密的CSV格式或者有分隔符的UTF8文本文件,
2.参考RFC4180,公测期间支持标准、低频类型的Object
3.支持RangeQuery(公测期间,RangeQuery模式下不支持Use Header Name)
4.OSS Select公测期间免费
5.后续阿里云EMR、DataLakeAnalytics、MaxCompute、HybridDB等都会陆续支持OSS Select
使用示例(python)
以上是一个简单的python示例,使用SQL查询OSS的对象,并将结果输出到文件汇总。
除了将查询结果输出到文件,还可以将查询结果直接返回
查询结果:
测试示例
您可以使用OSS Select来加速您的各类应用。OSS Select团队,创建了一个Spark的示例,基于OSS Select,实现 Spark Data Source API。假设,您需要从大量的人员名单中,查询符合条件的人员信息。比如查询50岁以上,姓名中包含Tom的目标人员。
使用OSS Select提升应用程序性能
1.启用OSS Select,Spark借助OSS Select仅获取文件中所需要的数据;而禁用OSS Select,Spark获取整个文件
2.不使用OSS Select,查询需要78秒(1.3分钟)。而使用OSS Select,只需要11秒,程序性能提升6倍!
测试配置说明:
Spark测试集群配置:
Spark配置:
数据量:
CSV数据量为7GB。
本文作者:whj.
本文为云栖社区原创内容,未经允许不得转载。