Bigquery で、日付別テーブル(_TABLE_SUFFIX付きテーブル)を一括削除する ワンライナー
やりたい事・背景 Bigqueryで、Historicalなデータの保存時に、_YYYYMMDDなどのSuffixを追加して保存していると、気がつくと世代がめちゃくちゃ増えていることがあり、削除をする必要があった。 が、GCPのコンソールからは、1テーブルづつしか削除できない。また、bqコマンドではワイルドカードをつかった削除機能はなかったため、このアプローチを取った。 ワンライナー <Project_name>, <Dataset_Name>, <削除したいTable名のパターン> を置き換える。 bq query --project_id=<Project_name> --use_legacy_sql=false --format=csv --max_rows=1000 "SELECT table_id FROM \`<Product_Name>.<Dataset_Name>.__TABLES__\` WHERE table_id LIKE '%<削除したいTable名のパターン>%'" | tail -n +2 | xargs -I {} bq rm -f -t <Product_Name>:<Dataset_Name>.{} 補足 ‐ 実行前に、対象のテーブルを確認した方がよいので、以下を使用。 bq query --project_id=<Project_name> --use_legacy_sql=false --format=csv --max_rows=1000 "SELECT table_id FROM \`<Product_Name>.<Dataset_Name>.__TABLES__\` WHERE table_id LIKE '%<削除したいTable名のパターン>%'" | tail -n +2 | xargs -I {} echo "Table ID: {}" ‐ データセット作成時に、デフォルトの有効期限設定をするのがベストプラクティスとの事。ただ、後から設定しても、作成済みのテーブルは削除されない。。。自分で消さないとダメでした。 https://cloud.google.com/bigquery/docs/best-practices-storage?hl=ja#use-expiration-settings
オブジェクトの名称はすべて小文字にしておくこと - PostgreSQL
postgresqlでは、オブジェクト(テーブル名、カラム名)の名称はすべて小文字にすること 理由 DB内には、大文字・小文字で区別して登録される SQL内では、"(ダブルクォーテーション)で囲まれているとそのままの文字列だが、囲まれていないと小文字に変換される(らしい) 結果、アンマッチが起きる testdb=> \d iris Table "public.iris" Column | Type | Modifiers ---------------+-----------------------+----------- Id | integer | not null SepalLengthCm | numeric(15,2) | SepalWidthCm | numeric(15,2) | PetalLengthCm | numeric(15,2) | PetalWidthCm | numeric(15,2) | Species | character varying(20) | Indexes: "iris_pkey" PRIMARY KEY, btree ("Id") testdb=> select * from iris where SepalLengthCm > 5.0; --<--- NG ERROR: 列"sepallengthcm"は存在しません LINE 1: select * from iris where SepalLengthCm > 5.0; ^ HINT: Perhaps you meant to reference the column "iris.SepalLengthCm". testdb=> select * from iris where "iris.SepalLengthCm" > 5.0; --<--- NG ERROR: 列"iris.SepalLengthCm"は存在しません LINE 1: select * from iris where "iris.SepalLengthCm" > 5.0; ^ testdb=> select * from iris where "SepalLengthCm" > 5.0; --<--- OK testdb=> select * from iris where iris."SepalLengthCm" > 5.0; --<--- OK my previous blog post https://pumpkinpie-tea.blogspot.com/2016/06/postgresql.html ...
Building up vocabulary of Bahasa Indonesia (verb)
verb - kata kerja - 動詞 # Bahasa Indonesia Contoh kalimat English Japanese 5 percaya Saya percaya begitu. believe 信じる 4 bilang Dia bilang bahwa dia sudah pernah pergi ke Jerman. said 言った 3 berkata Dia berkata bahwa dia sudah pernah pergi ke Jerman. said 言った 2 nikmati (menikmati) Selamat menikmati liburan! enjoy 楽しむ 1 tahu Saya tidak tahu. know 知る
[Under editing] Web配信の技術
Memo CDN
Start new blog
About This Blog このブログは、以前のサイトから引っ越してきました。 旧ブログ https://pumpkinpie-tea.blogspot.com/ 引っ越しの目的 このサイト移行にはいくつかの目的がありました。主に、以下のような技術的なトライアルを実施したかったためです。 独自ドメインを取得し、サイトを立ち上げる経験 Google Analytics(GA)やSEOの設定・最適化 静的サイトジェネレーター(Hugo)を活用したWebサイトの構築 Firebase Hostingを利用したホスティングの実践 このサイトは、個人的なメモ帳としての役割を果たすことを目的としています。 思いついたことや試行錯誤の記録を残し、自分自身の学びを整理する場です。