我正在尝试取消透视具有以下结构的事实表
source :
customer_id , product_id, week, measure1 , measure2 , measure3 ... measure10
CUST_101,PROD_101, W10,10,20,30...100
to
target :
customer_id , product_id,week,measure_code, measure_value
CUST_101,PROD_101, W10,'MSR1',10
CUST_101,PROD_101, W10,'MSR2',20
CUST_101,PROD_101, W10,'MSR3',30
CUST_101,PROD_101, W10,'MSR4',40
CUST_101,PROD_101, W10,'MSR5',50
CUST_101,PROD_101, W10,'MSR6',60
CUST_101,PROD_101, W10,'MSR7',70
CUST_101,PROD_101, W10,'MSR8',80
CUST_101,PROD_101, W10,'MSR9',90
CUST_101,PROD_101, W10,'MSR10',100
Data volume in source table : ~ 15 ~ 25 million records in incremental batches
我打算按照Unpivot multiple columns in Snowflake中的建议使用UNION ALL
方法INSERT 到 Target (customer_id, product_id,week,measure_code, measure_value) 选择 customer_id , product_id,week,'MSR1',measure1 从源头 联合所有 选择 customer_id , product_id,week,'MSR2',measure2 从源头 ... 选择 customer_id , product_id,week,'MSR10',measure10 来自源头
有没有更优化的方法来完成这个? 我的目标是存储过程在 30 分钟内完成运行并使用中型仓库。
谢谢, 阿达什