エンジニアリング
やりたかったこと GoogleスプレッドシートでIMPORTDATA関数を使ってCSVデータを取り込んでいるが、元データが変更されているのに反映されないことがあったのでなんとかしたかった。 結論 GASで値を入れ直せばよかった。ただし、clear()したあと、setValue()…
GCPのCloud SDK (gsutil) で使われるサービスアカウントを環境変数で切り替えて利用しようと思ったところ、なかなか上手くいかなかったので備忘録として残します。 やりたかったこと gsutil コマンドでGCSを操作するにあたって、実行するスクリプトごとにサ…
事象 Cloud Composerのジョブがエラーで失敗してしまう。 失敗したTaskは 'up_for_retry' になるが、try_numberが増えない。 Taskのログを見ると、Can't connect to MySQL server on 'airflow-sqlproxy-service.default.svc.cluster.local' と出ている。 注…
qualify句を使うと、今までできなかった「ウィンドウ関数の結果に対する条件指定による絞り込み」ができるようになり、クエリのネストを減らすことができる。 たとえば、各クラスごとにスコアが3位以上の生徒を抽出したい場合のクエリは以下のように改善でき…
GCPのMarketplaceからデプロイできるDeep Learning VMは、深層学習をGPUで行うために必要なドライバのインストールなどの面倒な環境構築を自動でやってくれるのでとても便利です。 ただ、GCP ConsoleからだとPreemptibleインスタンスが作成できないようなの…
毎回悩む(特に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.offline.iplot(fig) を実行しても図が表示されない。 解決方法 jupyterlab-plotly をインストールする。 plotly.offline.iplot(fig) の前に、plotly.offline.init_notebook_mode() を実…
状況 以下のデータを、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に入っているのは以下のようなテーブル(items)で、idはint、nameとattrはstring。 id name attr 1 aaa [{"key": "age",…
Hiveのクエリを一部の条件だけ書き換えて使い回したい場合、その条件を変数にしておくと便利です。 今回は変数の書き方と展開方法について書きたいと思います。 クエリの準備 クエリ内に変数を記述するときは${変数名}とします。 例として、今回はmembersテ…