web_returns.sql 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. create database if not exists ${DB};
  2. use ${DB};
  3. drop table if exists web_returns;
  4. create table web_returns
  5. (
  6. wr_returned_date_sk int,
  7. wr_returned_time_sk int,
  8. wr_item_sk int,
  9. wr_refunded_customer_sk int,
  10. wr_refunded_cdemo_sk int,
  11. wr_refunded_hdemo_sk int,
  12. wr_refunded_addr_sk int,
  13. wr_returning_customer_sk int,
  14. wr_returning_cdemo_sk int,
  15. wr_returning_hdemo_sk int,
  16. wr_returning_addr_sk int,
  17. wr_web_page_sk int,
  18. wr_reason_sk int,
  19. wr_order_number int,
  20. wr_return_quantity int,
  21. wr_return_amt float,
  22. wr_return_tax float,
  23. wr_return_amt_inc_tax float,
  24. wr_fee float,
  25. wr_return_ship_cost float,
  26. wr_refunded_cash float,
  27. wr_reversed_charge float,
  28. wr_account_credit float,
  29. wr_net_loss float
  30. )
  31. partitioned by (wr_returned_date string)
  32. clustered by (wr_item_sk) sorted by (wr_item_sk) into ${RETURN_BUCKETS} buckets
  33. stored as ${FILE};
  34. insert overwrite table web_returns partition (wr_returned_date)
  35. select
  36. wr.wr_returned_date_sk,
  37. wr.wr_returned_time_sk,
  38. wr.wr_item_sk,
  39. wr.wr_refunded_customer_sk,
  40. wr.wr_refunded_cdemo_sk,
  41. wr.wr_refunded_hdemo_sk,
  42. wr.wr_refunded_addr_sk,
  43. wr.wr_returning_customer_sk,
  44. wr.wr_returning_cdemo_sk,
  45. wr.wr_returning_hdemo_sk,
  46. wr.wr_returning_addr_sk,
  47. wr.wr_web_page_sk,
  48. wr.wr_reason_sk,
  49. wr.wr_order_number,
  50. wr.wr_return_quantity,
  51. wr.wr_return_amt,
  52. wr.wr_return_tax,
  53. wr.wr_return_amt_inc_tax,
  54. wr.wr_fee,
  55. wr.wr_return_ship_cost,
  56. wr.wr_refunded_cash,
  57. wr.wr_reversed_charge,
  58. wr.wr_account_credit,
  59. wr.wr_net_loss,
  60. dd.d_date as wr_returned_date
  61. from ${SOURCE}.web_returns wr
  62. join ${SOURCE}.date_dim dd
  63. on (wr.wr_returned_date_sk = dd.d_date_sk);