中野智文

中野智文(VOYAGE GROUP)のコンピュータなどのメモ

Big Query でケチ臭く使う3つのTips

2016-09-23 17:03:53 | BigQuery

背景

Big Queryを使って結構お金を使ってしまった話をよく聞く。自分が実践している、Tipsを紹介。

Tips

整数は整数でbq loadする。

整数や浮動小数点は文字列(String)でなくて、整数や浮動小数点で bq loadする。BigQueryは舐めるデータの量で課金される。文字列のままだとそれだけでデータが大きくなってしまう。IDを作る場合も、必ず整数で作成する。可能なら日付もTIMESTAMP型したいところ…

SELECT * は絶対しない。

Consider wrapping the table union or table wildcard function in a subquery (e.g., SELECT *). 
みたいなメッセージが出ても、絶対しない。(昔はしていた…)

TABLE_DATE_RANGE_STRICT と DATE_ADD を使う。

TABLE_DATE_RANGEという関数があるが、これで片側だけ年を間違えると1週間分としたつもりが1年分となっていたという事故があるようである。これに対して、DATE_ADDという関数があるのでこれで相対指定する。 例えば、
TABLE_DATE_RANGE_STRICT([data_set1.table_a], DATE_ADD(TIMESTAMP('2016-09-21'),-6, "DAY"),TIMESTAMP('2016-09-21'))
というように、同じ日付を使い、そこからの相対的にに日付を指定する。STRICTを使うのは誤って範囲外のデータを指定した場合にエラーで実行を抑制するのが目的。例えば1年前を間違えてしていしまった場合でも1年前のデータがなければエラーで実行できない。

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。