catalog_sales.sql 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. create database if not exists ${DB};
  2. use ${DB};
  3. drop table if exists catalog_sales;
  4. create table catalog_sales
  5. (
  6. cs_sold_date_sk int,
  7. cs_sold_time_sk int,
  8. cs_ship_date_sk int,
  9. cs_bill_customer_sk int,
  10. cs_bill_cdemo_sk int,
  11. cs_bill_hdemo_sk int,
  12. cs_bill_addr_sk int,
  13. cs_ship_customer_sk int,
  14. cs_ship_cdemo_sk int,
  15. cs_ship_hdemo_sk int,
  16. cs_ship_addr_sk int,
  17. cs_call_center_sk int,
  18. cs_catalog_page_sk int,
  19. cs_ship_mode_sk int,
  20. cs_warehouse_sk int,
  21. cs_item_sk int,
  22. cs_promo_sk int,
  23. cs_order_number int,
  24. cs_quantity int,
  25. cs_wholesale_cost float,
  26. cs_list_price float,
  27. cs_sales_price float,
  28. cs_ext_discount_amt float,
  29. cs_ext_sales_price float,
  30. cs_ext_wholesale_cost float,
  31. cs_ext_list_price float,
  32. cs_ext_tax float,
  33. cs_coupon_amt float,
  34. cs_ext_ship_cost float,
  35. cs_net_paid float,
  36. cs_net_paid_inc_tax float,
  37. cs_net_paid_inc_ship float,
  38. cs_net_paid_inc_ship_tax float,
  39. cs_net_profit float
  40. )
  41. partitioned by (cs_sold_date string)
  42. clustered by (cs_item_sk) sorted by (cs_item_sk) into ${BUCKETS} buckets
  43. stored as ${FILE};
  44. insert overwrite table catalog_sales partition (cs_sold_date)
  45. select
  46. cs.cs_sold_date_sk,
  47. cs.cs_sold_time_sk,
  48. cs.cs_ship_date_sk,
  49. cs.cs_bill_customer_sk,
  50. cs.cs_bill_cdemo_sk,
  51. cs.cs_bill_hdemo_sk,
  52. cs.cs_bill_addr_sk,
  53. cs.cs_ship_customer_sk,
  54. cs.cs_ship_cdemo_sk,
  55. cs.cs_ship_hdemo_sk,
  56. cs.cs_ship_addr_sk,
  57. cs.cs_call_center_sk,
  58. cs.cs_catalog_page_sk,
  59. cs.cs_ship_mode_sk,
  60. cs.cs_warehouse_sk,
  61. cs.cs_item_sk,
  62. cs.cs_promo_sk,
  63. cs.cs_order_number,
  64. cs.cs_quantity,
  65. cs.cs_wholesale_cost,
  66. cs.cs_list_price,
  67. cs.cs_sales_price,
  68. cs.cs_ext_discount_amt,
  69. cs.cs_ext_sales_price,
  70. cs.cs_ext_wholesale_cost,
  71. cs.cs_ext_list_price,
  72. cs.cs_ext_tax,
  73. cs.cs_coupon_amt,
  74. cs.cs_ext_ship_cost,
  75. cs.cs_net_paid,
  76. cs.cs_net_paid_inc_tax,
  77. cs.cs_net_paid_inc_ship,
  78. cs.cs_net_paid_inc_ship_tax,
  79. cs.cs_net_profit,
  80. dd.d_date as cs_sold_date
  81. from ${SOURCE}.catalog_sales cs
  82. join ${SOURCE}.date_dim dd
  83. on (cs.cs_sold_date_sk = dd.d_date_sk);