Suche senden
Hochladen
Rakuten tech conf
•
1 gefällt mir
•
1,065 views
Koichi Fujikawa
Folgen
Rakuten Technology Conference 2010
Weniger lesen
Mehr lesen
Technologie
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 15
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
20071030
20071030
小野 修司
SQLチューニング入門 入門編
SQLチューニング入門 入門編
Miki Shimogai
20090107 Postgre Sqlチューニング(Sql編)
20090107 Postgre Sqlチューニング(Sql編)
Hiromu Shioya
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
de:code 2017
問合せ最適化インサイド
問合せ最適化インサイド
Takahiro Itagaki
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
はじめてのCouch db
はじめてのCouch db
Eiji Kuroda
Sqoopコネクタを書いてみた (Hadoopソースコードリーディング第12回 発表資料)
Sqoopコネクタを書いてみた (Hadoopソースコードリーディング第12回 発表資料)
NTT DATA OSS Professional Services
Empfohlen
20071030
20071030
小野 修司
SQLチューニング入門 入門編
SQLチューニング入門 入門編
Miki Shimogai
20090107 Postgre Sqlチューニング(Sql編)
20090107 Postgre Sqlチューニング(Sql編)
Hiromu Shioya
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
de:code 2017
問合せ最適化インサイド
問合せ最適化インサイド
Takahiro Itagaki
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
はじめてのCouch db
はじめてのCouch db
Eiji Kuroda
Sqoopコネクタを書いてみた (Hadoopソースコードリーディング第12回 発表資料)
Sqoopコネクタを書いてみた (Hadoopソースコードリーディング第12回 発表資料)
NTT DATA OSS Professional Services
PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017
Shigeru Hanada
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
Tsuyoshi Yamamoto
クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
Koichi Fujikawa
Pg14_sql_standard_function_body
Pg14_sql_standard_function_body
kasaharatt
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
Satoshi Yamada
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
kasaharatt
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207
Jun Ohtani
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
kasaharatt
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
uedayou
PostgreSQLとPythonとSQL
PostgreSQLとPythonとSQL
Satoshi Yamada
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
YujiSoftware
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
Satoshi Yamada
Introduction Xtend
Introduction Xtend
Hideki Kishida
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解く
Hiroya Kabata
Pgunconf 20121212-postgeres fdw
Pgunconf 20121212-postgeres fdw
Toshi Harada
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
Nagi Teramo
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
Satoshi Yamada
RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会
Nao Minami
Boostライブラリ一周の旅
Boostライブラリ一周の旅
Akira Takahashi
R -> Python
R -> Python
Kazufumi Ohkawa
Technology Plan For Stevenson Ms Table
Technology Plan For Stevenson Ms Table
Dana Luterman
Trends WCM 2010
Trends WCM 2010
Martijn Hoeijmans
Weitere ähnliche Inhalte
Was ist angesagt?
PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017
Shigeru Hanada
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
Tsuyoshi Yamamoto
クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
Koichi Fujikawa
Pg14_sql_standard_function_body
Pg14_sql_standard_function_body
kasaharatt
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
Satoshi Yamada
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
kasaharatt
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207
Jun Ohtani
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
kasaharatt
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
uedayou
PostgreSQLとPythonとSQL
PostgreSQLとPythonとSQL
Satoshi Yamada
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
YujiSoftware
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
Satoshi Yamada
Introduction Xtend
Introduction Xtend
Hideki Kishida
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解く
Hiroya Kabata
Pgunconf 20121212-postgeres fdw
Pgunconf 20121212-postgeres fdw
Toshi Harada
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
Nagi Teramo
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
Satoshi Yamada
RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会
Nao Minami
Boostライブラリ一周の旅
Boostライブラリ一周の旅
Akira Takahashi
R -> Python
R -> Python
Kazufumi Ohkawa
Was ist angesagt?
(20)
PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
Pg14_sql_standard_function_body
Pg14_sql_standard_function_body
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
PostgreSQLとPythonとSQL
PostgreSQLとPythonとSQL
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
Introduction Xtend
Introduction Xtend
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解く
Pgunconf 20121212-postgeres fdw
Pgunconf 20121212-postgeres fdw
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会
Boostライブラリ一周の旅
Boostライブラリ一周の旅
R -> Python
R -> Python
Andere mochten auch
Technology Plan For Stevenson Ms Table
Technology Plan For Stevenson Ms Table
Dana Luterman
Trends WCM 2010
Trends WCM 2010
Martijn Hoeijmans
GUIAS DE NADAL
GUIAS DE NADAL
boello
Cloud computing competition by Hapyrus
Cloud computing competition by Hapyrus
Koichi Fujikawa
Hadoop Conf Japan 2009 After Party LT - Hadoop Ruby DSL
Hadoop Conf Japan 2009 After Party LT - Hadoop Ruby DSL
Koichi Fujikawa
Design of a_dsl_by_ruby_for_heavy_computations
Design of a_dsl_by_ruby_for_heavy_computations
Koichi Fujikawa
Andere mochten auch
(6)
Technology Plan For Stevenson Ms Table
Technology Plan For Stevenson Ms Table
Trends WCM 2010
Trends WCM 2010
GUIAS DE NADAL
GUIAS DE NADAL
Cloud computing competition by Hapyrus
Cloud computing competition by Hapyrus
Hadoop Conf Japan 2009 After Party LT - Hadoop Ruby DSL
Hadoop Conf Japan 2009 After Party LT - Hadoop Ruby DSL
Design of a_dsl_by_ruby_for_heavy_computations
Design of a_dsl_by_ruby_for_heavy_computations
Ähnlich wie Rakuten tech conf
Scala on Hadoop
Scala on Hadoop
Shinji Tanaka
MapReduce入門
MapReduce入門
Satoshi Noto
ただいまHadoop勉強中
ただいまHadoop勉強中
Satoshi Noto
Project lambda
Project lambda
Appresso Engineering Team
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
YoheiOkuyama
Hadoop jobbuilder
Hadoop jobbuilder
Taku Miyakawa
Oedo Ruby Conference 04: Ruby会議でSQLの話をするのは間違っているだろうか
Oedo Ruby Conference 04: Ruby会議でSQLの話をするのは間違っているだろうか
Minero Aoki
Javaセキュアコーディングセミナー東京第3回講義
Javaセキュアコーディングセミナー東京第3回講義
JPCERT Coordination Center
Java x Groovy: improve your java development life
Java x Groovy: improve your java development life
Uehara Junji
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
yoshiaki iwanaga
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
Yohei Sasaki
Xtend - Javaの未来を今すぐ使う
Xtend - Javaの未来を今すぐ使う
Tatsumi Naganuma
実動するIot&hadoopから学ぶ会_資料
実動するIot&hadoopから学ぶ会_資料
FwardNetwork
PostgreSQL - C言語によるユーザ定義関数の作り方
PostgreSQL - C言語によるユーザ定義関数の作り方
Satoshi Nagayasu
第2回デザインパターン資料
第2回デザインパターン資料
gaaupp
WDD2012_SC-004
WDD2012_SC-004
Kuninobu SaSaki
Node-v0.12の新機能について
Node-v0.12の新機能について
shigeki_ohtsu
明日から使える Java SE 7
明日から使える Java SE 7
Yuichi Sakuraba
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
Atsuo Yamasaki
from old Java to modern Java
from old Java to modern Java
心 谷本
Ähnlich wie Rakuten tech conf
(20)
Scala on Hadoop
Scala on Hadoop
MapReduce入門
MapReduce入門
ただいまHadoop勉強中
ただいまHadoop勉強中
Project lambda
Project lambda
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
Hadoop jobbuilder
Hadoop jobbuilder
Oedo Ruby Conference 04: Ruby会議でSQLの話をするのは間違っているだろうか
Oedo Ruby Conference 04: Ruby会議でSQLの話をするのは間違っているだろうか
Javaセキュアコーディングセミナー東京第3回講義
Javaセキュアコーディングセミナー東京第3回講義
Java x Groovy: improve your java development life
Java x Groovy: improve your java development life
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
Xtend - Javaの未来を今すぐ使う
Xtend - Javaの未来を今すぐ使う
実動するIot&hadoopから学ぶ会_資料
実動するIot&hadoopから学ぶ会_資料
PostgreSQL - C言語によるユーザ定義関数の作り方
PostgreSQL - C言語によるユーザ定義関数の作り方
第2回デザインパターン資料
第2回デザインパターン資料
WDD2012_SC-004
WDD2012_SC-004
Node-v0.12の新機能について
Node-v0.12の新機能について
明日から使える Java SE 7
明日から使える Java SE 7
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
from old Java to modern Java
from old Java to modern Java
Rakuten tech conf
1.
Jrubyで実現する 分散並列処理フレームワーク
Hadoop Papyrus and more... 2010/10/16 楽天テクノロジーカンファレンス2010 日本JRubyユーザ会/ハピルス株式会社 藤川幸一 FUJIKAWA Koichi @fujibee
2.
JRubyユーザ会 ・2010年5月に設立 ・Jrubyユーザの交流の場として、勉強会などを 行っている ・第0回 設立準備会 ・第1回 Google AppEngine with
JRuby ・第2回 JRubyユーザ会 in RubyKaigi2010 ・第3回 <今ココ> ・参加希望はML(Google Group)へ登録! http://groups.google.com/group/jruby-users-jp
3.
Hadoop Papyrus
4.
Hadoopとは?
大規模データ並列分散処理フレームワーク Google MapReduceのオープンソースク ローン テラバイトレベルのデータ処理に必要 標準的なHDDがRead 50MB/sとして 400TB(Webスケール)のReadだけで2000時間 分散ファイルシステムと分散処理フレームワー クが必要
5.
Hadoop Papyrus HadoopジョブをRubyのDSLで実行できる オープンソースフレームワーク
本来HadoopジョブはJavaで記述する Javaだと複雑な記述がほんの数行で書ける IPA未踏本体2009年上期のサポート Hudson上でジョブを記述/実行が可能
6.
Step.1 JavaではなくRubyで記述
7.
Step.2 RubyによるDSLでMapReduceを シンプルに
Map Reduce Job Description Log Analysis DSL
8.
Step.3 Hadoopサーバ構成を容易に利用可能に
9.
package org.apache.hadoop.examples;
Java import java.io.IOException; import java.util.StringTokenizer; 同様な処理がJavaでは70行必要だが、 import org.apache.hadoop.conf.Configuration ; HadoopPapyrusだと10行に! import org.apache.hadoop.fs.Path ; import org.apache.hadoop.io.IntWritable ; import org.apache.hadoop.io.Text ; import org.apache.hadoop.mapreduce.Job ; import org.apache.hadoop.mapreduce.Mapper ; public static class IntSumReducer extends import org.apache.hadoop.mapreduce.Reducer ; Reducer<Text, IntWritable, Text, IntWritable> { import org.apache.hadoop.mapreduce.lib.input.FileInputFormat ; private IntWritable result = new IntWritable(); import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat ; import org.apache.hadoop.util.GenericOptionsParser ; public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { public class WordCountint sum = 0; { for (IntWritable val : values) { sum += val.get(); public static class TokenizerMapper extends } Mapper<Object, Text, Text, IntWritable> { result.set(sum); Hadoop Papyrus context.write(key, result); } private final static IntWritable one = new IntWritable(1); dsl 'LogAnalysis‘ } private Text word = new Text(); public static void main(String[] args) throws Exception { public void map(Object key, Text value,conf = new Configuration(); Configuration Context context) from ‘test/in‘ throws IOException, InterruptedException { = new GenericOptionsParser(conf, args) String[] otherArgs StringTokenizer itr = new StringTokenizer(value.toString()); .getRemainingArgs(); to ‘test/out’ while (itr.hasMoreTokens()) {(otherArgs.length != 2) { if word.set(itr.nextToken()); System.err.println("Usage: wordcount <in> <out>"); context.write(word, one); System.exit(2); } } } pattern /[[([^|]:]+)[^]:]*]]/ Job job = new Job(conf, "word count"); } job.setJarByClass(WordCount.class); job.setMapperClass(TokenizerMapper.class); column_name :link job.setCombinerClass(IntSumReducer.class); job.setReducerClass(IntSumReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); topic "link num", :label => 'n' do FileInputFormat.addInputPath(job, new Path(otherArgs[0])); FileOutputFormat.setOutputPath(job, new Path(otherArgs[1])); System.exit(job.waitForCompletion(true) ? 0 : 1); count_uniq column[:link] } } end
10.
Hadoop Papyrus 詳細 Javaで書く必要があるMap/Reduce処理内 で、JRubyを利用してRubyスクリプトを呼び出す
11.
Hadoop Papyrus 詳細
(続き) さらに、処理したい内容(ログ分析など)を記述したDSLを用意して おき、Map処理、Reduce処理でそれぞれ異なる動きをさせることで1 枚のDSL記述でMapReduce処理を行うことができる。
12.
Hapyrus について
13.
Hapyrus (ハピルス) ・HapyrusはHadoop処理などの大量並列分散処理 のベストプラクティスを共有・実行するサービス ・Amazon EC2上に構築されHadoopをサービスと して利用できる ・内部的にJRubyを利用
– HadoopとRuby(RoR利用)の接続として ・2010年10月からハピルス株式会社として開発開 始・鋭意開発中! ・年末にはアルファ版公開予定 ご期待ください!
14.
JRubyでHadoopにアクセス
Hadoop Hadoop Hadoop IPC Client Client JobTracker JobTracker <JRuby> <JRuby> <Java> <Java> Hadoop内のオブジェクトデータに 直接アクセス可能!
15.
ありがとうございました Twitter
ID: @fujibee
Jetzt herunterladen