中野智文のブログ

データ・マエショリスト(※データ・マエストロではない)のメモ

BigQuery でテーブルを正規表現を指定して削除する

背景 BigQuery で特定のテーブルをワイルドカードで指定して削除したいことがある。ところが、CLIコマンドである bq はそのようなワイルドカード指定はできない。 データセットのファイル一覧を出して、それを egrep で抽出する 下記の <dataset_name> と、<regular expression> にそれぞれ、デ</regular></dataset_name>…

pdf を送ると、「Kindleに送信された文書に問題がありました」

症状 次の論文をchromeでダウンロードして、 https://openreview.net/pdf?id=BkJsCIcgl mail で kindle に送信すると次のようなエラーメールが届く 2017年6月19日(月) 午前 09:59(JST) に送信された以下のドキュメントは、指定されたKindle に送信できません…

Permission denied while globbing file pattern. のエラー

症状 BigQuery のWebコンソールでは特にエラーは出ないのに、redash だと Error running query: The job encountered an internal error during execution and was unable to complete successfully. みたいなエラー。 調査 コマンドコンソールにて同クエリ…

luigi の exit status

luigi の exit status は失敗しても 0 が返ってくるので、make などから呼び出した場合、そのまま通過してしまう。 調べると、次のページが見つかる。 qiita.com 実はコマンドラインのオプションでも設定できる。 $ luigi --help-all ... --retcode-unhandle…

Airflow と格闘中(15)

nakano-tomofumi.hatenablog.com 上記のように、もう使わない予定だが、エラーが出たので貼り付ける。 backfill で deadlocked エラー Traceback (most recent call last): File "/XXX/bin/airflow", line 28, in <module> args.func(args) File "/XXX/lib/python2.7</module>…

会社の新しいmac book pro に Julia をインストールする

自宅 mac の Julia のインストールには結構時間がかかった。 nakano-tomofumi.hatenablog.com 今回は会社の mac book pro にインストールする。 brew cask install julia でインストール cask 版を使ったら驚くべきことにサクッとインストールできた。 $ bre…

Airflow をおすすめしない理由

これまでずっと airflow と格闘してきたが(下記参照) nakano-tomofumi.hatenablog.com ここで一旦まとめることにする。 Airflow をおすすめしない理由 【致命的】Scheduler がコケる。 タスクは別プロセスで実行されるが、スケジュールもコードで書いてあ…

Airflow と格闘中(14)

nakano-tomofumi.hatenablog.com のつづき。 エラーで scheduler が落ちる。 次のエラーで落ちる。 Traceback (most recent call last): File "/XXX/python/venv/bin/airflow", line 28, in <module> args.func(args) File "/XXX/python/venv/lib/python2.7/site-pac</module>…

Airflow と格闘中(13)

nakano-tomofumi.hatenablog.com のつづき pause なんて知らない。 やっと原因の一つが分かった。 stackoverflow.com DAGが (デフォルトで)pause されていたのだ。でも pause されているなんてどこにも書いていない。 Scheduling & Triggers の項目にも、T…

Airflow と格闘中(12)

nakano-tomofumi.hatenablog.com Scheduling & Triggers の To Keep in Mind を読む。 以下を読む。 Scheduling & Triggers — Airflow Documentation 以下超訳(カッコ内は自分の感想) DAG Run は start_date から始まるよ。これは日付をしないときの話かな…

自宅macのJuliaLang環境を治す(3)

nakano-tomofumi.hatenablog.com の続き ちょっと変化があった。 $ brew test -v julia Testing staticfloat/julia/julia ==> Using the sandbox /usr/bin/sandbox-exec -f /tmp/homebrew20170526-45995-169fe4y.sb /System/Library/Frameworks/Ruby.framewo…

自宅macのJuliaLang環境を治す(2)

nakano-tomofumi.hatenablog.com のつづき。 xcode を入れる。 app store にて。 julia を再インストール $ brew reinstall julia Error: You have not agreed to the Xcode license. Please resolve this by running: sudo xcodebuild -license accept とで…

自宅のMacにRを入れる

背景 Juliaを入れ直そうと思ったら、うまくいかない。 Rを入れる。 とりあえず、Rをいれればなんとかなるかもしれない。 OS XにRをインストールするときに知っておきたいこと - Qiita にしたがって、brew で入れる方法を試すことに $ brew tap homebrew/scie…

virtualbox の時刻がずれている

背景 make をやっても、うまくいかないことがある。 ターゲットを共通化するために、前処理の複数のターゲットのアウトプットを同じものにしてあったが、 時刻がずれているため?、本来意図してない処理が呼ばれてしまう模様。 ntpd がインストールされてい…

自宅macのJuliaLang環境を治す

背景 色々不具合があるので修正しよう。 brew doctor のメッセージ Warning: You have unlinked kegs in your Cellar Leaving kegs unlinked can lead to build-trouble and cause brews that depend on those kegs to fail to run properly once built. Run…

luigi と格闘中

背景 luigi と airflow と make を比較している。 luigi と格闘中 big query のクエリを書き換えたので再実行 あれ? 再実行されない。 ズバリな記事が見つかる。 datapipelinearchitect.com なるほど…。というか、removing all intermediate and final outp…

Wilson score interval を使う。

背景 以前、 blog.goo.ne.jp にて、Wilson score interval with continuity correction の式のテンプレートを書いたが、本当は外側に条件分岐 if が必要だったり、判別式の中が負になることもあったりと、ちょっと注意して使う必要があった(おいおい)。ち…

airflow と格闘中 (11)

nakano-tomofumi.hatenablog.com のつづき pysqlite2 がない apt-get install sqlite3-dev pip install pysqlite click がない? 次のエラー [2017-05-15 10:12:53,877] {__init__.py:57} INFO - Using executor SequentialExecutor Traceback (most recent …

gdrive の import ができなくなった。

背景 もともと、 github.com の問題に対応するため、パッチを作った(つもりだった)。 症状 別環境で試すことになったので、もう一度 build してみると、なんと動かなくなっているんだよね。 (すなわち issue の状態) 調査 バックアップ とりあえず、現行…

airflow と格闘中(10)

nakano-tomofumi.hatenablog.com のつづき。 いろいろあって、現在の mac 上でいろいろ検証するよりも、本番マシンに近い、仮想マシンで色々やったほうが良さそう、ということになった。 vm上で install しようとするも、numpy のコンパイルらしきものが始ま…

vagrant の Synced Folders で gest 側は強制的にディレクトリが作成される

これを抑制するオプションはなさそう。 www.vagrantup.com

airflow と格闘中(9)

nakano-tomofumi.hatenablog.com のつづき。 いやーもう本当に終わりにしたい。 前回のデッドロックの原因は、基本的には DAG ファイルの方のバグだった。しかしDAGファイルは最低でも dry run しとけ、ということだろう。 しかしデッドロックが表示されると…

airflow と格闘中(8)

nakano-tomofumi.hatenablog.com のつづき。 GWも明けたが、先週に引き続き、会社のノートPCを交換中。なので更新遅め。 backfill に戻したら、BackfillJob is deadlocked. うーむ。。。 trigger にするために終了を確認するファイルを touch していたのだが…

airflow と格闘中(7)

nakano-tomofumi.hatenablog.com のつづき。 結局 trigger_dag によって未だに成功はしていない。 trigger_dag はDAG(タスク)の終了までコマンドを待たない さらに大事なことに気がついた。luigi の実行では、その実行コマンドがタスクが全て完了するまで…

Airflow と格闘中(6)

皆様に置きましてはGW中かもしれませんが、小学生を持つ親は、小学校が休みでない以上、普通に出勤となります。 nakano-tomofumi.hatenablog.com のつづき。 scheduler が正解。 というかドキュメントは最後まで読もう。scheduler を起動しておいて、 trigge…

Airflow と格闘中(5)

nakano-tomofumi.hatenablog.com のつづき。 今日で終わりにしたい。 airflow のコマンドを調べる render タスクの実行内容を表示する。BashOperator なら test -dr とほぼ同等。 trigger_dags DAG の実行のトリガーを引く。求めていた機能の可能性。 -e オ…

Airflow と格闘中(4)

nakano-tomofumi.hatenablog.com のつづき。 多重実行は同時実行も完了タスクの実行もされちゃう backfill であるからか、普通に多重実行はされてしまう。多重実行と言っても、同時に実行と、既に完了したタスクの実行の二種類があると思うが、両方共実行さ…

AirFlow と格闘中(3)

nakano-tomofumi.hatenablog.com のつづき。 run で確認し、backfill で全体確認する Makefile から呼び出す想定だと(スケジューラであるはずの AirFlow をそのような形で呼び出すこと自体おかしいという話もあるが、まずは移行から始まるので…)、コマンド…

AirFlow と格闘中(2)

nakano-tomofumi.hatenablog.com のつづき。 upstream と downstream の違い upstream と downstream の違いが分からないわけではないが、両側から設定できるのは何の意味があるのか。 特に書いてないから、気になるは気になる…。(おそらくどっちでもいい)…

Airflow と格闘中

背景 luigi と airflow の使い勝手を比較したい。 現在は Makefile で ruby のワンライナーで日付を生成して xargs で make を呼んだりしている。 作業 luigi airflow と比べるとすんなりできた。 airflow 以下にハマったところを書く。 自動生成されたファ…