turtle形式でRDFデータを出力するためのEmbulkプラグイン(embulk-formatter-turtle)のご紹介

昨年、以下のエントリで、SPARQLのクエリで取得したデータを取り込むプラグインを書きました。今回は、逆向きのデータの流れ、手元のデータから、SPARQLのエンドポイント用のデータを出力するプラグインを書きました。SPARQLで取得したデータを入力とするEmbulkプラグイン(embulk-input-sparql)のご紹介<a href="https://takemikami.com/2020/10/17/SPARQLEmbulkemb...

AirflowのDAG単体テストの事始め

この記事は、データ基盤・BIツール・データエンジニアリング Advent Calendar 2021 の5日目の記事です。データ基盤・BIツール・データエンジニアリング Advent Calendar 2021https://qiita.com/advent-calendar/2021/dataengineering</p...

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をショートカ...

Author
takemikami
データエンジニア
・データ分析基盤の開発運用
・マーケティングデータ分析
研究発表履歴
書籍執筆履歴
開発プロダクト
facebook
twitter
LinkedIn
Hatena::Bookmark
YouTube
github
slideshare
Books
takemikami's shop
Recent Posts
[PR]
タグ
AutoHotkey aglio airflow anaconda android angularjs apiblueprint appscript arduino asyncio aurora autohotkey automator autoscaling aws awsglue azure azureml bash bi bigquery bitbucket booth breeze capistrano cassandra celery centos changekey checkstyle chef chrome circleci cloud-init cloudformation cloudwatch clustering colab css csv cuda cui databricks designpattern devise devpi digdag direnv docker drakov dsl dynamodb ec ec2 eclipse elasticsearch embulk emr errbit excel findbugs flask fluent fluentd forgejo fortran fuseki gae gcp gdrive gensim ggplot2 ghostscript git gitbook giter8 github go googlecharttools gr-sakura gradle graphql groovy hadoop hbase heroku hibernate hive hivemall hiveqlunit hiveserver2 hubot hyperas hyperopt hyperv idolmaster igo infobright intellijidea iotlt iptables java javascript jdepend jdk jekyll jest jetty jline jmeter jquery js2py jthree jupyter kenlm keras keras-rl knitr langchain linter llm lxd mac macos mahout mako mathML maven mermaid milkcocoa minio mlflow mllib moneyforward monit moto msgraph msoffice msword msys2 multipass mysql natureremo nginx nodejs nokogiri onedriveforbusiness opencv opsgenie pandas pdf pentaho perl php pmd polycoder process-compose pusher pycharm pyenv pyspark pytest python pytorch r rails rails3 rails4 rbenv rdflint rds repl rnnlm rstudio rubocop ruby s3 sbt scala scikit-learn selenium servlet shippable slack sonarqube spark sparql spotbugs spree spring springboot sql sqoop sqs sublimetext subversion tensorflow terraform textlint threejs tortoisegit twitter vagrant visdom vmware vscode vuejs watchdog webrtc websocket wordpress wsl 形態素解析 秀丸エディタ 負荷テスト 開発管理
PlayStation
Steam
About