Pythonでデータを処理するコードで、ディレクトリ配下の全ファイルに対して処理を書くとき。ディレクトリ配下のファイル一覧のfor文ファイル開くwith文ファイルを1行ずつ処理するwhile文終了条件のif文といった感じになるので、単純な処理の割にネストが深くなりがちです。そこで、次のように、すっきりと書けないか考えてみました。<li...
複数人の並行開発で、開発用サーバを共有している場合などに、Gitで管理しているファイルで、自分の作業ブランチで修正したファイルだけをサーバに上げたいことがあります。都度、修正したファイルを選んでアップロードするのは、手間がかかり、ミスの原因にもなるので、スクリプトを書いてみました。 # コンテナ技術などを使って、# 開発用サーバを共有しないようにすべきという意見もあるとは思いますが。。sync_dif...
ETL処理などをSpark SQLで行う場合に、SQLを設定ファイルに持たせておくケースは、よくあると思います。このような設定ファイルに書いてあるSQLが文法的に正しいかどうかを、単体テストレベルでざっとチェックできると、実サーバでの動作確認から手戻りが減らせると思い、方法を調べてみました。# 本来はダミーデータなどを作成して、# ローカルの環境で、実際にクエリを実行・テストすべきではありますが。やり...
Pylint-AirflowというAirflowのDAGのLinterがあったので、試してみました。Pylint-Airflow | GitHubhttps://github.com/BasPH/pylint-airflow2019年から更新されていないので、ちょっと不安だったのですが、問題無く動いてそうです。Airfl...
AirflowのConnectionやVariableは、SecretBackendを使うと、AWS SSM ParameterやGCP Secrets Managerで管理することが出来ます。Alternative secrets backend | Apache Airflow<a href="https://airflow.apache.org/docs/apache-airflow/1.10.10/howto/use-alternative-secr...
このエントリでは、Pythonを使って、Pythonの関数のソースコードを抜き出す方法を示します。日本語で説明しても、何をしようとしているのか分かりにくいと思うので、まず、コードと実行結果を示します。コード: get_func_code.py<span class="k...
IntelliJ IDEA(or PyCharm)を用いた、ローカルPCでのAWS GlueのJobの開発環境の構築メモです。環境の作り方は、以下の公式ドキュメントに記載があるのですが、ある程度pysparkの知識が無いと、公式の説明だけで環境構築するのは無理があると思います。Developing Locally with Python | AWS Glue | AWS Documentation<a href="https:/...
本エントリでは、Pythonのvenv仮想環境にpysparkをセットアップする手順を示します。以下を参考に手順を示します。Installation | Apache Sparkhttps://spark.apache.org/...
このエントリでは、AirflowからEMRを利用する時に、途中のStepから再実行出来るようにする方法を示します。以下のドキュメントに示されているとおり、Amazon EMR Operatorsを利用すると、EMRで処理を実行出来ます。Amazon EMR Operator | Apache Airflow<a href="https://airflow.apache.org/docs/apache-airflow-provide...
Versionを指定したローカルPCへのAirflowのセットアップのメモです。ここでは、MWAA(Amazon Managed Workflows for Apache Airflow)の開発用に、Python 3.7, Airflow 1.10.12 のversionの組み合わせで環境を作ります。※2021年5月時点のMWAAで利用できる最新version以下のセットアップ手順を参考にしています。2.0系と1.10系のやり方を...
Macでデュアルモニタを使って作業中している時に、サブモニタに全画面表示でカレンダー、メール、Slackを表示させているのですが。これらを切り替える時にマウスカーソルをサブモニタに移動させるのが手間なので、キーボードショートカットで切り替えが出来ないかを考えました。Automatorを使って簡単にできたのでメモとして残しておきます。 以下のサイトを参考にさせていただきました。Apple Scriptをショートカ...
IntelliJ IDEAでのTerraform開発を行う場合、以下のプラグインを使うと便利ですが、設定に少し工夫が必要だったのでメモを残しておきます。HashiCorp Terraform / HCL language support https://plugins.je...
(2022.03.04 追記)システム屋で無くても対応出来る手順に更新しました。Boothの売上・入金をMoneyForward確定申告・会計に記帳する手順 - 2022年版 | takemikami.comhttps://takemikami.com/2022/03/04/BoothMoneyF...
Macで作業中、照明の明るさを調整したくなった時に、NatureRemoのスマホアプリやリモコンに持ち替えするのが面倒に思い、メニューバーあたりからNatureRemoで操作できないかを調べたところ、簡単にできたのでメモを残しておきます。完成形は、以下のイメージになります。<img src="https://lh3.googleusercontent.com/pw/ACtC-3fHHoli2x535e-sAVqTKCiF9yaDV...
GitHub APIには、REST API、GraphQL APIと言う2種類のAPIがあります。このエントリでは、PythonからこれらのAPIを利用する方法を示します。GitHub REST API | GitHub Docshttps://docs.github.com/en/restGitHub GraphQL API | GitH...