Redshift中的Python UDF使用CTE的速度比直接选择查询快

时间:2018-07-05 08:23:27

标签: python-2.7 amazon-redshift user-defined-functions

我有一个用python编写的用于redshift的函数,下面的代码(计算两个日期“南非假期和周末”之间的营业日):

CREATE OR REPLACE FUNCTION b_days (start_date timestamp, end_date timestamp)
RETURNS INTEGER IMMUTABLE as $$
    from pandas import date_range
    from pandas.tseries.holiday import AbstractHolidayCalendar, Holiday

上进行测试时,代码超快速
  
      
  • Jupyter笔记本

  •   
  • 通过简单选择运行函数:select business_days('2018-06-29','2018-07-02')返回2作为答案

  •   
  • 使用CTE   with cte as( select id, sdate, edate from bigtable --with million rows ) select id, sdate, edate, business_days(sdate,edate) from cte

  •   

但是当我说时它会不停地运行

select id, sdate, edate, business_days(sdate,edate)
from bigtable --with million rows

0 个答案:

没有答案
相关问题