mahiro-ism

データエンジニアリングと日常生活。

エンジニアリング

新着順 人気順

GoogleスプレッドシートのIMPORT系の関数の結果を即座に更新する方法

やりたかったこと GoogleスプレッドシートでIMPORTDATA関数を使ってCSVデータを取り込んでいるが、元データが変更されているのに反映されないことがあったのでなんとかしたかった。 結論 GASで値を入れ直せばよかった。ただし、clear()したあと、setValue()…

gsutilコマンド使用時のサービスアカウントを環境変数で切り替える方法

GCPのCloud SDK (gsutil) で使われるサービスアカウントを環境変数で切り替えて利用しようと思ったところ、なかなか上手くいかなかったので備忘録として残します。 やりたかったこと gsutil コマンドでGCSを操作するにあたって、実行するスクリプトごとにサ…

Cloud Composerから管理用のMySQLに接続できないときの対処法

事象 Cloud Composerのジョブがエラーで失敗してしまう。 失敗したTaskは 'up_for_retry' になるが、try_numberが増えない。 Taskのログを見ると、Can't connect to MySQL server on 'airflow-sqlproxy-service.default.svc.cluster.local' と出ている。 注…

BigQueryのqualify句の使い方

qualify句を使うと、今までできなかった「ウィンドウ関数の結果に対する条件指定による絞り込み」ができるようになり、クエリのネストを減らすことができる。 たとえば、各クラスごとにスコアが3位以上の生徒を抽出したい場合のクエリは以下のように改善でき…

GCPのDeep Learning VMをPreemptibleインスタンスで使う方法

GCPのMarketplaceからデプロイできるDeep Learning VMは、深層学習をGPUで行うために必要なドライバのインストールなどの面倒な環境構築を自動でやってくれるのでとても便利です。 ただ、GCP ConsoleからだとPreemptibleインスタンスが作成できないようなの…

GitHubのSSH認証の設定方法

毎回悩む(特にconfigの書き方)のでメモ。 ​ 手順 SSH Keyの生成 ​ SSH Keyを格納するディレクトリ( hogehoge )を作成して移動する。 $ mkdir -p ~/.ssh/hogehoge $ cd ~/.ssh/hogehoge ​ SSH Keyを生成する。 $ ssh-keygen -t rsa -b 4096 -C "user@hoge…

Jupyter LabでPlotlyのiplotを表示する方法

なかなか表示されなくて詰まったのでメモ。 状況 Jupyter Labで plotly.offline.iplot(fig) を実行しても図が表示されない。 解決方法 jupyterlab-plotly をインストールする。 plotly.offline.iplot(fig) の前に、plotly.offline.init_notebook_mode() を実…

Hiveでアルファベット+数字の並び替えを行う方法

状況 以下のデータを、categoryカラムの中のアルファベット順で並び替えてから、続く数字で並び替えたい(idはint、categoryはstring)。 id category 1 a2 2 b5 3 a13 4 b2 5 a1 最初に書いたクエリ select category from table order by category 結果は以…

Hiveに文字列で格納されたJSON形式の配列を行として展開する方法

タイトルだけだと何を言っているのかよくわからないかもしれませんが、下の例を見ていただけるとわかりやすいかと思います。 状況 Hiveに入っているのは以下のようなテーブル(items)で、idはint、nameとattrはstring。 id name attr 1 aaa [{"key": "age",…

Hiveのクエリにおける変数展開の方法

Hiveのクエリを一部の条件だけ書き換えて使い回したい場合、その条件を変数にしておくと便利です。 今回は変数の書き方と展開方法について書きたいと思います。 クエリの準備 クエリ内に変数を記述するときは${変数名}とします。 例として、今回はmembersテ…