Successfully reported this slideshow.
Your SlideShare is downloading. ×

レベル1エンジニア、最強コミッタに憧れコミュニティ活動を始める ~Apache Spark: 初めてのパッチ編~(Open Source Conference 2022 Online/Osaka 発表資料)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 34 Ad

レベル1エンジニア、最強コミッタに憧れコミュニティ活動を始める ~Apache Spark: 初めてのパッチ編~(Open Source Conference 2022 Online/Osaka 発表資料)

レベル1エンジニア、最強コミッタに憧れコミュニティ活動を始める
~Apache Spark: 初めてのパッチ編~
(Open Source Conference 2022 Online/Osaka 発表資料)

2022年1月29日

NTTデータ
技術開発本部 先進コンピューティング技術センタ
阿久津 勇斗

レベル1エンジニア、最強コミッタに憧れコミュニティ活動を始める
~Apache Spark: 初めてのパッチ編~
(Open Source Conference 2022 Online/Osaka 発表資料)

2022年1月29日

NTTデータ
技術開発本部 先進コンピューティング技術センタ
阿久津 勇斗

Advertisement
Advertisement

More Related Content

More from NTT DATA Technology & Innovation (20)

Recently uploaded (20)

Advertisement

レベル1エンジニア、最強コミッタに憧れコミュニティ活動を始める ~Apache Spark: 初めてのパッチ編~(Open Source Conference 2022 Online/Osaka 発表資料)

  1. 1. © 2022 NTT DATA Corporation レベル1エンジニア、最強コミッタに憧れコミュニティ活動を始める ~Apache Spark: 初めてのパッチ編~ 2022年1月29日 株式会社NTTデータ 技術開発本部 阿久津 勇斗
  2. 2. © 2022 NTT DATA Corporation 自己紹介 2
  3. 3. © 2022 NTT DATA Corporation 3 自己紹介 名前:阿久津 勇斗 所属:先進コンピューティング技術センタ 技術テーマ:並列分散処理技術 趣味:旅行、料理、ラーメン屋巡り 好きなもの:ラーメン、お酒
  4. 4. © 2022 NTT DATA Corporation 4 自己紹介 7月末からSpark Contributorとして活動  これまで10つのパッチがマージされた
  5. 5. © 2022 NTT DATA Corporation 5 自己紹介 7月末からSpark Contributorとして活動  これまで10つのパッチがマージされた 今回はこのパッチに ついて話します
  6. 6. © 2022 NTT DATA Corporation 今回のテーマ
  7. 7. © 2022 NTT DATA Corporation 7 今回のテーマ  Apache Sparkについて  Sparkって?  NTTデータの取り組み  今回採り上げるパッチに関する機能に ついて  コミュニティ活動  動機  実際の流れ  まとめ 並列分散処理システムについて知識のなかった私が初めてのコミュニティ活動でパッチ投稿し、 パッチがマージされるまでの話です
  8. 8. © 2022 NTT DATA Corporation Apache Sparkについて
  9. 9. © 2022 NTT DATA Corporation 9 Apache Sparkについて Sparkって?  オープンソースである並列分散処理ミドルウェア  ビッグデータを複数台で構成されるクラスタを用いて現実的な時間 で処理できる  Hadoop(YARN)やKubernetesの上で動かせる 大量のデータセットを (数100GBs, TBs, PBs...)
  10. 10. © 2022 NTT DATA Corporation 10 Apache Sparkについて Sparkって?  オープンソースである並列分散処理ミドルウェア  ビッグデータを複数台で構成されるクラスタを用いて現実的な時間 で処理できる  Hadoop(YARN)やKubernetesの上で動かせる 大量のデータセットを (数100GBs, TBs, PBs...) 複数台のサーバで構成された クラスタを用いて
  11. 11. © 2022 NTT DATA Corporation 11 Apache Sparkについて Sparkって?  オープンソースである並列分散処理ミドルウェア  ビッグデータを複数台で構成されるクラスタを用いて現実的な時間 で処理できる  Hadoop(YARN)やKubernetesの上で動かせる 大量のデータセットを (数100GBs, TBs, PBs...) 複数台のサーバで構成された クラスタを用いて 現実的な時間で処理する (数十分, 数時間のオーダー)
  12. 12. © 2022 NTT DATA Corporation 12 Apache Sparkについて NTTデータの取り組み  これまでに培ってきたHadoopおよびSparkに関する ノウハウをもとに、コンサルティングから構築・サポート サービスの提供まで幅広く対応している  Apache Spark PMC Memberが在籍  https://www.nttdata.com/jp/ja/news /information/2021/083000/  https://group.ntt/jp/topics/2021/08/ 30/apachespark.html
  13. 13. © 2022 NTT DATA Corporation 13 Apache Sparkについて 今回採り上げるパッチに関する機能について  Sparkは起動の際、分散処理という性質上Sparkアプリケーションを動かすクラスタ管理 システムをマスターURLとして指定する必要がある  Hadoopであれば -master YARN  Kubernetesであれば -master k8s://HOST:PORT  今回はこのオプションに一部記載漏れがあったので、その修正を提案した
  14. 14. © 2022 NTT DATA Corporation コミュニティ活動
  15. 15. © 2022 NTT DATA Corporation 15 しかし・・・ コミュニティ活動 動機  Hadoopクラスタ構築等の経験を通し、 並列分散システム自体への興味が 深まっていった  GitやJiraを利用したOSSのコミュニティ に興味があった  様々なOSSコミッタがいる部署に配属 された  英語力がそれなりにあるので有効活用 したかった 事前知識  GitHubは小規模チーム開発に利用 していた程度  Jiraは少し使ったことがあるくらい  Scala未経験(Javaはある)  Sparkって…?
  16. 16. © 2022 NTT DATA Corporation 16 コミュニティ活動 ~初めてのパッチ作成からマージまで~ パッチネタ  Sparkアプリケーション起動に関してのドキュメント内のMaster 一覧にlocal-cluster modeというオプションが載ってない・・・  修正しよう
  17. 17. © 2022 NTT DATA Corporation 17 コミュニティ活動 ~初めてのパッチ作成からマージまで~ Gitでブランチを切って対象のマークダウンファイルを修正  パッと見大丈夫そう どうやらドキュメントの修正でもプルリクエストを投げる前にビルドして確認が必要らし い・・・  ビルドした結果問題なさそう
  18. 18. © 2022 NTT DATA Corporation 18 コミュニティ活動 ~初めてのパッチ作成からマージまで~ JIRAに投稿してみよう  Apache Sparkコミュニティでは、通常まずJIRAで Issueを投稿し、その後GitHubで修正の プルリクエスト(PR)を投げるというプロセスを踏む  タイポの修正等マイナーな変更であれば、 JIRAを使わず直接PRを投げることもある  今回のような小規模な変更ではJIRAへの投稿と PRはセットで行われるが、大規模な機能追加等 であれば、まずJIRAでIssueを投稿し、 議論を交わした後で名乗りを上げた担当者 (Issue投稿者とは限らない)が修正を行う
  19. 19. © 2022 NTT DATA Corporation 19 コミュニティ活動 ~初めてのパッチ作成からマージまで~ 実際に投稿しようとしたら・・・  黎明期にIssue投稿(2012/10/27)され似たような議論が交わされていたことを発見  修正すると書いてあるものの実際には行われておらず・・・  どうせならこのIssueに紐づけてパッチを投稿してみよう
  20. 20. © 2022 NTT DATA Corporation 20 コミュニティ活動 ~初めてのパッチ作成からマージまで~ 修正し確認も行った変更を自身のGitHubリポジトリにプッシュし、プルリクエストを投げる  GitHubで確認すると、自動的にフォーク元の 本体にプルリクエストを投げる案内が出ている  Sparkプロジェクト独自のテンプレートに 記入し、プルリクエストを投げる
  21. 21. © 2022 NTT DATA Corporation 21 コミュニティ活動 ~初めてのパッチ作成からマージまで~ コミッタの反応待ち  手付かずのIssueを解決したのでマージされるだろう!  しかし・・・
  22. 22. © 2022 NTT DATA Corporation 22 コミュニティ活動 ~初めてのパッチ作成からマージまで~ コミッタの反応待ち  手付かずのIssueを解決したのでマージされるだろう!  しかし・・・ コミッタA: このモードは開発者専用だしユーザ向けのドキュメントには載せないでおこう 私: 😭
  23. 23. © 2022 NTT DATA Corporation 23 コミュニティ活動 ~初めてのパッチ作成からマージまで~ 新規Issueおよび別パッチの投稿  local-clusterモード自体はどこかに載せたほうがいいと返信
  24. 24. © 2022 NTT DATA Corporation 24 コミュニティ活動 ~初めてのパッチ作成からマージまで~ 新規Issueおよび別パッチの投稿  local-clusterモード自体はどこかに載せたほうがいいと返信  開発者向けページがあるのでそこに載せるのはどうかと提案し、新規Issueおよび別パッチ を投稿する  ちなみに開発者向けドキュメントはspark-websiteというリポジトリで管理される  これで解決かと思いきや・・・
  25. 25. © 2022 NTT DATA Corporation 25 コミュニティ活動 ~初めてのパッチ作成からマージまで~ 別コミッタ(複数)の登場  新たに2人のコミッタが参加する
  26. 26. © 2022 NTT DATA Corporation 26 コミュニティ活動 ~初めてのパッチ作成からマージまで~ 別コミッタ(複数)の登場  新たに2人のコミッタが参加する  議論発生 コミッタB: ドキュメントの追加はここじゃなく メイン(ユーザ向け)のほうがいいんじゃない かな? コミッタA: 実は僕が向こうに載せるのは 避けたほうがいいって言ったんだ コミッタC: どうせユーザは見つけるし既存の ユーザ向けドキュメントに追加したほうが いいんじゃない?
  27. 27. © 2022 NTT DATA Corporation 27 コミュニティ活動 ~初めてのパッチ作成からマージまで~ 結局・・・  最初に投稿したパッチの方向性で進めることに  コミッタCさんの後押し コミッタC: 反対意見があればこっち(開発者向け ページ)に残すのでも全然いいけど、どうせなら ユーザに隠すより他のオプションと一緒に記載した ほうがいいと思う コミッタA: ちょっと心配もあるけどコミッタB,Cに 従うよ
  28. 28. © 2022 NTT DATA Corporation 28 コミュニティ活動 ~初めてのパッチ作成からマージまで~ パッチの修正、再投稿  最初のパッチの指摘された部分を編集し、再投稿  反応を待っていると・・・
  29. 29. © 2022 NTT DATA Corporation 29 コミュニティ活動 ~初めてのパッチ作成からマージまで~ パッチがマージされる  最初の投稿から10日後、ついにマージ!!!
  30. 30. © 2022 NTT DATA Corporation まとめ
  31. 31. © 2022 NTT DATA Corporation 31 まとめ 大変だったこと  コミッタ同士の議論  一概にコミッタといっても各々意見があり、議論が始まったときは少し圧倒された  ドキュメントのビルド方法がよくわからなかった  SparkはドキュメントのビルドにJekyllという静的サイトジェネレータを利用している  知識不足によりドキュメントの追加に苦戦  最初はlocal-clusterモードと他のオプションの内部的な違いをよく理解していなかった  時差  米国在住の方も多く、時差のせいで中々話を進められなかった  開発環境の問題  Windows環境での開発でWSLとIntelliJの相性があまりよくなかった  社用特有のプロキシ的な問題(あるある?)によってGit周りで苦戦した
  32. 32. © 2022 NTT DATA Corporation 32 まとめ 得たこと  初めてのパッチ投稿を通しコミュニティ活動のプロセスの理解  コミュニティ特有のJIRAやGitHubの利用方法について知ることができた  投稿からマージまで毎回スムーズにいくわけではない  最初の投稿で身をもって経験することができた  修正中に偶然パッチネタを発見 現況、今後の目標  現在はSpark SQL、Delta Lakeについて学習・調査をしている  クエリエンジン回りを絶賛勉強中  今後は月4パッチを目標にコミュニティ活動に励んでいきたい  中々いいネタが見つからない…(でもタイポの達人にはなりたくないので頑張る )
  33. 33. © 2022 NTT DATA Corporation Thank you!
  34. 34. © 2022 NTT DATA Corporation 本資料に記載されている会社名、商品名、又はサービス名は、各社の登録商標又は商標です。

×