「PyCon APAC 2018 in Singapore」参加レポート

Day2:今すぐ始められる機械学習,“Pythonic”なコードを書くには?

この記事を読むのに必要な時間:およそ 4.5 分

セッション:Streaming data processing pipelines with Apache Beam [in Python, naturally!]―Markku Lepistö, Solutions Architect -APAC and Japan, Google Cloud Platform at Google

清田史和

Apache Beamsの解説とリアルタイムにPOS(point of sales)データを処理をする実演が行われた初級~中級者向けのトークでした。まず,Apache Beamの名前の由来の話がありました。 "batch"と"streaming"のワードの頭文字を組み合わせて,beamと名付けたらしいです。

次に, PCollectionとPTransformの話がありました。

PCollectionは,バッチ処理の場合有限(bounded)状態で,ストリーミング処理の場合は無限(unbounded)状態になります。PCollectionを生成する時の入力ソースによって状態が決まります。一度生成されたオブジェクトは変更ができない(Immutable)そうです。あと,いくつかの特徴があるので確認しておくと良いと思います。

PTransformは,パイプラインのロジックのことで,単一(or 複数)の"PCollection"をインプットとして受け取り,そこから,単一(or 複数)の"PCollection"を新たに生成します。準備したそれぞれのPTransformは,完全に独立した並列処理になります。Pythonは,2系しかまだサポートしていないとのことです。

一通りApache Beamの基本的な機能の説明を行った後,持参したバーコードリーダーで,テストで準備してあったいくつかの商品のバーコードを読み込み,POSデータをApache Beamで処理しDataflowへデータを流す実演を行いました。

セッションの感想

実際の処理の流れを視覚的に確認すると,具体的なイメージが湧きやすく良かったです。データをStreamingして,処理を連続的に行い,最終的に機械学習やデータ解析のデータを動的に構築できるということだと思うのですが,クラウドを使って簡単にそれができる時代になったのだなと実感しました。バーコードリーダーを買って,自分で簡単にPOS解析システムができてしまうので,すごい世の中になったなと思いました。

PyCon APACの開催国となったシンガポールについて

吉田俊輔

PyCon JP 2017 / 2018 座長の吉田です。PyCon APACの開催国となったシンガポールについて紹介します。

Day1のレポートで紹介したPyCon APACツアーが企画されていましたが,私を含め数名はツアーとは別スケジュールで独自に航空チケットや宿泊を手配して行動しました。ここではツアースケジュール外でのアクティビティについて紹介します。

私はPyCon APACツアー参加者と同じ便で,早朝にシンガポールに到着しました。一緒にタクシーでホテルに移動して荷物を置き,その後シンガポール中心部に戻って名物のマーライオンなどを観光しました。そして夕方,現地にいる去年のPyCon JPスタッフや,日本からスポンサー参加したHDE社の方,スピーカーのヨナス氏などと合流し,会食をしました。

参加者の集合写真

参加者の集合写真

ツアー関係者は基本的にタクシーやGrabを使って移動していました。乗り合いをすれば,それが一番楽でかつ割り勘をすれば安くもなります。シンガポール チャンギ空港からPyCon APAC会場の大学までタクシーで40分,30~40シンガポールドル(約2,400~3,200円)程度だったと思います。

私はツアーとは別に宿や飛行機を別に手配したので,単独行動を多くしていました。交通手段としてはタクシーより安く上がるMRT(Mass Rapid Transit,いわゆる鉄道)やバスを使用していました。バスやMRTであれば,シンガポール チャンギ空港からPyCon APAC会場の大学まで(MRTの駅までは遠かったが)3シンガポールドル(約240円)程度で移動可能です。

単独行動で行った場所はいくつかありますが,2ヵ所紹介します。まずはレゴランドLEGOLAND® Malaysia Resortです。といってもレゴランドはシンガポールにはありません。隣国マレーシアのジョホールバルにあります。

マレーシアと言えば,去年開催のPyCon APACはマレーシア開催でした。なぜ去年行かずに今年行ったのか,それはPyCon APAC 2017はマレーシア首都クアラルンプールで開催されましたが,クアラルンプールはジョホールバルから数百キロ離れており,気軽に行く距離ではないのです。しかし,シンガポールはジョホールバルから数十キロ程度の距離であり,⁠国境さえ越えれば)気軽に行くことができます。

行きはシンガポール中心部から出ている国際タクシーを使用し,タクシーに乗ったまま国境を越えるVIPコースを使いました。これは定額で70シンガポールドル (約5,600円) かかり,値段の割にクレジットカードは使えないと言った点はありましたが,乗ったままイミグレーションを受けることができて,トータル1時間半程度でレゴランドまで直行するので,非常に快適でした。帰りは時間があったのでGrabで国境イミグレーションまで移動した後,バスで国境を越える一番安いパターンで移動してみました。国境は数ドルで移動できました。

しかし長時間マレーシア側のイミグレーションに並び,満員のバスに詰め込まれてバス移動し,シンガポール側のイミグレーションに移動し,また満員のバスに詰め込まれ,トータル3時間ほどかかりました。これはほぼ苦行ですね。そのままシンガポール市内でバスを乗り換えて宿泊先まで深夜移動しましたが,治安も良く特に問題ありませんでした。

海外でのバス移動は難しく思うかもしれません。シンガポールでは,プリペイドカードを入手し,下車する停留所をスマートフォンの地図で推測できれば何とかなります。プリペイドカードは,⁠空港など)主要駅でバス/MRT共通の乗車券となるez-linkカードを購入しておきます。停留所については,バス乗車中にアナウンスが無いので,Google Mapで現在地を確認しながらバス停止ボタンをタイミングを見計らって押す必要があり,慣れるまで大変でした。

PyCon APACカンファレンスの翌々日は日本への移動日でしたが,ツアー参加者は普通に昼間移動だったのであまり観光する時間は無かったようです。私は帰りも深夜便で移動するチケットを取ったため,昼間はMRTとバスを使ってスタジアム近くの温泉Yunomori Onsen & Spaに行きました。

シンガポールにはあまり日本スタイルの温泉はありません。ここは日系の会社がやっているようで,日本のスーパー銭湯に非常に近いスタイルで楽しめる場所でした。しかし,温泉と書かれた湯船はラベンダー色で明らかに入浴剤が入っていて,本当に日本基準の「温泉」なのかどうかは判断が付きませんでした。まあシンガポールなので,これもありかなと思って移動疲れを癒やすことができました。

シンガポールは日本から7時間程度で行くことができ,夜行便などを使えばより時間を有効に使用することができます。また,MRTやバスを使えばタクシーよりも安く行動することもできます。シンガポールでカンファレンスが開かれる際は観光なども合わせて楽しんでみてはいかがでしょうか。

海外カンファレンスに参加してみて

(家治亮)

今回のPyCon APACで初の海外カンファレンス参加を果たしました。セッション内容については既に多くの内容が紹介されていますので,このコラムでは個人的な話として,参加のきっかけと今後の課題の二点について紹介します。

参加のきっかけ

もともと今年中に海外カンファレンスへ参加しようという希望がありました。もちろん日本国内でも,東京を筆頭に多くの魅力的なイベントが開催されていますし,そこでも技術的な情報を得るチャンスは十分にあると思います。しかしながら,海外のソフトウェアエンジニアと顔を合わせて交流すること,彼らとの接点を得るチャンスがあることは,私にとって代え難いモチベーションでした。

今年の3月下旬から渡航先を本格的に検討していたところ,同時期にPyCon JP Blogのツアー参加者募集の記事が公開されました。それまでにシンガポールの渡航経験がなかったことに不安があったため,航空券およびホテルの手配をお任せできることは,非常にありがたいものでした。このため,ツアーに申し込んで,このレポートを執筆しているメンバーと一緒にシンガポールへ渡航しました。改めて振り返ってみても,やはりツアー参加で大正解だったと改めて感じます。

今後の課題

今後の課題として,様々な英語のアクセントに慣れることが重要だと感じました。PyCon APAC の参加者だけでなく,シンガポールの方々も,人によってそれぞれ異なった英語のアクセントを持っていました。

もちろん彼らとの英語での意思疎通は可能なのですが,相手の言葉を聞くために集中力を要しました。彼らの言うことをうまく聞き取れないこともしばしば起こり,会話をすることは予想以上の大変さを感じました。しかし,このアクセントの違いは多様性と表裏一体だと私は捉えています。肯定的に受け止めて,今後の自分の糧にしたいと思います。

著者プロフィール

taisa(たいさ)

Cocolive株式会社 CTO。SIerを経てアライドアーキテクツにてWeb広告・SNSマーケティング関連のWebサービス開発を経験し,副部長としてマネージメントしながらテックリードとして複数のWebサービス立ち上げに従事。その他にPyCon関連のコミュニティ活動や「AIPyハンズオン」勉強会の主催を行っている。共著本に『React,Angular,Vue.js,React Nativeを使って学ぶ はじめてのフロントエンド開発』がある。

Twitter:@taisa831
GitHub:@taisa831
Blog:https://github.com/taisa831


家治亮(かじりょう)

ソフトウェアエンジニア。2014年から画像に関する業務に従事。PyCon JP 2015, 2017 スタッフ。

コードアカデミー高等学校メンター。

GitHub:@ryokaji


新井正貴(あらいまさたか)

東京大学文学部卒業,アライドアーキテクツ株式会社にて勤務。2016年4月,株式会社SQUEEZEに入社。コミュニティ活動としてPyCon JP 2015~スタッフ,DjangoCongress JP 2018スタッフ,「Pythonもくもく会」の主催などを行う。趣味はラクロスとPerfume。

Twitter:@massa142
GitHub:@massa142
Blog:http://massa142.github.io/


清田史和(きよたふみかず)

PyCon JP 2012-2016実行員で最近は地元の九州でのPythonの普及活動SnapDishサービス開発を手がけている。

Vuzz Inc.取締役CTO,株式会社ナチュラルコーヒー代表取締役,学校法人北部学園ほくぶ幼稚園 理事長


吉田俊輔(よしだしゅんすけ)

サイバートラスト株式会社勤務,MIRACLE LINUXのサポート業務などを担当。PyCon JP 2014よりスタッフ,PyCon JP 2017/2018 座長。関東近郊のOSSコミュニティに参加。イベント参加/出展や,地方のOSS系イベントに合わせて旅行し温泉地巡りをしている。共著書に『Debug Hacks』(オライリージャパン)がある。


寺田学(てらだまなぶ)

株式会社CMSコミュニケーションズ代表取締役/一般社団法人PyCon JP代表理事。

Pythonの魅力を伝えるべく,初心者向けや機械学習分野のPython講師を精力的に務めている。

Twitter:@terapyon
GitHub:@terapyon
Blog:https://www.cmscom.jp/blog

バックナンバー

「PyCon APAC 2018 in Singapore」参加レポート

コメント

コメントの記入