自分が興味を持てることに集中しよう【GoogleクラウドのBigQuery編】
興味があることより、誰かに言われたことを優先させていませんか。
私の人生も親の言う通りに、親の期待に応えるために、中学、高校、大学、大学院と進みました。これは今でも変わっていませんが、少しずつでも変えていきたいと考えています。
私はIT業界に勤めていて、めちゃくちゃ有名なクラウド(イメージ:インターネットに繋がっているパソコン)として、AWS、Azure及びGCPなどがあります。
私もご多分に漏れず、世の中に流されるままに、AWSとAzureのスキル向上をしていくことになります。
並行して、機械学習・AIの学習も進めていましたが、元々慣れないIT技術だったせいか、勉強への飽きが来てしまっていました。機械学習・AIがあまり好きではなかったんですね。
また、三日坊主的になるのかなと考えていた頃に、クラウドGCPと出会いました。
データベースに興味があった私ですが、クラウドGCPのサービス『Google BigQuery』に対する高まる探求心が抑えられませんでした。
その際にまとめたGoogle BigQueryを操作するためのbqコマンドの実行例を示していきたいと思います。
名称 | コマンド例 |
---|---|
データセット一覧 | bq ls |
テーブル一覧 | bq ls dataset |
データセット作成 | bq mk --data_location=US dataset |
テーブル作成(器) | bq mk dataset.table |
テーブル列追加 | bq update -t dataset.table fname:string,lname:string,age:integer |
GCS上のCSVをロード | bq load dataset.table gs://backet/data1.csv |
GSC上にデータ出力 | bq extract dataset.table gs://backet/data2.csv |
レコード一覧表示 | bq head dataset.table |
検索 | bq query "select fname,age from dataset.table where age > 37" |
SELECTクエリ結果を新テーブルに保存 | bq query --destination_table dataset.table2 --allow_large_results "select * from dataset.table where age > 37" |
テーブルの作成 |
bq mk --time_partitioning_type=DAY --schema time:timestamp, user:string -t dataset.table3 |
テーブル構成の 設定表示 |
bq show --format=prettyjson dataset.table3 |
テーブルに対する検索 |
bq query "SELECT time, user FROM dataset.table3 WHERE _PARTITIONTIME >= TIMESTAMP('2019-12-01')" ※パーティションテーブルでは、_PARTITIONTIMEと呼ばれるパーティショニング日付の疑似列が生成される |
リストア | bq cp dataset.table@-86400000 new_dataset.table3Backup ※過去7日分(デフォルト)のスナップショットを保持。 |
テーブル削除 | bq rm dataset.table |
データセット削除 | bq rm dataset |
謝辞
最後まで読んでいただき、誠にありがとうございました。
心より感謝を申し上げます。
どんなに流行っていたとしても興味がない、好きでないものに対して勉強し続けていくことは正直億劫になると思います。あえて逆張りをして、自分の好きな技術を追いかけていくのも良いのかなと思います。毎日楽しく過ごして参りましょう。