用户可以自定义Amazon Redshift数据库函数了

编辑:光环大数据 来源: 互联网 时间: 2017-10-20 10:43 阅读:

  用户可以自定义AmazonRedshift数据库函数了,AmazonRedshift是一个完全托管的PB级数据仓库,使企业可以用一种经济的方式轻松分析其所有数据。近日,亚马逊云计算战略师JeffBarr宣布,AmazonRedshift新增标量用户定义函数(UDFs)(类似AmazonRedshift内置函数ROUND、SUBSTRING)支持,允许用户使用Python2.7定义可以在数据仓库中运行的非SQL数据处理代码。

据AmazonWebService医疗和生命科学解决方案架构师ChristopherCrosbie介绍,Python非常适合数据操作和分析,但作为一种解释型语言,它在消费大型数据仓库的数据时存在瓶颈,主要是在多个进程之间分配工作负载非常复杂。而在AmazonRedshift中,这种问题就不存在了,Python会像普通SQL查询一样并发执行,所以AmazonRedshift可以充分利用集群中的所有CPU内核执行UDFs。另一方面,有了PythonUDFs,用户就可以充分利用Python的特性,Python代码可以嵌入SQL语句,同SQL语句一起执行。

下面让我们看下Jeff举的例子,使用UDF简化复杂操作。

提取URL中的主机名可以使用如下正则表达式:

SELECTREGEXP_REPLACE(url,'(https?)://([^@]*@)?([^:/]*)([/:].*|$)',‘\3')FROMtable;

而如果用户引入一个PythonURL解析库URLParse,那么他就可以创建如下函数提取主机名:

CREATEFUNCTIONf_hostname(urlVARCHAR)RETURNSvarcharIMMUTABLEAS$$importurlparsereturnurlparse.urlparse(url).hostname$$LANGUAGEplpythonu;

如此一来,上述SQL代码就可以简化为:

SELECTf_hostname(url)FROMtable;

可以看出,用户除了可以自定义函数外,还可以利用Python库中现有的函数处理在SQL中不易表达的操作。用户甚至可以从S3和Web上添加自定义库。实际上,AmazonRedshiftUDFs已经集成了Python标准库和若干其它的库,如:

NumPy和SciPy:提供用于创建多维对象、操作矩阵的数学工具;

Pandas:基于NumPy和SciPy提供高级的数据操作工具;

Dateutil和Pytz:简化日期和时区数据操作。

另外,Jeff指出,AmazonRedshiftUDFs在一个完全隔离的容器中运行。也就是说,UDFs不会破坏集群或对性能产生负面影响。而且,这些自定义函数还无法写文件或访问网络。因此,它们非常安全。

  Python培训,就选光环大数据Python培训机构python学习地址:http://hadoop.aura.cn/python/


大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服

你可能也喜欢这些

在线客服咨询

领取资料

X
立即免费领取

请准确填写您的信息

点击领取
#第三方统计代码(模版变量) '); })();
'); })();