Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Kumano Ryo
PDF, PPTX
18,937 views
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
2016/10/22 GCPUG Fukuoka 4thで発表。 BigQueryのStandard SQLの機能やLegacySQLからの移行に関する注意点など。
Engineering
◦
Read more
29
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 50
2
/ 50
3
/ 50
4
/ 50
5
/ 50
6
/ 50
7
/ 50
8
/ 50
9
/ 50
10
/ 50
11
/ 50
12
/ 50
13
/ 50
14
/ 50
15
/ 50
16
/ 50
17
/ 50
18
/ 50
19
/ 50
20
/ 50
21
/ 50
22
/ 50
23
/ 50
24
/ 50
25
/ 50
26
/ 50
27
/ 50
28
/ 50
29
/ 50
30
/ 50
31
/ 50
32
/ 50
33
/ 50
34
/ 50
35
/ 50
36
/ 50
37
/ 50
38
/ 50
39
/ 50
40
/ 50
41
/ 50
42
/ 50
43
/ 50
44
/ 50
45
/ 50
46
/ 50
47
/ 50
48
/ 50
49
/ 50
50
/ 50
More Related Content
PPTX
Firebaseマーケティング活用事例
by
Hiroshi Genouzono
PDF
BigQueryの課金、節約しませんか
by
Ryuji Tamagawa
PDF
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
by
Google Cloud Platform - Japan
PDF
WebSocketのキホン
by
You_Kinjoh
PDF
異次元のグラフデータベースNeo4j
by
昌桓 李
PDF
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
by
Google Cloud Platform - Japan
PDF
Java + React.jsでSever Side Rendering #reactjs_meetup
by
Toshiaki Maki
PDF
NetflixにおけるPresto/Spark活用事例
by
Amazon Web Services Japan
Firebaseマーケティング活用事例
by
Hiroshi Genouzono
BigQueryの課金、節約しませんか
by
Ryuji Tamagawa
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
by
Google Cloud Platform - Japan
WebSocketのキホン
by
You_Kinjoh
異次元のグラフデータベースNeo4j
by
昌桓 李
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
by
Google Cloud Platform - Japan
Java + React.jsでSever Side Rendering #reactjs_meetup
by
Toshiaki Maki
NetflixにおけるPresto/Spark活用事例
by
Amazon Web Services Japan
What's hot
PDF
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
by
Yoshiki Hayama
PDF
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?
by
Satoshi Matsumoto
PDF
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
by
ssuser070fa9
PPTX
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
by
Holden Karau
PPTX
Amazon SageMakerでカスタムコンテナを使った学習
by
西岡 賢一郎
PDF
インターネットの仕組みとISPの構造
by
Taiji Tsuchiya
PDF
これでBigQueryをドヤ顔で語れる!BigQueryの基本
by
Tomohiro Shinden
PDF
TLS, HTTP/2演習
by
shigeki_ohtsu
PDF
フロー効率性とリソース効率性、再入門 #devlove #devkan
by
Itsuki Kuroda
PPTX
KeycloakでAPI認可に入門する
by
Hitachi, Ltd. OSS Solution Center.
PDF
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
by
Atsushi Tanaka
PDF
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
by
Google Cloud Platform - Japan
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
PDF
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
PPTX
はじめてのElasticsearchクラスタ
by
Satoyuki Tsukano
PDF
PostgreSQL のイケてるテクニック7選
by
Tomoya Kawanishi
PDF
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
PDF
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
by
onozaty
PDF
[AKIBA.AWS] VGWのルーティング仕様
by
Shuji Kikuchi
PDF
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
by
Recruit Technologies
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
by
Yoshiki Hayama
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?
by
Satoshi Matsumoto
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
by
ssuser070fa9
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
by
Holden Karau
Amazon SageMakerでカスタムコンテナを使った学習
by
西岡 賢一郎
インターネットの仕組みとISPの構造
by
Taiji Tsuchiya
これでBigQueryをドヤ顔で語れる!BigQueryの基本
by
Tomohiro Shinden
TLS, HTTP/2演習
by
shigeki_ohtsu
フロー効率性とリソース効率性、再入門 #devlove #devkan
by
Itsuki Kuroda
KeycloakでAPI認可に入門する
by
Hitachi, Ltd. OSS Solution Center.
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
by
Atsushi Tanaka
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
by
Google Cloud Platform - Japan
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
はじめてのElasticsearchクラスタ
by
Satoyuki Tsukano
PostgreSQL のイケてるテクニック7選
by
Tomoya Kawanishi
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
by
onozaty
[AKIBA.AWS] VGWのルーティング仕様
by
Shuji Kikuchi
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
by
Recruit Technologies
More from Kumano Ryo
PPTX
CloudSQL v2は デキる子なのか?
by
Kumano Ryo
PDF
元OracleMasterPlatinumがCloudSpanner触ってみた
by
Kumano Ryo
PPTX
Cloud Identity-Aware Proxy
by
Kumano Ryo
PDF
インフラエンジニアのこれまでとこれから
by
Kumano Ryo
PPTX
GCPのサーバレス
by
Kumano Ryo
PDF
App engine admin apiを利用したgae%2 f go環境へのデプロイとgcp東京リージョンの性能評価
by
Kumano Ryo
PPTX
RDBのDBAから見た GCP Managed Database
by
Kumano Ryo
PPTX
GoogleCloudPlatform概要
by
Kumano Ryo
PPTX
Googleのイベントで ラズパイ30台くらい 仕掛けてきた
by
Kumano Ryo
CloudSQL v2は デキる子なのか?
by
Kumano Ryo
元OracleMasterPlatinumがCloudSpanner触ってみた
by
Kumano Ryo
Cloud Identity-Aware Proxy
by
Kumano Ryo
インフラエンジニアのこれまでとこれから
by
Kumano Ryo
GCPのサーバレス
by
Kumano Ryo
App engine admin apiを利用したgae%2 f go環境へのデプロイとgcp東京リージョンの性能評価
by
Kumano Ryo
RDBのDBAから見た GCP Managed Database
by
Kumano Ryo
GoogleCloudPlatform概要
by
Kumano Ryo
Googleのイベントで ラズパイ30台くらい 仕掛けてきた
by
Kumano Ryo
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
1.
http://gcpug.jp SQLおじさん(自称)がBigQueryの Standard SQLを使ってみた 熊野 良(Ryo
Kumano) GCPUG Fukuoka 4th (2016/10/22)
2.
http://gcpug.jp 熊野 良 (Ryo
Kumano) Twitter: @ryok0607 2014/06 〜 株式会社グルーヴノーツ 入社 - 肩書きは 「サーバエンジニア・データベースエンジニア」 - GCP上で稼動している自社サービスのインフラ設計・構築・運用を担当 - 2015/08 〜 東京 -> 福岡に移住 過去(5年以内)に携わった業務 - 国内大手B2Cサイトのインフラ設計・構築・運用・DB設計・チューニング など 自己紹介
3.
http://gcpug.jp BigQueryの Standard SQL 使ってますか?? ところで…
4.
http://gcpug.jp 知ってた。 A. ほとんど使ってない
5.
http://gcpug.jp - BigQuery Standard
SQLとは - 使い方 - 利用するメリット - Legacy SQLからの移行 Agenda
6.
http://gcpug.jp - SQL:2011に準拠している - 一般的なSQL構文で実行可能になった。 -
入れ子(nested)や繰り返し(repeated)データにも対応 - これまでと同様に非正規形のデータ保持が可能。 - 従来のBigQueryのSQLはLegacy SQLという呼び方に - Legacy扱いとか嫌な予感しかしない。 - が、まだあわてるような時間じゃない(はず)。 BigQuery Standard SQLとは
7.
http://gcpug.jp Web UI: Use
Legacy SQLのチェックを外す。 Standard SQLの使い方(Web UI)
8.
http://gcpug.jp CLI: --nouse_legacy_sql をつける Standard
SQLの使い方(CLI)
9.
http://gcpug.jp API: useLegacySql を
false に設定する Standard SQLの使い方(API)
10.
http://gcpug.jp - WITH句が利用できる - ユーザ定義関数が利用できる -
SELECT句にサブクエリが利用できる - 相関サブクエリが利用できる - 配列(ARRAY)や構造体(STRUCT)が利用できる - 時間データの操作にtime zoneが利用できる - time zoneを持たない時間データ型が利用できる - DML文が利用できる (2016年10月現在beta) 利用するメリット
11.
http://gcpug.jp 従来のVIEWをWITH句で定義できる。 利用するメリット: WITH句が利用できる Legacy SQL
Standard SQL VIEW Query
12.
http://gcpug.jp 従来のUDF(js)をまとめてQueryで定義できる 利用するメリット: ユーザ定義関数が利用できる Legacy SQL
Standard SQL UDF Query
13.
http://gcpug.jp ちなみに Lgeacy SQLのチェックを外すと UDF
Editor ボタンはdisableになります。 利用するメリット: ユーザ定義関数が利用できる Legacy SQL Standard SQL
14.
http://gcpug.jp SELECT句でサブクエリを直接実行可能 利用するメリット: SELECT句にサブクエリが利用できる Legacy SQL
Standard SQL VIEW Query
15.
http://gcpug.jp サブクエリから外のFROM句のtableを参照できる 利用するメリット: 相関サブクエリが利用できる Standard SQL
16.
http://gcpug.jp EXISTSも使えるようになった! (コストさがるのかな?) 利用するメリット: 相関サブクエリが利用できる Standard SQL
17.
http://gcpug.jp Result ARRAY なし STRUCT
なし 利用するメリット: 配列(ARRAY)や構造体(STRUCT)が利用できる Standard SQL
18.
http://gcpug.jp Result xに ARRAY あり
STRUCT なし 利用するメリット: 配列(ARRAY)や構造体(STRUCT)が利用できる Standard SQL
19.
http://gcpug.jp Result ARRAY なし STRUCT
あり 利用するメリット: 配列(ARRAY)や構造体(STRUCT)が利用できる Standard SQL
20.
http://gcpug.jp Result ARRAY あり STRUCT
あり 利用するメリット: 配列(ARRAY)や構造体(STRUCT)が利用できる Standard SQL
21.
http://gcpug.jp Asia/Tokyoと指定すると日本時間の表示が可能 利用するメリット: 時間データの操作にtimezoneが利用できる Standard SQL
22.
http://gcpug.jp TIMESTAMP関数にtime zoneを渡せる 利用するメリット: 時間データの操作にtimezoneが利用できる Standard
SQL Result TIMESTAMP関数のformatが厳密になったので注意!(後述)
23.
http://gcpug.jp TIMESTAMP型と異なりtimezone は保持しない。 - DATE
(YYYY-[M]M-[D]D) - TIME ([H]H:[M]M:[S]S[.DDDDDD]) - DATETIME (YYYY-[M]M-[D]D [H]H:[M]M:[S]S[.DDDDDD]) TIMESTAMPとDATETIMEを混ぜると事故る。どちらか に寄せる設計を心がけましょう。 利用するメリット: timezoneを持たない時間データ型が利用できる
24.
http://gcpug.jp DML文: INSERT /
UPDATE / DELETE 利用するメリット: DML文が利用できる(beta)
25.
http://gcpug.jp 注意点: トランザクションがサポートされてない オペミスしてもROLLBACKできないよ! やるときは腹を括って実行しましょう。 注意点: トランザクションがサポートされていない
26.
http://gcpug.jp 注意点: QuotaのCAPが渋い 注意点: QuotaのCAPが渋い
27.
http://gcpug.jp 注意点: INSERT文はcolumnの指定が必須 注意点: INSERT文はcolumnの指定が必須
28.
http://gcpug.jp 注意点: UPDATEとDELETEのQuota値が同じ 一度も実行していないDELETE文もQuota上限となった。 注意点: UPDATEとDELETEのQuota値が同じ UPDATE文を49回以上実行し、Quota上限となったことを確認。
29.
http://gcpug.jp 利用するメリット: DML文が利用できる 【公式】MySQLのdumpデータからBQにload可能 https://cloud.google.com/bigquery/docs/loading-data-sql-dml#loading_data_using_sql_dml これInsert文を1行ずつbqで実行してるだけやん...
30.
http://gcpug.jp JSONかCSVでやれ BQにINSERT文実行すると2sec/recordくらいかかるよね?
31.
http://gcpug.jp DML文の使いどころ クソみたいなDML文をどう使うのか? ログデータは性質上、改竄はできない。 マスタデータの更新であればワンチャンある。 つまり“なかむら式マスタ更新”からの卒業。 参考: http://qiita.com/satoru_mag/items/fb233c188dd63f1aafff
32.
http://gcpug.jp 新規QueryをStandard SQLで書く。 ⇨ 可能な限りやっていきましょう! 既存のLegacy
SQLをStandard SQLで書き直す。 ⇨ Legacy SQLからの移行
33.
http://gcpug.jp ちょっと 待ってほしい! Legacy SQLからの移行
34.
http://gcpug.jp - 型名の変更 (INTEGER,RECORD,REPEATED) -
TIMESTAMP型のFORMATを厳密にする - REQUIREDのcolumnをNULLABLEに変更 - FROM句の[]を``に、:を.に置き換える - ワイルドカード関数廃止の対応 - SELECT句の最後の,禁止 - Tableの和結合をUNIONに置き換える - 関数の置き換え etc... Legacy SQLからの移行TODO
35.
http://gcpug.jp 型名の変更
36.
http://gcpug.jp Standard SQLはTIMESTAMPを YYYY-[M]M-[D]D [[H]H:[M]M:[S]S[.DDDDDD]
[time zone]] 形式で明示的に表記する必要がある。 Legacy SQLでOKであった以下はエラーとなる。 YYYY/[M]M/[D]D [H]H:[M]M:[S]S YYYY-[M]M-[D]D [H]H:[M]M TIMESTAMP型のformat
37.
http://gcpug.jp Standard SQLではREQUIREDの属性のcolumnに データを格納しようとするとエラーとなる。 Invalid schema
update. Field col1 has changed mode from REQUIRED to NULLABLE Standard SQL使う場合は NULLABLEに変換しましょう。 REQUIREDのcolumnをNULLABLEに変更
38.
http://gcpug.jp Legacy SQL Standard
SQL FROM句の[]を``に、:を.に置き換える
39.
http://gcpug.jp Standard SQLはワイルドカード関数を利用できない。 - TABLE_DATE_RANGE -
TABLE_DATE_RANGE_STRICT - TABLE_QUERY Legacy SQLからStandard SQLへの移行方法 1. FROM句から関数呼び出しを削除する 2. WHERE句で _TABLE_SUFFIX を指定する ワイルドカード関数廃止の対応
40.
http://gcpug.jp Legacy SQL Standard
SQL ワイルドカード関数廃止の対応
41.
http://gcpug.jp SQLと同様に以下の条件が使用可能 - = - <> -
(NOT) IN - BETWEEN A AND B _TABLE_SUFFIXに使える条件
42.
http://gcpug.jp Legacy SQL Standard
SQL SELECT句の最後の,禁止
43.
http://gcpug.jp Legacy SQL Standard
SQL Tableの和集合をUNIONに置き換え
44.
http://gcpug.jp 関数の置き換え
45.
http://gcpug.jp 配列周りの変更が割とある。 SQLを置き換えていくの、正直しんどい。 スライド作るのも正直しんどい etc...
46.
http://gcpug.jp Legacy SQLから Standard SQLに 置き換える必要あんの? っていうか
47.
http://gcpug.jp 推奨はするが必須ではない、とのこと。 移行に対する公式見解はこちら じゃあ、移行しなくていいんじゃね?
48.
http://gcpug.jp 移行するもしないも 自己責任で! (まとまってなくてスイマセン) じゃあ、移行しなくていいんじゃね?
49.
http://gcpug.jp - Standard SQL
どんどん使っていこう! - 既存Legacy SQL Queryの移行判断は難しい。 - SQLおじさん達はBQに入門していこう! まとめ
50.
http://gcpug.jp ご清聴ありがとうございました。
Download