pre-commitをGitHubActions, VSCode, IntelliJ IDEAで利用する

pre-commitというGitのpre-commit Hookを管理するフレームワークがあります。このツールを利用すると、GitのHookスクリプトへのフォーマッター等の設定をシンプルにすることが出来ます。pre-commithttps://pre-commit.com/Hookスクリプトがあると、commitを行おうとした時に自動的にチェック...

PythonからRedis serverを立ち上げてアクセスする

Pythonのスクリプトで集計処理などを書いていると、時々、dictで扱うにはちょっと大きい、と思われる規模の集計が必要になる事があります。このような時には、Redis等のKey-Value-Storeを使うことになりますが、別にプロセスを立ち上げるとなると、実行手順が面倒になってしまいます。そこで、RedisServerの起動・終了をPythonのスクリプトで行う事を考えました。利用イメージとしては、単体テスト用に作ら...

Pythonでディレクトリ配下の全ファイルを1行ずつ処理する

Pythonでデータを処理するコードで、ディレクトリ配下の全ファイルに対して処理を書くとき。ディレクトリ配下のファイル一覧のfor文ファイル開くwith文ファイルを1行ずつ処理するwhile文終了条件のif文といった感じになるので、単純な処理の割にネストが深くなりがちです。そこで、次のように、すっきりと書けないか考えてみました。<li...

Git管理下で修正したファイルだけをサーバに上げるスクリプト

複数人の並行開発で、開発用サーバを共有している場合などに、Gitで管理しているファイルで、自分の作業ブランチで修正したファイルだけをサーバに上げたいことがあります。都度、修正したファイルを選んでアップロードするのは、手間がかかり、ミスの原因にもなるので、スクリプトを書いてみました。 # コンテナ技術などを使って、# 開発用サーバを共有しないようにすべきという意見もあるとは思いますが。。sync_dif...

pysparkでSparkSQLの文法チェックをする

ETL処理などをSpark SQLで行う場合に、SQLを設定ファイルに持たせておくケースは、よくあると思います。このような設定ファイルに書いてあるSQLが文法的に正しいかどうかを、単体テストレベルでざっとチェックできると、実サーバでの動作確認から手戻りが減らせると思い、方法を調べてみました。# 本来はダミーデータなどを作成して、# ローカルの環境で、実際にクエリを実行・テストすべきではありますが。やり...

Pylint-Airflowを使ってみた

Pylint-AirflowというAirflowのDAGのLinterがあったので、試してみました。Pylint-Airflow | GitHubhttps://github.com/BasPH/pylint-airflow2019年から更新されていないので、ちょっと不安だったのですが、問題無く動いてそうです。Airfl...

AirflowのConnectionのパラメータを既存のDBから設定する方法

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を使って、Pythonの関数のソースコードを抜き出す方法を示します。日本語で説明しても、何をしようとしているのか分かりにくいと思うので、まず、コードと実行結果を示します。コード: get_func_code.py<span class="k...

IntelliJ IDEAを用いたAWS GlueのJob開発環境(Python版)の構築メモ

IntelliJ IDEA(or PyCharm)を用いた、ローカルPCでのAWS GlueのJobの開発環境の構築メモです。環境の作り方は、以下の公式ドキュメントに記載があるのですが、ある程度pysparkの知識が無いと、公式の説明だけで環境構築するのは無理があると思います。Developing Locally with Python | AWS Glue | AWS Documentation<a href="https:/...

venv環境にpysparkを設定する手順

本エントリでは、Pythonのvenv仮想環境にpysparkをセットアップする手順を示します。以下を参考に手順を示します。Installation | Apache Sparkhttps://spark.apache.org/...

AirflowからEMRを利用する時に、途中のStepから再実行出来るようにする

このエントリでは、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のセットアップ手順

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系のやり方を...

macOSでサブモニタに表示しているアプリをキーボードショートカットで切り替える方法

Macでデュアルモニタを使って作業中している時に、サブモニタに全画面表示でカレンダー、メール、Slackを表示させているのですが。これらを切り替える時にマウスカーソルをサブモニタに移動させるのが手間なので、キーボードショートカットで切り替えが出来ないかを考えました。Automatorを使って簡単にできたのでメモとして残しておきます。 以下のサイトを参考にさせていただきました。Apple Scriptをショートカ...

IntelliJ IDEAでのTerraform開発環境設定メモ

IntelliJ IDEAでのTerraform開発を行う場合、以下のプラグインを使うと便利ですが、設定に少し工夫が必要だったのでメモを残しておきます。HashiCorp Terraform / HCL language support https://plugins.je...

Boothの売上・入金をMoneyForward確定申告・会計に記帳する手順

このエントリでは、(主に未来の自分に向けて)、Boothの売上データをMoneyFoward会計にインポートするための手順をまとめておきます。Boothで少しだけ技術書を販売しており、記帳が大変になる程の売り上げがある訳でも無いのですが、ミスを防ぐために、売上・入金データの仕訳は機械的に出来るようにしました。↓私のショップの宣伝を入れておきます↓ takemikami's shop | Booth<br...

Author
takemikami
データエンジニア
・データ分析基盤の開発運用
・マーケティングデータ分析
研究発表履歴
facebook
twitter
LinkedIn
Hatena::Bookmark
YouTube
github
slideshare
takemikami's shop
Twitter
Recent Posts
[PR]
タグ
PlayStation
Steam
About