2019年11月4日月曜日

【トレジャーデータ】時間文字列をタイムスタンプに変換する(presto)

TD_TIME_PARSEを擬人化してみた

◇TD_TIME_PARSEで時間文字列をタイムスタンプに変換


トレジャーデータ(presto)では、TD_TIME_FORMATという関数で時間を扱います。その際、タイムスタンプが必要ですが、時間文字列だけでデータを貯めている場合もよくあります。そこで、TD_TIME_PARSEを用いて時間文字列をタイムスタンプに変換する方法を紹介します。

◇SQL例


SELECT
  TD_TIME_FORMAT(TD_TIME_PARSE(time,
      'UTC'),
    'yyyy-MM',
    'UTC') AS monthly,
  COUNT(time) AS n,
  COUNT(DISTINCT id) AS id_uu
FROM
  log
GROUP BY
  TD_TIME_FORMAT(TD_TIME_PARSE(time,
      'UTC'),
    'yyyy-MM',
    'UTC')
ORDER BY
  monthly

timeは”2019-10-17 08:21:36.000”のような時間文字列です。このtime(=時間文字列)をTD_TIME_PARSEでタイムスタンプに変換し、TD_TIME_FORMATで扱えるようにしています。例では、月間のデータ量(レコード数)とユニークユーザ数(MAU)を集計しています。

◇参考サイト



0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。