python jupyterノートブックにコードがありますが、これを毎日実行する必要があるので、これを設定する方法があるかどうかを知りたいので、本当に感謝しています
より高品質にしたい場合は、エアフローと組み合わせるのが適切です。 Dockerイメージにパッケージ化しました https://github.com/michaelchanwahyan/datalab 。
これは、オープンソースパッケージnbparameterizeを変更し、execution_dateなどの引数を渡すことで統合されます。 グラフはその場で生成できます出力はノートブック内で更新および保存できます。
実行されるとき
また、spark、keras、tensorflowなどの一般的なツールもインストールおよび設定しました。
更新
最近、ノートブックの実行とパラメータ化を行うための製紙工場に出会いました。
https://github.com/nteract/papermill
papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1
パラメータを使用できるため、nbconvertよりも優れているようです。スケジューラーでこのコマンドをトリガーする必要があります。以下は、Ubuntuでのcronの例です。
古い回答
nbconvert --execute
jupyter Notebookを実行できます。これはcronjobに組み込まれているため、必要な処理を実行できます。
Ubuntuでの設定例:
次の内容でyourscript.shを作成します。
/opt/anaconda/envs/yourenv/bin/jupyter nbconvert \
--execute \
--to notebook /path/to/yournotebook.ipynb \
--output /path/to/yournotebook-output.ipynb
--to Notebook以外のオプションがあります。後で完全に実行可能な「ログ」ファイルがあるため、このオプションが気に入っています。
仮想環境を使用してノートブックを実行することをお勧めします。これにより、今後の更新でスクリプトが混乱するのを防ぐことができます。 nbconvertを環境にインストールすることを忘れないでください。
次に、毎日実行されるcronjobを作成します。午前5:10に、ターミナルでcrontab -e
と入力して、次の行を追加します。
10 5 * * * /path/to/yourscript.sh
SeekWell Chrome Extension を試してください。Jupyterノートブックから直接、毎週、毎日、1時間ごと、または5分ごとに実行するようにノートブックをスケジュールできます。DataFramesを直接送信することもできます。必要に応じて、スプレッドシートまたはSlackに移動します。
デモビデオ があり、上記のChromeウェブストアリンクにも詳細があります。
**開示:私はSeekWellの共同設立者です
パラメータを使用してJupyterノートブックを実行するには、 Papermill を使用します。また、MarkdownファイルまたはPythonスクリプトを Jupytext とする)としてノートブックを共有/バージョン管理すると便利です。その後、nbconvert
を使用してノートブックをHTMLファイルに変換します通常、私のワークフローは次のようになります。
cat world_facts.md \
| jupytext --from md --to ipynb --set-kernel - \
| papermill -p year 2017 \
| jupyter nbconvert --no-input --stdin --output world_facts_2017_report.html
ノートブックの実行が期待されるPython環境の指定方法、ノートブックでの継続的統合の使用方法など、上記の詳細については、私の記事をご覧くださいJupyterノートブックで自動化されたレポート(JupytextとPapermillを使用)は、 Medium 、 GitHub 、または Binder 。記事のコマンドの結果をインタラクティブにテストする場合は、バインダーリンクを使用します。
cronjobにjupyterノートブックを追加できます
0 * * * * /home/ec2-user/anaconda3/bin/python /home/ec2-user/anaconda3/bin/jupyter-notebook
/ home/ec2-user/anaconda3をanacondaのインストール場所に置き換える必要があり、cronの要件に基づいて時間をスケジュールできます。