case-kの備忘録

日々の備忘録です。データ分析とか基盤系に興味あります。

Dataflow JDBC テンプレート検証(Java)

Python版を調べてみたがクエリの上書きができなかったり、余計な通信が発生していたりと現時点で本番運用できる状態ではなかった。Java版が使えるか検証してみる。Java版はテンプレートが用意されていたので、PostgresとSQL Serverでそれぞれ検証してみた。…

Apache Beam Python JDBCを使いDataflowを動かすには、ジョブの実行環境からもコネクションを張れる必要があった

Apache BeamのPython jdbcコネクタを使いDataflowでジョブを実行してみました。Cloud SQLとDataflowを同一サブネット内に作りプライベートIPで接続を試みました。検証したところジョブ実行時に実行環境からPostgresにコネクションを張ろうとしていることがわ…

BigQuery Flex SlotsをPython版に置き換えた

bashでやっていたがエラーハンドリングが色々きつかったのでPythonに書き換えました。ドキュメントは不十分だったのでGitHub見ながら作る感じになります。 一通り機能はあるので同じようなことしようとしてる方の参考になれば幸いです。techblog.zozo.com コ…

embulk-filter-hashやRuryのハッシュ値と同じ値をBigQueryでがんばる

データ基盤旧環境で古い環境のハッシュ変換値をBigQueyの関数で実行した際の備忘録です。MD5の計算まではどの言語を使っても同じですが変換後の処理はそれぞれのライブラリや関数によって違うのでドキュメントや直接コードの確認が必要です。BigQueryのMD5関…

Apache Beam Python SQLServer To BigQuery検証

Apache Beam Python SQLServer To BigQueryを検証。クエリの上書きができないのは検証済みだがそれ以外で不足機能がないかみてみた。 www.case-k.jpSQL Serverの場合jarファイルの追加が必要。PostgresSQLは新たにjarを追加しなくてもドライバが含まれている…

Apache Beam Python PostgreSQL To BigQuery検証

Apache BeamのPythonでPostgreSQLからBigQueryに書き込めるか検証。検証したところJDBCをつかいPostgreSQLからBigQueryに書きこむことはできた。ただし、クエリの上書きはできなかった。 すべて「SELECT * FROM TABLE」で実行されてします。以下の条件に該当…

DataflowでKinesisを扱う際の注意点

この記事はZOZO Advent Calendar 21日目の記事です。qiita.com DataflowでCloud Pub/Sub からKinesisへ書き込む処理とKinesisからBigQueryへ書き込む処理を作りました。本記事ではDataflowでKinesisを扱う際の注意点をご紹介できたらと思います。github.com …

Embulkプラグイン開発備忘録

Embulkにパッチを当てるための備忘録です。 Ruby Embulkのoutput pluginのリトライ処理を直しました。 github.com Java SQL Serverのinput pluginにパッチを当てるために利用 github.com github.com 事前準備 Embulkを使えるようにします。 curl --create-di…

jRubyを使いfluentdのマルチスレッド処理を高速化できるか検証してみた

rubyでマルチスレッド処理を使うとGILの制約により、CPUのコアをうまく使えなかったのでGILの制約を受けないjRubyで実行する方法を試してみました。マルチプロセスだとinput pluginからout put pluginに渡すrouter.emit_streamがうまく機能しなかったためで…

DigdagのPythonオペレータでPipenvを使う

DigdagのPythonオペレータでPipenvで作ったpython環境を使うようにしました。Dockerfileは次の通りです。 FROM python:3 # use pipenv command in digdag python operator RUN mkdir -p /var/lib/python WORKDIR /var/lib/python RUN pip3 install pipenv CO…