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

More Related Content

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

スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話Keigo Suda
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについてMasahito Zembutsu
 
Rancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組みRancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組みMichitaka Terada
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニアYu Yamada
 
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗くSpring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗くapkiban
 
さくらのIoT Platformを使ってみよう ~OSC大阪編~
さくらのIoT Platformを使ってみよう ~OSC大阪編~さくらのIoT Platformを使ってみよう ~OSC大阪編~
さくらのIoT Platformを使ってみよう ~OSC大阪編~法林浩之
 
小規模チームで Type script と向き合う話
小規模チームで Type script と向き合う話小規模チームで Type script と向き合う話
小規模チームで Type script と向き合う話Tatsuya Yamamoto
 
Gitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイGitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイiwata jaws-ug
 
会津IT秋フォーラム2012での講演資料
会津IT秋フォーラム2012での講演資料会津IT秋フォーラム2012での講演資料
会津IT秋フォーラム2012での講演資料Shigeru Kobayashi
 
The Things Networkの概要と国内ユースケース
The Things Networkの概要と国内ユースケースThe Things Networkの概要と国内ユースケース
The Things Networkの概要と国内ユースケースCRI Japan, Inc.
 
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)NTT DATA Technology & Innovation
 
[OSC2018広島]自分にできる貢献のしかたを見つけよう(OSC2018広島Ver)
[OSC2018広島]自分にできる貢献のしかたを見つけよう(OSC2018広島Ver)[OSC2018広島]自分にできる貢献のしかたを見つけよう(OSC2018広島Ver)
[OSC2018広島]自分にできる貢献のしかたを見つけよう(OSC2018広島Ver)Hiroyuki Ishikawa
 
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...Insight Technology, Inc.
 
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみようさくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみよう法林浩之
 
CO2センサー×SORACOMサービスの活用事例
CO2センサー×SORACOMサービスの活用事例CO2センサー×SORACOMサービスの活用事例
CO2センサー×SORACOMサービスの活用事例佳孝 中田
 
フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う
フィジカルコンピューティング入門  USB-MIDIベースのPepper-Monakaを使うフィジカルコンピューティング入門  USB-MIDIベースのPepper-Monakaを使う
フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使うYoshitaka Kuwata
 
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713Takehiro Kudou
 
Quick Overview of Upcoming Spark 3.0 + α
Quick Overview of Upcoming Spark 3.0 + αQuick Overview of Upcoming Spark 3.0 + α
Quick Overview of Upcoming Spark 3.0 + αTakeshi Yamamuro
 

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

スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
Rancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組みRancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組み
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア
 
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗くSpring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
 
さくらのIoT Platformを使ってみよう ~OSC大阪編~
さくらのIoT Platformを使ってみよう ~OSC大阪編~さくらのIoT Platformを使ってみよう ~OSC大阪編~
さくらのIoT Platformを使ってみよう ~OSC大阪編~
 
小規模チームで Type script と向き合う話
小規模チームで Type script と向き合う話小規模チームで Type script と向き合う話
小規模チームで Type script と向き合う話
 
Gitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイGitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイ
 
会津IT秋フォーラム2012での講演資料
会津IT秋フォーラム2012での講演資料会津IT秋フォーラム2012での講演資料
会津IT秋フォーラム2012での講演資料
 
The Things Networkの概要と国内ユースケース
The Things Networkの概要と国内ユースケースThe Things Networkの概要と国内ユースケース
The Things Networkの概要と国内ユースケース
 
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
 
[OSC2018広島]自分にできる貢献のしかたを見つけよう(OSC2018広島Ver)
[OSC2018広島]自分にできる貢献のしかたを見つけよう(OSC2018広島Ver)[OSC2018広島]自分にできる貢献のしかたを見つけよう(OSC2018広島Ver)
[OSC2018広島]自分にできる貢献のしかたを見つけよう(OSC2018広島Ver)
 
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
 
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみようさくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
 
CO2センサー×SORACOMサービスの活用事例
CO2センサー×SORACOMサービスの活用事例CO2センサー×SORACOMサービスの活用事例
CO2センサー×SORACOMサービスの活用事例
 
フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う
フィジカルコンピューティング入門  USB-MIDIベースのPepper-Monakaを使うフィジカルコンピューティング入門  USB-MIDIベースのPepper-Monakaを使う
フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う
 
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
Quick Overview of Upcoming Spark 3.0 + α
Quick Overview of Upcoming Spark 3.0 + αQuick Overview of Upcoming Spark 3.0 + α
Quick Overview of Upcoming Spark 3.0 + α
 

More from NTT DATA Technology & Innovation

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)NTT DATA Technology & Innovation
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方NTT DATA Technology & Innovation
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...NTT DATA Technology & Innovation
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)NTT DATA Technology & Innovation
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)NTT DATA Technology & Innovation
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...NTT DATA Technology & Innovation
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)NTT DATA Technology & Innovation
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...NTT DATA Technology & Innovation
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)NTT DATA Technology & Innovation
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

More from NTT DATA Technology & Innovation (20)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 

Recently uploaded

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Recently uploaded (8)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

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

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