SlideShare una empresa de Scribd logo
1 de 13
Copyright © 2016 NTT DATA Corporation
2016/2/8
NTTデータ
鯵坂 明
5分で身に付く!
Apache Hadoopの開発
Hadoop Conference Japan 2016
ライトニングトーク
2Copyright © 2016 NTT DATA Corporation
 Hadoopの開発者を増やしたい!
 パッチを書く敷居は思っているほど高くない、と伝えたい
まえがき
3Copyright © 2016 NTT DATA Corporation
 大事なことは、ほぼすべてここに書いてある
 https://wiki.apache.org/hadoop/HowToContribute
 ビルド用環境構築
 パッチの作成方法
 パッチの名付け方
 JIRAの使い方
(最も重要なこと) 公式のWikiを読もう
4Copyright © 2016 NTT DATA Corporation
 Apache Software FoundationのJIRAにユーザ登録する
 https://issues.apache.org/jira
 取り組めそうなIssueを探す
 Label: "newbie" が初心者向け (ただし、そうでないものもある)
 クエリ:
 もしくは、自分でチケットを作成する
ASF JIRAを使う
https://issues.apache.org/jira/issues/?jql=project%20in%20(HADOOP%2C%20H
DFS%2C%20MAPREDUCE%2C%20YARN)%20AND%20status%20%3D%20Open%20AND%20labels
%20%3D%20newbie%20AND%20assignee%20in%20(EMPTY)
5Copyright © 2016 NTT DATA Corporation
チケットを作る
ここを押して
チケットを作成
必要な項目を埋める。
全部埋める必要はない。
Fix Version/sは
埋めてはいけない。
6Copyright © 2016 NTT DATA Corporation
 ソースコードをクローンする
 好きなIDEを使う
 IntelliJ IDEAの場合
- File -> New -> Project from Existing Sources -> hadoop/pom.xmlを指定
- Editor -> Code Style -> Java
– Tab size: 2
– Indent: 2
– Continuation indent: 4 (ルールではないが、既存のコードがほぼ全て4なので合わせる)
– Class count to use import with '*': 999 (importを*でまとめこまない)
– Names count to use static import with '*': 999
 パッチを作成する
 パッチのネーミングは以下を参照
- https://yetus.apache.org/documentation/in-progress/precommit-patchnames/
パッチを書く
$ git clone https://github.com/apache/hadoop.git
$ git diff > HADOOP-XXXX.01.patch
7Copyright © 2016 NTT DATA Corporation
 More -> Attach Files
 Submit Patchを押して"Patch Available"の状態にする
 最新の添付ファイルをもとに、Jenkinsのテストが回る
 長いと数時間かかる
 1日経ってもテストの結果が出ていない場合
- Cancel Patchで"Open"に戻してから再びSubmit Patchで"Patch Available"にする
- ASF Committerは、builds.apache.orgにログインして手動でキックできる
パッチを投稿する
8Copyright © 2016 NTT DATA Corporation
 自分のパッチと関係ないことも多い
 そのときは、"The test failure (is/seems/looks) unrelated to
the patch." 的なことを言おう
Jenkinsに怒られる
Unit testを書け!
テストがこけてるぞ!
ASFのライセンス
ヘッダを付け
忘れてるぞ!
9Copyright © 2016 NTT DATA Corporation
 レビューコメントに対応する
 腕の見せ所ですね
 コメントの意味がわからないときは、素直に聞き直そう
 コメントが付かないときは?
 レビューしてもらいたい人にPingを飛ばす
 Bug fixの場合、その原因となる修正をコミットした人
 そうでない場合は、修正するコードを前にいじった人
 Pingの飛ばし方
 [~<committer id>], would you please review my patch?
 コミッタ一覧: https://hadoop.apache.org/who.html
レビューしてもらう
"[~名前" と入力すると
サジェストされる
10Copyright © 2016 NTT DATA Corporation
 コミッタから+1がついたらOK
 Hudsonから謎のコメントが付いているが、特に気にしなくてよい
 正しくコミットされた証拠
パッチがコミットされる
11Copyright © 2016 NTT DATA Corporation
 秘蔵のパッチ、抱えこんでいませんか?
 メインストリームからの乖離
- 何か起こっても、コミュニティから面倒を見てもらえない
- コンフリクトだらけになる
 パッチ自体の品質
- 場当たり的な解になっているかも
- コミュニティでレビューを受けたほうが良い
 ぜひ、コミュニティに飛び込んできてください
 困ったことがあれば、気軽にご連絡ください
 Mail: aajisaka@apache.org
 Twitter: @ajis_ka
最後に
12Copyright © 2016 NTT DATA Corporation
 Sparkコミュニティに飛び込もう!
 http://www.slideshare.net/hadoopxnttdata/apache-spark-
commnity-nttdata-sarutak
 初めてのHadoopパッチ投稿
 http://www.slideshare.net/hadoopconf/how-to-contribute-to-
hadoop
参考資料
Copyright © 2011 NTT DATA Corporation
Copyright © 2016 NTT DATA Corporation

Más contenido relacionado

Destacado

Hadoop Conference Japan 2013 Winter オープニングスライド
Hadoop Conference Japan 2013 Winter オープニングスライドHadoop Conference Japan 2013 Winter オープニングスライド
Hadoop Conference Japan 2013 Winter オープニングスライド
hamaken
 
Linkedin Ntt Update 08.01.12
Linkedin Ntt Update 08.01.12Linkedin Ntt Update 08.01.12
Linkedin Ntt Update 08.01.12
fuf1020
 

Destacado (19)

Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
 
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
 
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
 
いろいろなストリーム処理プロダクトをベンチマークしてみた #hcj2016
いろいろなストリーム処理プロダクトをベンチマークしてみた #hcj2016いろいろなストリーム処理プロダクトをベンチマークしてみた #hcj2016
いろいろなストリーム処理プロダクトをベンチマークしてみた #hcj2016
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
 
Application of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructureApplication of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructure
 
PostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もうPostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もう
 
Hadoop Conference Japan 2013 Winter オープニングスライド
Hadoop Conference Japan 2013 Winter オープニングスライドHadoop Conference Japan 2013 Winter オープニングスライド
Hadoop Conference Japan 2013 Winter オープニングスライド
 
Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)
 
MapReduce入門
MapReduce入門MapReduce入門
MapReduce入門
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 
ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
 
20170303 java9 hadoop
20170303 java9 hadoop20170303 java9 hadoop
20170303 java9 hadoop
 
Application of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jpApplication of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jp
 
Linkedin Ntt Update 08.01.12
Linkedin Ntt Update 08.01.12Linkedin Ntt Update 08.01.12
Linkedin Ntt Update 08.01.12
 
PuppetConf2015参加レポート (第1回 Puppetユーザ会 発表資料)
PuppetConf2015参加レポート (第1回 Puppetユーザ会 発表資料)PuppetConf2015参加レポート (第1回 Puppetユーザ会 発表資料)
PuppetConf2015参加レポート (第1回 Puppetユーザ会 発表資料)
 
Hadoopを40分で理解する #cwt2013
Hadoopを40分で理解する #cwt2013Hadoopを40分で理解する #cwt2013
Hadoopを40分で理解する #cwt2013
 
第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案
第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案
第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案
 

Más de NTT DATA OSS Professional Services

Más de NTT DATA OSS Professional Services (13)

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
Hadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返りHadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返り
 
HDFS Router-based federation
HDFS Router-based federationHDFS Router-based federation
HDFS Router-based federation
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
Distributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystemDistributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystem
 
Structured Streaming - The Internal -
Structured Streaming - The Internal -Structured Streaming - The Internal -
Structured Streaming - The Internal -
 
Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?
 
Apache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development statusApache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development status
 
HDFS basics from API perspective
HDFS basics from API perspectiveHDFS basics from API perspective
HDFS basics from API perspective
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
 

Último

Último (11)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

5分で身に付く! Apache Hadoop開発 (Hadoop / Spark Conference Japan 2016 ライトニングトーク発表資料)

  • 1. Copyright © 2016 NTT DATA Corporation 2016/2/8 NTTデータ 鯵坂 明 5分で身に付く! Apache Hadoopの開発 Hadoop Conference Japan 2016 ライトニングトーク
  • 2. 2Copyright © 2016 NTT DATA Corporation  Hadoopの開発者を増やしたい!  パッチを書く敷居は思っているほど高くない、と伝えたい まえがき
  • 3. 3Copyright © 2016 NTT DATA Corporation  大事なことは、ほぼすべてここに書いてある  https://wiki.apache.org/hadoop/HowToContribute  ビルド用環境構築  パッチの作成方法  パッチの名付け方  JIRAの使い方 (最も重要なこと) 公式のWikiを読もう
  • 4. 4Copyright © 2016 NTT DATA Corporation  Apache Software FoundationのJIRAにユーザ登録する  https://issues.apache.org/jira  取り組めそうなIssueを探す  Label: "newbie" が初心者向け (ただし、そうでないものもある)  クエリ:  もしくは、自分でチケットを作成する ASF JIRAを使う https://issues.apache.org/jira/issues/?jql=project%20in%20(HADOOP%2C%20H DFS%2C%20MAPREDUCE%2C%20YARN)%20AND%20status%20%3D%20Open%20AND%20labels %20%3D%20newbie%20AND%20assignee%20in%20(EMPTY)
  • 5. 5Copyright © 2016 NTT DATA Corporation チケットを作る ここを押して チケットを作成 必要な項目を埋める。 全部埋める必要はない。 Fix Version/sは 埋めてはいけない。
  • 6. 6Copyright © 2016 NTT DATA Corporation  ソースコードをクローンする  好きなIDEを使う  IntelliJ IDEAの場合 - File -> New -> Project from Existing Sources -> hadoop/pom.xmlを指定 - Editor -> Code Style -> Java – Tab size: 2 – Indent: 2 – Continuation indent: 4 (ルールではないが、既存のコードがほぼ全て4なので合わせる) – Class count to use import with '*': 999 (importを*でまとめこまない) – Names count to use static import with '*': 999  パッチを作成する  パッチのネーミングは以下を参照 - https://yetus.apache.org/documentation/in-progress/precommit-patchnames/ パッチを書く $ git clone https://github.com/apache/hadoop.git $ git diff > HADOOP-XXXX.01.patch
  • 7. 7Copyright © 2016 NTT DATA Corporation  More -> Attach Files  Submit Patchを押して"Patch Available"の状態にする  最新の添付ファイルをもとに、Jenkinsのテストが回る  長いと数時間かかる  1日経ってもテストの結果が出ていない場合 - Cancel Patchで"Open"に戻してから再びSubmit Patchで"Patch Available"にする - ASF Committerは、builds.apache.orgにログインして手動でキックできる パッチを投稿する
  • 8. 8Copyright © 2016 NTT DATA Corporation  自分のパッチと関係ないことも多い  そのときは、"The test failure (is/seems/looks) unrelated to the patch." 的なことを言おう Jenkinsに怒られる Unit testを書け! テストがこけてるぞ! ASFのライセンス ヘッダを付け 忘れてるぞ!
  • 9. 9Copyright © 2016 NTT DATA Corporation  レビューコメントに対応する  腕の見せ所ですね  コメントの意味がわからないときは、素直に聞き直そう  コメントが付かないときは?  レビューしてもらいたい人にPingを飛ばす  Bug fixの場合、その原因となる修正をコミットした人  そうでない場合は、修正するコードを前にいじった人  Pingの飛ばし方  [~<committer id>], would you please review my patch?  コミッタ一覧: https://hadoop.apache.org/who.html レビューしてもらう "[~名前" と入力すると サジェストされる
  • 10. 10Copyright © 2016 NTT DATA Corporation  コミッタから+1がついたらOK  Hudsonから謎のコメントが付いているが、特に気にしなくてよい  正しくコミットされた証拠 パッチがコミットされる
  • 11. 11Copyright © 2016 NTT DATA Corporation  秘蔵のパッチ、抱えこんでいませんか?  メインストリームからの乖離 - 何か起こっても、コミュニティから面倒を見てもらえない - コンフリクトだらけになる  パッチ自体の品質 - 場当たり的な解になっているかも - コミュニティでレビューを受けたほうが良い  ぜひ、コミュニティに飛び込んできてください  困ったことがあれば、気軽にご連絡ください  Mail: aajisaka@apache.org  Twitter: @ajis_ka 最後に
  • 12. 12Copyright © 2016 NTT DATA Corporation  Sparkコミュニティに飛び込もう!  http://www.slideshare.net/hadoopxnttdata/apache-spark- commnity-nttdata-sarutak  初めてのHadoopパッチ投稿  http://www.slideshare.net/hadoopconf/how-to-contribute-to- hadoop 参考資料
  • 13. Copyright © 2011 NTT DATA Corporation Copyright © 2016 NTT DATA Corporation