GuestRT

auto_krem

Sep 17th, 2018
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 6.07 KB | None | 0 0
  1.  SET hive.tez.container.SIZE = 6656
  2. ;
  3.  
  4.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_00
  5. ;
  6.  
  7.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_01
  8. ;
  9.  
  10.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_02
  11. ;
  12.  
  13.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_91
  14. ;
  15.  
  16.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_92
  17. ;
  18.  
  19.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_03
  20. ;
  21.  
  22.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_04
  23. ;
  24.  
  25.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_05
  26. ;
  27.  
  28.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_06
  29. ;
  30.  
  31.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_07
  32. ;
  33.  
  34.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_08
  35. ;
  36.  
  37.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_09
  38. ;
  39.  
  40.  DROP TABLE SANDBOX.TIM_DE22_RADIUS_10
  41. ;
  42.  
  43.  DROP TABLE SANDBOX.TIM_AUTO_KREM
  44. ;
  45.  
  46.  SET hivevar:START_DAY='2018-03-01'
  47. ;
  48.  
  49.  SET hivevar:END_DAY='2018-04-30'
  50. ;
  51.  
  52.  CREATE TABLE SANDBOX.TIM_DE22_RADIUS_00
  53. AS
  54. SELECT 55.725147 AS v_gps_x, 37.38045 AS v_gps_y, 1 AS k
  55. ;
  56.  
  57.  
  58.  CREATE TABLE SANDBOX.TIM_DE22_RADIUS_01
  59. AS
  60. SELECT
  61.   DAY,
  62.   v_regno,
  63.   CASE WHEN codd_kafka.v_gps_y > 55 THEN codd_kafka.v_gps_y ELSE codd_kafka.v_gps_x END AS camera_x,
  64.   CASE WHEN codd_kafka.v_gps_y > 55 THEN codd_kafka.v_gps_x ELSE codd_kafka.v_gps_y END AS camera_y,
  65.   0 AS x_key,
  66.   0 AS y_key,
  67.   0.00113274 AS delta_north,
  68.   0.00090098 AS delta_east,
  69.   -0.00113274 AS delta_south,
  70.   -0.00090098 AS delta_west,
  71.   v_time_check
  72. FROM codd_data.codd codd_kafka
  73. WHERE DAY <= '2018-08-01'
  74. AND DAY >= '2018-08-16'
  75. AND PMOD(DATEDIFF(from_unixtime(unix_timestamp(v_time_check, 'dd.MM.yyyy HH:mm:ss'),'yyyy-MM-dd'), '2012-01-01'), 7) IN (0, 1, 2,3,4, 5, 6)
  76. ;
  77.  
  78.  
  79.  CREATE TABLE SANDBOX.TIM_DE22_RADIUS_02
  80. AS
  81. SELECT 55.748596 AS v_gps_x, 37.624393 AS v_gps_y, 1 AS x_k, 1 AS y_k, 'Мост' AS c
  82. ;
  83.  
  84.  
  85.  CREATE TABLE SANDBOX.TIM_DE22_RADIUS_91
  86. AS
  87. SELECT DAY,
  88.   v_regno,
  89.   camera_x,
  90.   camera_y,
  91.   INT(camera_x / delta_east / 10) AS x_key_zero,
  92.   INT(camera_y / delta_north / 10) AS y_key_zero,
  93.   INT(camera_x / delta_east / 10) + 1 AS x_key_plus,
  94.   INT(camera_y / delta_north / 10) + 1 AS y_key_plus,
  95.   INT(camera_x / delta_east / 10) - 1 AS x_key_minus,
  96.   INT(camera_y / delta_north / 10) - 1 AS y_key_minus,
  97.   delta_north,
  98.   delta_east,
  99.   delta_south,
  100.   delta_west,
  101.   v_time_check
  102. FROM SANDBOX.TIM_DE22_RADIUS_01 one
  103. ;
  104.  
  105.  
  106.  CREATE TABLE SANDBOX.TIM_DE22_RADIUS_92
  107. AS
  108. SELECT v_gps_x, v_gps_y, c,
  109. INT(v_gps_x / 0.00090098 / 10) AS  x_k,
  110. INT(v_gps_y / 0.00113274 / 10) AS  y_k
  111. FROM SANDBOX.TIM_DE22_RADIUS_02 two
  112. ;
  113.  
  114.  
  115.  CREATE TABLE SANDBOX.TIM_DE22_RADIUS_03
  116. AS
  117. SELECT '00' AS xx,
  118.   v_regno,
  119.   camera_x, camera_y, v_gps_x, v_gps_y, c,
  120.   v_time_check, DAY
  121. FROM SANDBOX.TIM_DE22_RADIUS_91 base
  122.  JOIN SANDBOX.TIM_DE22_RADIUS_92 tgt1
  123.  ON (x_k = x_key_zero  AND y_k = y_key_zero )
  124. UNION ALL SELECT '0+' AS xx,
  125.   v_regno,
  126.   camera_x, camera_y, v_gps_x, v_gps_y, c,
  127.   v_time_check, DAY
  128. FROM SANDBOX.TIM_DE22_RADIUS_91 base
  129.  JOIN SANDBOX.TIM_DE22_RADIUS_92 tgt1
  130.  ON (x_k = x_key_zero  AND y_k = y_key_plus )
  131. UNION ALL SELECT '++' AS xx,
  132.   v_regno,
  133.   camera_x, camera_y, v_gps_x, v_gps_y, c,
  134.   v_time_check, DAY
  135. FROM SANDBOX.TIM_DE22_RADIUS_91 base
  136.  JOIN SANDBOX.TIM_DE22_RADIUS_92 tgt1
  137.  ON (x_k = x_key_plus  AND y_k = y_key_plus )
  138. UNION ALL SELECT '+0' AS xx,
  139.   v_regno,
  140.   camera_x, camera_y, v_gps_x, v_gps_y, c,
  141.   v_time_check, DAY
  142. FROM SANDBOX.TIM_DE22_RADIUS_91 base
  143.  JOIN SANDBOX.TIM_DE22_RADIUS_92 tgt1
  144.  ON (x_k = x_key_plus  AND y_k = y_key_zero )
  145. UNION ALL SELECT '+-' AS xx,
  146.   v_regno,
  147.   camera_x, camera_y, v_gps_x, v_gps_y, c,
  148.   v_time_check, DAY
  149. FROM SANDBOX.TIM_DE22_RADIUS_91 base
  150.  JOIN SANDBOX.TIM_DE22_RADIUS_92 tgt1
  151.  ON (x_k = x_key_plus  AND y_k = y_key_minus)
  152. UNION ALL SELECT '0-' AS xx,
  153.   v_regno,
  154.   camera_x, camera_y, v_gps_x, v_gps_y, c,
  155.   v_time_check, DAY
  156. FROM SANDBOX.TIM_DE22_RADIUS_91 base
  157.  JOIN SANDBOX.TIM_DE22_RADIUS_92 tgt1
  158.  ON (x_k = x_key_zero  AND y_k = y_key_minus)
  159. UNION ALL SELECT '--' AS xx,
  160.   v_regno,
  161.   camera_x, camera_y, v_gps_x, v_gps_y, c,
  162.   v_time_check, DAY
  163. FROM SANDBOX.TIM_DE22_RADIUS_91 base
  164.  JOIN SANDBOX.TIM_DE22_RADIUS_92 tgt1
  165.  ON (x_k = x_key_minus AND y_k = y_key_minus)
  166. UNION ALL SELECT '-0' AS xx,
  167.   v_regno,
  168.   camera_x, camera_y, v_gps_x, v_gps_y, c,
  169.   v_time_check, DAY
  170. FROM SANDBOX.TIM_DE22_RADIUS_91 base
  171.  JOIN SANDBOX.TIM_DE22_RADIUS_92 tgt1
  172.  ON (x_k = x_key_minus AND y_k = y_key_zero )
  173. UNION ALL SELECT '-+' AS xx,
  174.   v_regno,
  175.   camera_x, camera_y, v_gps_x, v_gps_y, c,
  176.   v_time_check, DAY
  177. FROM SANDBOX.TIM_DE22_RADIUS_91 base
  178.  JOIN SANDBOX.TIM_DE22_RADIUS_92 tgt1
  179.  ON (x_k = x_key_minus AND y_k = y_key_plus )
  180. ;
  181.  
  182.  
  183.  CREATE TABLE SANDBOX.TIM_DE22_RADIUS_04
  184. AS
  185. SELECT
  186.   v_regno,
  187.   camera_x, camera_y, c,
  188.   v_time_check,
  189.   COUNT(*) AS cnt
  190. FROM SANDBOX.TIM_DE22_RADIUS_03 base
  191. WHERE acos(sin((90.0 - v_gps_y) * pi() / 180.0) * sin((90.0 - camera_y) * pi() / 180.0) * cos(radians(v_gps_x) - radians(camera_x))
  192.        + cos((90.0 - v_gps_y) * pi() / 180.0) * cos((90.0 - camera_y) * pi() / 180.0)) * 6371000 <= 100 * 10
  193. GROUP BY v_regno,
  194.          camera_x, camera_y, c,
  195.          v_time_check
  196. ;
  197.  
  198.  
  199.  CREATE TABLE SANDBOX.TIM_DE22_RADIUS_05
  200. AS
  201. SELECT pre1.v_regno, pre1.cnt, pre1.c FROM SANDBOX.TIM_DE22_RADIUS_04 pre1
  202. ;
  203.  
  204.  
  205.  CREATE TABLE SANDBOX.TIM_DE22_RADIUS_06
  206. AS
  207. SELECT v_regno, c, cnt
  208. FROM SANDBOX.TIM_DE22_RADIUS_04 f1
  209.  WHERE cnt >= 16
  210. ;
  211.  
  212.  
  213.  CREATE TABLE SANDBOX.TIM_DE22_RADIUS_07
  214. AS
  215. SELECT
  216.     xxxx1.v_regno AS v_regno
  217.     , sec.regno_hash AS regno_hash
  218.     , sec.regno AS regno
  219. FROM SANDBOX.TIM_DE22_RADIUS_06 xxxx1
  220.  JOIN secret.regno AS sec ON xxxx1.v_regno = sec.regno_hash
  221.  GROUP BY
  222.  v_regno, regno_hash, regno
  223. ;
  224.  
  225.  
  226.  CREATE TABLE SANDBOX.TIM_DE22_RADIUS_08
  227. AS
  228. SELECT
  229.   extra1.v_regno,
  230.   extra1.regno,
  231.   par.phoneno
  232. FROM SANDBOX.TIM_DE22_RADIUS_07 extra1
  233.  JOIN city_event_data.d_calc0a_regno_x_phoneno par
  234.   ON extra1.v_regno = par.carno
  235. WHERE par.carno IS NOT NULL
  236. GROUP BY
  237. extra1.v_regno, extra1.regno,
  238. par.phoneno
  239. ;
  240.  
  241.  
  242.  CREATE TABLE SANDBOX.TIM_DE22_RADIUS_09
  243. AS
  244.     SELECT res1.phoneno, res1.regno, res1.v_regno FROM SANDBOX.TIM_DE22_RADIUS_08 res1
  245. ;
  246.  
  247.  CREATE TABLE SANDBOX.TIM_AUTO_KREM
  248. AS
  249. SELECT s.phone, res.regno, res.v_regno FROM SANDBOX.TIM_DE22_RADIUS_09 res JOIN secret.phones s ON s.phone_hash = res.phoneno
  250. ;
Advertisement
Add Comment
Please, Sign In to add comment