让决策更智能
新一代智能数据分析平台

ETL及卡片计算字段逻辑优化案例

观小数发表于:2020年02月07日 15:32:16更新于:2020年09月17日 19:14:37


案例一:window function尽量不要做嵌套处理

例如:sum([REALAMT]) over (partition by date_format([FILDATE],'yyyy-MM-dd'))

建议改为:

ETL先增加一个列来代表日期:date_format([FILDATE],'yyyy-MM-dd')

然后:sum([REALAMT]) over (partition by [日期])


案例二:多条件判断+筛选尽量做成一次筛选

例如:判断是否包含a、b、c字段,并筛选不包含这些字段的数据

0015e9ed2112b61af6d8ea5ab9c28f0

0015e9ed2220720b036df4a705422cb

建议改为:

0015e9ed22b97cb734ef61cfed4a175


案例三:对时间字段的处理优化

例如:DATEDIFF(NOW(),'2017-07-05') - COUNT(DISTINCT(SUBSTR([业务时间],0,10)))  

substr( 一个timestamp类型)处理是非常慢的,要对所有数据都做一遍查询。

建议改为:

DATEDIFF(NOW(),'2017-07-05') - COUNT(DISTINCT(to_date([业务时间])))  



    您需要登录后才可以回复