Software Engineer の覚書

日々仕事などで調べたこと・考えたことを綴っていきます。

PyCon APAC 2019 で "Building an Analytics Workflow using Airflow" について発表しました

表題の通り、2019/2/23/〜24に開催されたPyCon APAC 2019にてAirflowを使ったアナリティクスワークフローについて発表してきました。

www.youtube.com

www.slideshare.net

PyCon APACとは

PyCon APACは、PythonユーザコミュニティによるPythonに関するカンファレンスで、その名の通り、毎年Asia Pacificのいずれかの国で開催されています。 元々は、PyCon Singaporeの方が始めたこともあり、シンガポールでの開催が多いようです。2018年もシンガポールで開催、2019年は初のフィリピン・マニラでの開催でした。

PyConでは、言語自体のセッションはもとより、Webだけでなく、最近ではデータサイエンスやデータエンジニアリングの分野でPythonが活用されていることもあり、データ関係のセッションが増えているようです。

参加の理由

ここ1年半ほどはデータエンジニアリングの仕事をしていて、PySparkでのデータ処理やAirflowでのデータ分析用のワークフロー構築など、主にPythonを活用している機会が多かったため、いつかPyConで発表してみようと思っていました。

また、半年前くらいからSingaporeで働いているため、東南アジアでPyConが開催されておりには発表を申し込んでやろうと思っていたところ、ちょうどマニラでの開催で決まったので応募しました。マニラはシンガポールから4時間ほどと、まあそれほど近くはないですが、日本から行くよりは近いので^^; 応募してみました。

初マニラの感想

実は、マニラに行く前は、東南アジアで行ったことあるのはシンガポールだけだったので、嫁さんからは「お前は本当の東南アジアを知らない」とバカにされていましたが、マニラに来て圧倒されました。 ものすごい大渋滞、ビジネス街ですらあちこち道が壊れてていて、ボロボロの家があったり、やはり日本とは全く違う雰囲気です。

しかし、フィリピン自体は大手ベンダー(欧米系やら東南アジアなど)が開発拠点を作るなど、東南アジアでのソフトウェアエンジニアの仕事のアウトソース先としてかなり発展してきているそうです。500人近くの参加者の中で、地元の人が過半数。皆、若くて、これから頑張ってやろうと野心にみなぎっていました。まずは、いい仕事について、シンガポールなど発展した仕事を見つけるため、やる気満々です。この辺は成熟した日本とは少し違うかなと思いました。

発表内容 "Building an Analytics Workflow using Airflow"

発表では、以下を紹介しました。要はここ1年くらい私のチームが辿った軌跡を良かったこと、悪かったことをふまえなぞり、今ならComposer1択ですとおすすめして締めました。発表中には1個だけ質問もらいましたが、降壇した後も4-5人から質問されて、Airflowの盛り上がりを感じると共に発表してよかったなと思いました。

  • データ分析用のワークフローの定義や簡単な例
  • Airflowの概要と使い方
  • プロダクションで使う際のAirflowクラスタの構築と課題
  • Composer(最近、GCPがリリースしたマネージドのAirflowサービス)の概要と簡単な使い方

発表に至った経緯を説明すると、私の所属するチームでは、Python使いが多いため、Pythonでワークフローを書け、どこの環境でも動かせるOSSということで、Airflowを選び、1年以上プロダクションでも活用しています。私も1年ほどAirflow職人をやっていますが、非常に使い勝手がよく、良い選択をしたと満足感があります。

ただし、やはりクラスタを管理するにはインフラ寄りのスキルセットを持った人の時間をインフラ管理に投資する必要があります。しかし、最近ではインフラ管理よりもビジネス価値に直結するアプリ寄りに時間をさく方が良いと考え、マネージドサービス(Composer)を活用しています。やはり生産性が全く違うので、非常に満足しています。

次はPyCon Singapore 2019!

PyCon SG 2019

次は地元シンガポールでPyCon Singapore 2019が2019年10月に開催されます。今回の発表でのフィードバックを受け、いくつか改良点(Sparkを使う方法など)を加えて、再度、発表を申し込もうと思います。

あるいは、最近、Apache Beam(Dataflow)も活用しているので、こちらのサービスのPythonでの利用について発表するのも良いかなと思います。

以上、続報をご期待ください。