質問

私は非常に新しいBigQuery google

い構文解析時にスタンプ(yyyy/mm/dd:hh:mm:ss の日月のいバケツを日の入ります。私からのBigQuery機能させます。

そのため、破壊も修復もおもしろくない方にできるように設計していく UDF そしてアクセスでBigQueryクエリ

役に立ちましたか?

解決

あるご質問はここでまだ生成されていない回答:

  • BigQuery 支援UDFs: docs.(れんが答えるようになりました。)

  • なくてもUDFs、日bucketingも可.BigQueryは一時解析機能 PARSE_UTC_USEC, る期待の入力形式 YYYY-MM-DD hh:mm:ss.できます。 REGEXP_REPLACE お日の形式です。お客さま人数小児-幼児のときは、 UTC_USEC_TO_WEEK ブロックでなく、できるグループによります。で結びつけるといる場合、テーブル内のカラムと呼ばれ timestamp, き込まれてしまい数週間経由のようなもの

    SELECT week, COUNT(week)
    FROM (SELECT UTC_USEC_TO_WEEK(
                   PARSE_UTC_USEC(
                     REGEXP_REPLACE(
                       timestamp, 
                       r"(\d{4})/(\d{2})/(\d{2}):(\d{2}):(\d{2}):(\d{2})", 
                       r"\1-\2-\3 \4:\5:\6")), 0) AS week
          FROM mytable) 
    GROUP BY week;
    

    ことに注意 0 こちらの引数であるのに対して、"開始";に使用しました日曜日のため、"事業"-yを用い 1 (月曜日)うが良いですね。

などの場合に必要なもので、 部タイムスタンプ機能 でのドキュメントがあります。

他のヒント

BigQueryでのUDFサポートはここにあります! https://cloud.google.com/bigquery/user-defined-関数

これは、文字列タイム指定子をJavaScript Dateオブジェクトに変換し、それからいくつかのプロパティを抽出するコードです。 https://developer.mozilla.org/en-JS日付に使用できるプロパティについては、us / docs / web / javascript / reference / global_objects / date

クエリ(テーブルでネストした選択を置き換える):

SELECT day_of_week, month_date
FROM parseDate(select '2015/08/01 12:00:00' as date_string);
.

コード:

function parsedate(row, emit) {
  var d = new Date(row.date_string);
  emit({day_of_week: d.getDay(),
        month_date: d.getDate()});
}

bigquery.defineFunction(
  'parseDate',                           // Name of the function exported to SQL
  ['date_string'],                    // Names of input columns
  [{'name': 'day_of_week', 'type': 'integer'},
   {'name': 'month_date', 'type': 'integer'}],
  parsedate
);
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top