GuestRT

ngpt_tverskaya

Sep 5th, 2018
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 5.01 KB | None | 0 0
  1.  SET hive.tez.container.SIZE = 6656
  2. ;
  3.  
  4. DROP TABLE sandbox.YURBASOV_NGPT_TVER_LIST1
  5. ;
  6.  
  7. DROP TABLE sandbox.YURBASOV_NGPT_TVER_QUIZ1
  8. ;
  9.  
  10. DROP TABLE sandbox.YURBASOV_NGPT_TVER_DATA1
  11. ;
  12.  
  13. DROP TABLE sandbox.YURBASOV_NGPT_TVER_TEL1
  14. ;
  15.  
  16. CREATE TABLE sandbox.YURBASOV_NGPT_TVER_LIST1
  17. AS
  18. SELECT "м1" AS t, "А_м1" AS s
  19. UNION ALL SELECT "м2" AS t, "А_м2" AS s
  20. UNION ALL SELECT "м3" AS t, "А_м3" AS s
  21. UNION ALL SELECT "м6" AS t, "А_м6" AS s
  22. UNION ALL SELECT "м10" AS t, "А_м10" AS s
  23. UNION ALL SELECT "м27" AS t, "А_м27" AS s
  24. UNION ALL SELECT "№ 101" AS t, "А_101" AS s
  25. UNION ALL SELECT "№ 144" AS t, "А_144" AS s
  26. UNION ALL SELECT "№ 243" AS t, "А_243" AS s
  27. UNION ALL SELECT "№ 904" AS t, "А_904" AS s
  28. UNION ALL SELECT "н1 " AS t, "А_Н1" AS s
  29. UNION ALL SELECT "н2 " AS t, "А_Н2" AS s
  30. UNION ALL SELECT "н11 " AS t, "А_11" AS s
  31. UNION ALL SELECT "400 " AS t, "АЗ_400" AS s
  32. UNION ALL SELECT "400э " AS t, "АЗ_400э" AS s
  33. UNION ALL SELECT "8 " AS t, "АЗ_8" AS s
  34. UNION ALL SELECT "8 " AS t, "А_8" AS s
  35. UNION ALL SELECT "9 " AS t, "А_9" AS s
  36. UNION ALL SELECT "11 " AS t, "А_11" AS s
  37. UNION ALL SELECT "27 " AS t, "А_27" AS s
  38. UNION ALL SELECT "31 " AS t, "А_31" AS s
  39. UNION ALL SELECT "А " AS t, "А_А" AS s
  40. UNION ALL SELECT "т13 " AS t, "А_Т13" AS s
  41. UNION ALL SELECT "24 " AS t, "А_24" AS s
  42. UNION ALL SELECT "38 " AS t, "А_38" AS s
  43. UNION ALL SELECT "255 " AS t, "А_255" AS s
  44. UNION ALL SELECT "507 " AS t, "А_507" AS s
  45. UNION ALL SELECT "746 " AS t, "А_746" AS s
  46. UNION ALL SELECT "761 " AS t, "А_761" AS s
  47. UNION ALL SELECT "707 " AS t, "А_707" AS s
  48. UNION ALL SELECT "779 " AS t, "А_779" AS s
  49. UNION ALL SELECT "809 " AS t, "А_809" AS s
  50. UNION ALL SELECT "814 " AS t, "А_814" AS s
  51. UNION ALL SELECT "830 " AS t, "А_830" AS s
  52. UNION ALL SELECT "844 " AS t, "А_844" AS s
  53. UNION ALL SELECT "866 " AS t, "А_866" AS s
  54. UNION ALL SELECT "870 " AS t, "АП_870" AS s
  55. UNION ALL SELECT "876 " AS t, "АП_876" AS s
  56. UNION ALL SELECT "878 " AS t, "АП_878" AS s
  57. UNION ALL SELECT "879 " AS t, "АП_879" AS s
  58. UNION ALL SELECT "881 " AS t, "АП_881" AS s
  59. UNION ALL SELECT "890 " AS t, "АП_890" AS s
  60. UNION ALL SELECT "902 " AS t, "А_902" AS s
  61. UNION ALL SELECT "м9 " AS t, "А_м9" AS s
  62. UNION ALL SELECT "т13 " AS t, "А_Т13" AS s
  63. UNION ALL SELECT "15 " AS t, "А_15" AS s
  64. UNION ALL SELECT "24 " AS t, "А_24" AS s
  65. UNION ALL SELECT "38 " AS t, "А_38" AS s
  66. UNION ALL SELECT "1 " AS t, "А_1" AS s
  67. UNION ALL SELECT "2 " AS t, "А_2" AS s
  68. UNION ALL SELECT "3 " AS t, "А_3" AS s
  69. UNION ALL SELECT "10 " AS t, "А_10" AS s
  70. UNION ALL SELECT "12 " AS t, "А_12" AS s
  71. UNION ALL SELECT "19 " AS t, "А_т19" AS s
  72. UNION ALL SELECT "19 " AS t, "АЗ_19" AS s
  73. UNION ALL SELECT "19 " AS t, "КА_19" AS s
  74. UNION ALL SELECT "29 " AS t, "А_29" AS s
  75. UNION ALL SELECT "32 " AS t, "А_32" AS s
  76. UNION ALL SELECT "32к " AS t, "АЗ_32к" AS s
  77. UNION ALL SELECT "5 " AS t, "АЗ_5" AS s
  78. UNION ALL SELECT "767 " AS t, "А_767" AS s
  79. UNION ALL SELECT "810 " AS t, "А_810" AS s
  80. UNION ALL SELECT "814 " AS t, "А_814" AS s
  81. ;
  82.  
  83. CREATE TABLE sandbox.YURBASOV_NGPT_TVER_QUIZ1
  84. AS
  85. WITH s AS
  86. (
  87. SELECT ticket_type AS d_ticket_type FROM sandbox.d_ticket_type
  88. )
  89. ,t AS
  90. (SELECT ticket_code, ticket_type, route_code, pass_datetime FROM MOSGORTR_DATA.PASS_MGT m
  91. JOIN sandbox.YURBASOV_NGPT_TVER_LIST1 l ON l.s = m.route_code
  92. WHERE pass_datetime >= '2018-06-24' AND pass_datetime <= '2018-08-21'
  93.  AND PMOD(DATEDIFF(from_unixtime(unix_timestamp(pass_datetime, 'dd.MM.yyyy HH:mm:ss'),'yyyy-MM-dd'), '2012-01-01'), 7) IN (0, 5, 6)
  94. ), a AS
  95. (
  96. SELECT * FROM t JOIN s ON t.ticket_type = s.d_ticket_type AND s.d_ticket_type NOT IN ("60 поездок 90 м", "60 поездок ЕД")
  97. ), b AS
  98. (
  99.  SELECT route_code, pass_datetime, ticket_code, ticket_type FROM a GROUP BY route_code, pass_datetime, ticket_code, ticket_type
  100. ), c AS
  101. (
  102.   SELECT ticket_code, ticket_type, route_code, 1 AS total FROM b GROUP BY ticket_code, ticket_type, route_code HAVING COUNT(pass_datetime) >= 8
  103. ) SELECT ticket_code, ticket_type, route_code, SUM(total) AS sum_total FROM c GROUP BY ticket_code, ticket_type, route_code
  104. ;
  105.  
  106. CREATE TABLE sandbox.YURBASOV_NGPT_TVER_DATA1
  107. AS
  108. WITH a AS
  109. (SELECT DISTINCT e.ticket_number, t.ticket_type, e.hash_uid, d.hash_msisdn
  110. FROM case_profile_calc.d_phone_x_ticket d
  111. JOIN metro_data.entries e
  112. ON UPPER(d.hash_ticket_uid) = UPPER(e.hash_uid)
  113. JOIN sandbox.d_ticket_type t
  114. ON t.ticket_code = e.ticket_type
  115. AND t.ticket_type NOT IN ("60 поездок 90 м", "60 поездок ЕД")
  116. ), b AS
  117. (
  118. SELECT ticket_code, ticket_type, route_code, sum_total FROM sandbox.yurbasov_ngpt_TVER_quiz1
  119. ) SELECT a.*, b.ticket_code, b.route_code, b.sum_total FROM b LEFT JOIN a ON a.ticket_number = b.ticket_code AND a.ticket_type = b.ticket_type
  120. WHERE a.hash_msisdn IS NOT NULL
  121. ;
  122.  
  123. CREATE TABLE sandbox.YURBASOV_NGPT_TVER_TEL1
  124. AS
  125. WITH a AS
  126. (SELECT * FROM sandbox.YURBASOV_NGPT_TVER_DATA1)
  127. , b AS
  128. (SELECT s.phone, a.* FROM a LEFT JOIN secret.phones s ON LOWER(a.hash_msisdn) = regexp_replace(s.phone_hash, '^[0]*', ''))
  129. SELECT * FROM b
Advertisement
Add Comment
Please, Sign In to add comment