AWS Glueに異動しました
LinkedInをじっくり見ていた方はすでにお気づきかもしれませんが、今年の4月からAWS Glueに異動しました。引き続きSDE (Software Development Engineer) をやっています。
Amazon EMRにいた頃はApache Hadoopだけに限らずApache Oozie、Apache Flinkなどの面倒を見ていたし、customerからのエスカレーション対応もしてきました。技術領域としては想定していたとおり自分の経験をフルに発揮できるもの (例えばEMRで提供している複数のOSSプロダクトを跨ぐclasspath conflictの解決や、Oozieのflaky job failureの修正: OOZIE-3652) でしたが、あまりにもマッチしすぎていてやや退屈であったこと、あるいはここでは書くことのできないいくつかの理由によりAWS Glueに異動することにしました。幸運にもAmazonではinternal transferは通年で実施されており、しかも入社してから一定の期間は利用できないといった縛りもないので、入社してからわずか半年足らずでAWS GlueのSpark teamに運良く拾ってもらえることになりました (SDEのままなので給料は変わらず。やった!)。ということで、ここ3ヶ月はApache Spark周りのあれやこれやを担当しています。
Sparkと自分の関わりを振り返ってみると、前職前々職では同僚がSparkを触っているところを近くでただ見ていただけでした。そこからようやく自分も触ることになり、そしてScalaに苦しんでいます。なんなんだあの言語は。EMRにいたころもある程度学びがあったのですが、今の部署ではさらに学びが多く、いつも学ばせてもらってばかりです。とはいえ、社内で学ぶ機会が多いので逆に社外の情報収集がおろそかになってくる問題があるし、outputもしていかないといけないと思うところはあります。
ところで、EMRにいたころは同僚と上司はインドにいましたが、Glueでは同僚と上司はアメリカにいます。ここで、インドのチームで働いていたときにはそれほど問題にならなかったタイムゾーンの問題がつきまとってくるのですが、うまい解決策、あるいは妥協案を追求しているところです。自分は早起きではないタイプなので、日本より3.5時間遅いインドとやりとりするのは全く苦にならなかったのですが、アメリカだと話は全く変わりますね・・・
わたくしの今後の活躍にご期待ください。
Bias for Action, Learn and Be Curious.
2021年買ってよかったもの
Apple信者度が増した1年だった。今回は順位付けはしません
ゲーミングマイク
ApacheConで発表をすることになったのでそのために買いました。USB接続なので使いやすいです。
昨年の記事で紹介したこのヘッドホン付属のマイクだとリップノイズが乗ってしまっていたのですが、それもいい感じに解消されました。
AirPods Pro
ノイキャンワイヤレスイヤホンが欲しくて買いました。耳につけると勝手にApple製品とペアリングしてくれるのが最高に便利です。
MacBook Pro (M1)
Docker for Mac以外は何をやらせてもサクサク動くし、ファンの音も全然鳴らないので最高におすすめです。
iPhone 13
前職で貸与されていたiPhoneを3年ほど使っていて使い勝手がよかったので、退職に伴いiPhoneを返却後、私用にiPhone 13を買いました。同時期に購入したPixel 6と比べて小さく発熱も少なく、Apple Watchで認証解除してくれるので便利です。
Apple Watch
私物iPhoneを買って恒久的にiPhoneを使い続けることを決めたので、Fitbit Charge 4から乗り換えました。腕時計はもともと付けてなかったのでやや装着感など不安だったのですが普通になんとかなっています。Suicaで改札にタッチするのめちゃくちゃ便利です。もう離れられない。
NELLマットレス
使っていたマットレスがかなりヘタれてきたので新しく買いました。半年以上使ってますがヘタレがかなり少なくて快適です。ホテル並に快適なので、他人の家に泊まったりすると高確率で腰を痛めます。悲しいね。
ワドルディ
Wishlistからポチってくださったみなさまのおかげで、現在家に30匹近くいます。かわいいですね。今もRTA in Japanを一緒にみています。
等身大ヤドン
めっちゃでかいです。40インチピカチュウや等身大コダックとは比べ物にならないくらい場所を取りますが、かわいいです。
過去の記事振り返り
- 回線は光クロスにアップグレードしました。speedtestの安定感が違います
- ホットクックはあまり使えてません
- 金のカフェラテ廃盤悲しいですね。仕方なくセブンのカフェラテ買ったりカフェに通ったりしています
2021年振り返り
昨年の抱負は以下の通りでした
健康的な生活をして、救急車で運ばれるような事態は可能な限り避けていきたいと思います。搬送先がない状態になるのが心配。
ボルダリングで指を激しく痛める事案はありましたが、それ以外は比較的健康に暮らすことができました。
仕事
転職しましたが相変わらずHadoopのことをやっています。とはいえ、まだTenureが浅いこともあって細かいことは全然書くことができません。来年には色々と話せる気がするのでしばらくお待ち下さい。
語学
HSK4級合格後HSK5級に向けてしばらく勉強していたのですが、COVID-19の蔓延がひどくなり受験会場に行くことすら億劫になったのでモチベが激減してしまい、勉強するのもやめてしまいました。今の実力でもスライドを読んで理解することはほぼできるようになったので、勉強開始当初の目的は達成できたのかなと思います。中国語コスパいいです。おすすめ。一方で、英語の勉強をしないとなぁとは思っています。転職後の環境でかなり英語を使うのですでに実力の向上を感じているのですが、伸び悩みを感じたりまだ上を目指す必要に迫られたら英会話教室に行ったりするのかなぁ、とか思っています。
ボルダリング
ランジ中にホールドに思い切り指をぶつけて整形外科通いになるも、残念ながら完治することはありませんでした。とはいえ日常生活にほぼ影響はないくらいまで良くなったのでボルダリングは再開しています。実力が向上したかというと、怪我のこともあって結構微妙。来年に期待したい
DDR
現職だと音ゲー同好会みたいなやつに入っているので、もうこのアカウントで書いてもいいかな... DDRは昔からやっていて、3年くらい前が全盛期だった気がするのでそこまで戻したいです。今年は灼熱2など解禁作業をいくつか忘れてしまうという凡ミスをしたので、来年は忘れないようにしたいです。
競技プログラミング
ボルダリングとゲーセン通いを優先しており、引退...
来年の抱負
現職でうまくやっていけるように引き続きがんばります
2021年のApache Hadoop振り返り
Calendar for Distributed computing (Apache Spark, Hadoop, Kafka, ...) | Advent Calendar 2021 - Qiita の12月13日の記事です。
昨年の記事
さて、今年もApache Hadoopを振り返ろうと思います。
リリース数の減少
今年もリリースが少ない年でした。本記事を執筆している時点では1月に3.2.2、6月に3.3.1がリリースされただけです。現在3.3.2のrelease voteが行われており、うまく行けば3.3.2がリリースされるような気がします。また、3.2.3についてもrelease branchが切られており、release voteが近いうちに始まると思われます。ところで、2020年には新しいminor versionの3.3.0が登場しましたが、今年は3.4.0のリリースが登場することはありませんでした。Hadoop 3.3.0になりProtocol Buffersのバージョンが上がったのですが、Hive、Tezなどがそれに追従しきれておらず、そのため、本番環境でHadoop 3.3.0もしくは3.3.1を利用しているユーザはほとんどいないのではないかなと思っています。3.4.0をリリースするのはHiveやTezのHadoop 3.3.x対応が終わり、ユーザがHadoop 3.3.xを使い始めるようになってからになりそうです。
Hadoop 3.3.1について詳しく知りたい方はこちらの記事もご確認ください
開発の本拠地は西海岸からアジアに
昨年は中国勢の台頭について触れたのですが、最近になって、さらにインドや中国の開発者のPRを見ることが増えてきたなと思っています。タイムゾーンが近くて個人的には開発がやりやすいのですが、昔は圧倒的だった西海岸の存在感はかなり減ってきたような気がします。西海岸ではもうHadoopそのものの開発に興味がなくなっている(Hadoopをやっていてもお金にならない)という説はありそうですね。実際にどれほど開発者が移り変わっているかを示すために、Hadoopのcommit logから主要なtimezone別のcommit数を抽出してみました。5年前と比較してみると、開発拠点がアジアに移行しているかが非常によくわかるかと思います。
timezone | 2016 | 2021 |
---|---|---|
-0800 | 502 | 21 |
-0700 | 1069 | 77 |
-0500 | 87 | 19 |
+0000 | 127 | 65 |
+0100 | 56 | 106 |
+0200 | 3 | 93 |
+0530 | 347 | 274 |
+0800 | 110 | 228 |
+0900 | 230 | 107 |
また、この5年間で合計のcommit数そのものはずいぶん減ってしまいました。OzoneとSubmarineが分離し、YuniKornも登場しているので開発者が分散してしまった感じがします。
HadoopとLog4J
HadoopではLog4Jを利用しています。Log4J2はLog4Jと設定やAPIの互換性が全くといっていいほどなく、また、HadoopではLog4JのAPIを多用しているため移行できずにいました。そのため、幸いにも CVE-2021-44228 の対象となることはありませんでした。ただし、Hadoopを利用しているユーザの多くは同時にHiveも利用しており、HiveではLog4J2を利用しているため、多くのHadoopクラスタではこの脆弱性への対処が必要となります。HadoopのLog4J2移行については5年以上も前からJIRAが存在していて、いくつかの取り組みが実施されていました。その中で多くのAPIはSLF4Jを利用するように書き換わり、あとはbackendと残存するLog4J APIを置き換えるだけの状態になっているのですが、この事件を踏まえて考えてみると、もしかするとbackendはLog4J2ではなくLogbackを利用する、という選択肢があるのかもしれません。そもそもHadoopはSLF4J APIだけを利用するようにして、Log4J2を使うかLogbackを使うかはユーザに選ばせるのが理想なので、理想をなんとか形にして不要なdependencyが入らないようにしていきたいものです。
インターネット経由で野村證券の単元未満株が売れなくても、電話すれば売れることがある
前職のヤフー株式会社ではるいとうでZホールディングス株を積み立てており、積立期間中は単元未満株の取引はできず単元株に達したらその単位で売れるような状態であった。しかしながら、ヤフーを退職して積立が終わってからも野村證券からインターネット経由では単元未満株を売れない状態になっていた。こういうときどうすればいいかというと、電話をすれば単元未満株でも売れる。
約3年ぶりに転職しました
10年ほど前は、ビッグデータを蓄積し分析するといえばApache Hadoopという状況でした。ところが近年では多種多様なツールが次々に登場し、必ずしもHadoopを利用する時代ではなくなってきています。そんな状況において今一体どれだけの人々がどのようなユースケースでHadoopを活用しているのだろうか? また、Big Techと呼ばれる会社の中ではどのようなことが起こっているのか? その謎を解明するため、私はAmazonの奥地へ向かった。
Day 1 pic.twitter.com/WBVsfFW5Of
— Akira Ajisaka (@ajis_ka) November 8, 2021
... というわけで、アマゾンウェブサービスジャパン合同会社に2021/11/8付で入社しました。"Senior Software Development Engineer - Big Data, AWS EMR" というポジションです。ヤフーではおそらく国内最大規模のHadoopクラスタの面倒を見てきて、非常に得難い体験をさせていただきましたが、今度はまたちょっと立場を変えて、しかしOSSコミュニティでの活動は変わらず続けていくつもりです。Twitterでは「Microsoft AzureやGoogle CloudにはHadoopのコミッタがいるけど、AWSにはいないんだよなー」って何度か愚痴ってたこともあるんですが、結果として自分がやるということになりました。勤務地は東京ですが、同僚や上司はインドにいます。オフィスへの出社は可能ですが、出社しても同僚はいないのでおそらくほぼ自宅で仕事をすると思います。同僚がほぼ全て外国人ということで英語での会話についてはかなり不安があるのですが、自分はこういう環境に自らを放り込まないと何もやらないことがよくわかっているので、あまり深く考えずに進むことにしました。ベルセルクに「お前何十年も修行して達人にでもなるのを待ってから戦場に出るつもりか?気の長げェ話だな」というセリフがあるのですが、そんな気持ちで現場でなんとかしていこうと思います。まぁベルセルク読んでないんですが。
3年と約2ヶ月の期間でしたがヤフーでお世話になった皆様本当にありがとうございました。OSSコミュニティ、Hadoopコミュニティで引き続きよろしくお願いします。
wishlist: https://www.amazon.jp/hz/wishlist/ls/3I4D6B17T7AWI?ref_=wl_share