「rubocop がない」って怒られて動かず。 どうやら、vscode のワークスペースに Gemfile 置いて、rubocop を記載して bundle install しないとダメらしい。 諸事情あり、Gemfile 置いてなかったのだった。 (Dockerfile のほうで gem 入れてて、コードはコン…
[{"num":1,"text":"hoge"},{"num":2,"text":"fuga"}] みたいなファイルは bq load でエラーになる。 トップレベルがオブジェクトでなければダメなようだ。 やり方は2つあって、 {"row":...} みたいにラップしてオブジェクト化する方法 {"row":[{"num":1,"tex…
ts_column という TIMESTAMP 型のカラムでパーティショニングされたテーブルがあるとして、 WHERE FORMAT_TIMESTAMP('%Y-%m', ts_column, 'Asia/Tokyo') = '2023-05' これだと全件読みに行っちゃうようだが、 WHERE TIMESTAMP_TRUNC(ts_column, MONTH,'Asia/…
schedule: を定義してない workflow を RUN ボタンクリックで実行した場合、session_time はボタンをクリックした日時で、last_session_time は未定義となる。 あと、schedule を定義してないと backfill はできない。どういうサイクル(日毎なのか時間毎な…
bucket = Google::Cloud::Storage.new(project_id: gcp_project).bucket(gcs_bucket) file = bucket.file(file_path, skip_lookup: true) do_something if file.exists? みたいなコード書いた場合、ファイルが存在しない場合は file.exists? がちゃんと fals…
google spread sheet で A$2:B みたいな範囲指定ができる。 「2行目以降の A:B 列」という意味になる。
よく分かってないので整理。 ロードバランサのフロントエンド/バックエンド 用語 意味 フロントエンド LBがどのGIP、ポートで受けるのか、とか、SSL/TSL証明書の設定とか バックエンド LBからどのサーバに流すのか Cloud Front -> ELB 間の通信をSSL化する場…
久々に sdk ls java したら、いつも使ってる adopt が無くなってて、見慣れないやつらが増えてた。 adopt は eclipse 財団傘下になって adoptium に名前が変わったらしい。ディストリビューションの名前は temurin になったらしい。 adoptopenjdk.net temrin…
パーティショニングしていて、require_partition_filter = true のテーブル同士をJOINする場合を考える。 そのようなテーブルをフルスキャンする場合、 WHERE partitioning_field IS NOT NULL ってやるが、これは JOIN するテーブルが一つまでだと動くが、2…
GCP のデフォルト・プロジェクトを設定する方法に、環境変数を設定する方法があるが、同じような役割っぽい環境変数がいくつかある。 GOOGLE_CLOUD_PROJECT CLOUDSDK_CORE_PROJECT GCP_PROJECT GCLOUD_PROJECT GCLOUD_PROJECT は deprecated のようだ。 GCLO…
こちらに良いまとめが。 mag.app-liv.jp 「スマホやタブレットのアプリから転送」がちょっと分かりづらい。 「safari で pdf を開いて共有ボタンで kindle」ではダメ。それだと共有を実行した端末にしか PDF が保存されない... box アプリや google drive ア…
Google::Cloud::Bigquery.new.query( <<~QUERY ALTER TABLE dataset.table SET OPTIONS (expiration_timestamp=TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)) QUERY ) このコード、動かないっぽい... Library/Ruby/Gems/2.6.0/gems/google-cloud-big…
jcommander の dynamic option というやつらしい。 https://github.com/treasure-data/digdag/blob/v0.10.0/digdag-cli/src/main/java/io/digdag/cli/Command.java#L54 しかし、どこで参照しているのか分からなかった...
workflow 画面の 「RUN」をクリックした場合の挙動 2021-01-10 に実行したとする。 cron を使った場合 schedule: cron>: 10 1 * * * 1時10分より前に実行した場合 session_time = クリックした日時 last_session_time= 2021-01-09 01:10:00 1時10分より後に…
cron でスケジュールすると session_time = cron の時刻 daily でスケジュールすると session_time = 実行日の0時0分 hourly の場合も同様。 例えば、 2021-01-10 のバッチを考える。 cron を使った場合 schedule: cron>: 10 1 * * * ↓ session_time = 2021-…
Mac で自分の個人アカウントを使って ruby スクリプトの動作確認をしようとしたのだが、BigQuery の external table (google sheet) を SELECT するところで PERMISSION_DENIED が出て一晩ハマった。 「個人アカウントを使って」というのは gcloud auth appl…
データベースのスナップショットを日次バッチでBQに load している。 x日の朝に、その時点のスナップショットをx-1日のパーティションに入れている。 というケースで、その時点でBQに入っている最新のスナップショットを select したい。 そして、最新のスナ…
「日付がもっとも新しいパーティションに対してクエリをかけたい」というケースがあった。 DECLARE pdate DATE; SET pdate = ( SELECT MAX(_PARTITIONDATE) FROM `some_dataset.partitioned_table` ); SELECT * FROM `some_dataset.partitioned_table` WHERE…
ログをBQに突っ込むんだけど、レコードが重複して出力されてる可能性がある。 但し、レコード毎にユニークキーなキーが付与されてる。 という場合、以下のようなviewを作れば重複排除できる。 CREATE OR REPLACE VIEW `dataset.view_name` AS WITH src AS ( …
しばらく触らないといろいろ忘れるし、ツールが乱立してて混乱しがち。 pyenv で3系をインストールしようとしたらpyexpat でエラー この記事で紹介して下さってる方法で Command Line Tools for Xcodeのバージョンを上げ、 qiita.com コマンドラインを開き直…
以下の2系統があるっぽい。 いずれもソースコードは github の googleapis という org 下で管理されている。 Google APIs · GitHub library document coverage github repository naming rule java package Google API Client Libraries https://developers.…
文字化け等で何の文字コードが入っているのか確認した場合などに使う。 xxd コマンドでascii と 16進数コードを見比べつつ、以下のようなコード変換ツールで個別の文字コードを確認する。 16進数を文字列に自動変換&その逆をするツール xxd コマンドでUTF8…
default サービスの場合はこれ。 terraform import google_app_engine_application.digdag [gcp project id] default 以外のサービスは試してないが、たぶんこれか? terraform import google_app_engine_application.digdag [service name].[gcp project id]
単に数式を表示しただけだと、係数が指数表示されたりして数桁しか表示されず、それで計算してもすごく外れることがある。 数式をクリックして書式設定すると、より下位の桁まで出せる。
色んなとこでも書かれてるが export / import ファイルシステムの中身だけ書き出し、読み込み。 ENTRYPOINT 等のメタデータは失われる。 save / load メタデータも一緒に保存・取り込み。 save した tarball を import してもメタデータは復元されないので注…
Array型のカラムを含むテーブルに対するクエリ。 inner join query WITH sample AS ( select '1' as col1, ['a', 'b'] as col2 UNION ALL select '2' as col1, [] as col2 ) select * from sample, UNNEST (col2) as col2_unnest result Row col1 col2 col2_…
keyamb.hatenablog.com ココらへんを参考に、peceでhistoryをいい感じにしてみた。 しかし、 READLINE_LINE を読めるものの、上書きできずハマっていた。 どうも、sdkmanが悪さしているようだった。 .bashrc の最後で sdkman-init.sh を実行していたのだが、…
Cloud Shell で datalab create し、deleteした。 後でもう一度 datalab create すると、 Permission denied (publickey). と出て何度もリトライを続けてる。 sshの公開鍵認証が通ってないっぽい… cloud shell は1時間 inactive になるとインスタンスが作り…
macでechoの出力に色付けたいのに付かない! coreutils入れたのに! と悩んでたら、なんと、echo は bash builtin にもあり、フルパス指定するかaliasしないとbuiltinが使われるということを今更知った… コマンドを探す優先順位はこちら。 “応用力”をつける…
と思ったら、rbenvで切り替えたversionにrubocop入れてないだけだった…