SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
elasticsearch-­‐hadoopを
使ってごにょごにょ
してみる	
 
@yamakatu	
  
第4回	
 Elas-csearch勉強会	
  
2014/4/21	
  	
  
おまえだれよ	
 
•  @yamakatu	
  
•  仕事:検索方面	
  
•  自称フルスタックイクメンエンジニア	
  
•  開発、インフラ、機械学習、統計、検索、育児	
  
•  gihyo.jp連載「Mahoutで体感する機械学習の実践」	
  
•  合い言葉は「読まずに、はてブだけして」	
  
シナリオ:ある日の偉い人	
 
うちのECサイトの検索どうに
かして。	
  
あ、ついでになんかすごそう
だから、ビッグデータ的な分
析とかしたい。てへぺろ	
  
どうしよう	
 
•  検索:Elas-csearch	
  
•  集計、分析:Kibanaは可視化できるけど、たいした集計
はできないから、、、Hiveあたり行っとく?	
  
•  懸念	
  
•  Elas-csearchもHadoopも別にサーバを用意しなければならな
い	
  
インフラエンジニア(白目
予算は?
じゃあ、どうする?アイフルー	
 
•  Elas-csearchとHadoopそれぞれにデータ置く必要ないん
じゃね?	
  
•  できるのか、、、俺たちにそんなことが、、、	
  
	
  
	
  
•  そう、elas-csearch-­‐hadoopならね!!!
What’s	
  elasticsearch-­‐hadoop	
 
•  HadoopからElas-csearchをストレージとして利用する	
  
	
  
•  何ができるの?	
  
1.  MapReduce	
  	
  ➡	
  Elas-csearch	
  にread/write	
  
2.  Hive	
  ➡	
  Elas-csearch	
  にread/write	
  
3.  Pig	
  ➡	
  Elas-csearch	
  にread/write	
  
•  何が幸せ?たとえば、	
  
•  SQLが書ける程度の非エンジニアでもHiveでElas-csearchの
データでごにょごにょできる	
  
•  Elas-csearchの検索結果をMapReduceでごにょごにょしやす
い	
  
•  既存資産(ex.	
  MapReduceで実装したライブラリ)の流用	
  
•  とかとか	
  
でも使うの大変なんでしょ
う?
MapReduceでread(旧API	
  ver.)	
 
•  Elas-csearchの接続先やクエリをconfに設定	
  
•  レスオンスのドキュメント1件で1Mapタスク(変えれ
る?)	
  
•  追記	
  
•  正しくは、Mapタスク数イコールPrimary	
  Shardの数です。	
  
•  サンプル	
  
JobConf	
  conf	
  =	
  new	
  JobConf(Main.class);	
  
	
  
conf.set(“es.nodes”,	
  “localhost:9200”);	
  //host:port	
 
conf.set(“es.resource”,	
  “flight/2007”);	
  //index/type	
 
conf.set("es.query",	
  "?q=*");	
  //query	
  
conf.setInputFormat(EsInputFormat.class);	
  //input元としてES	
  
	
  
MapReduceでwrite(旧API	
  ver.)	
 
•  MapReduceの出力をJsonで用意すれば、Elas-csearchに対
するjsonに	
  
	
  
・サンプル	
  
JobConf	
  conf	
  =	
  new	
  JobConf(Main.class);	
  
	
  
conf.setSpecula-veExecu-on(false);	
  
conf.set(“es.nodes”,	
  “localhost:9200”);	
  //host:port	
  
conf.set("es.resource",	
  "test/user");	
  //index/type	
  
conf.setOutputFormat(EsOutputFormat.class);	
  //output先にES
を指定	
 
conf.set("es.input.json",	
  "yes");	
  	
  
	
  
Hive(read)	
 
•  テーブル作成	
  
CREATE	
  EXTERNAL	
  TABLE	
  flight	
  (	
  
	
  	
  month	
  int,	
  
	
  	
  uniquecarrier	
  string,	
  
	
  	
  …	
  
)	
  STORED	
  BY	
  'org.elas-csearch.hadoop.hive.EsStorageHandler'	
  
TBLPROPERTIES(	
  
	
  	
  'es.resource'	
  =	
  'flight/2007',	
  
	
  	
  'es.host'	
  =	
  ’localhost',	
  
	
  	
  'es.port'	
  =	
  '9200'	
  
);	
  
•  後はSelectするだけ	
  
Hive(write)	
 
•  テーブル作成	
  
•  (ry	
  
•  insertするだけ
Pig
でも、おそいんでしょう?
評価	
 
•  データ	
  
•  DATA	
  Expo	
  ’09から2007年のアメリカの航空客データ	
  
•  約750万件	
  
•  Hive	
  
•  飛行距離の平均値と標準偏差を求めてみる	
  
	
  
評価	
 
•  比較対象	
  
1.  普通にHadoopを利用	
  
•  tasktracker(datanode同居)	
  x3	
  
2.  Hadoop	
  と	
 Elas-csearch	
  を別ノードで構築	
  
•  tasktracker	
  x3,	
  Elas-csearch	
  x3	
  
•  シャード6つ、レプリカ2つずつ	
  
3.  Hadoop	
  と	
 Elas-csearch	
  を同一ノードで構築	
  
•  (tasktracker	
  +	
  Elas-csearch)	
  x3	
  
•  シャード6つ、レプリカ2つずつ	
  
•  スペック	
  
•  すべてEC2	
  m3.xlarge	
  
•  4vCPU,	
  13ECU,	
  RAM	
  15GB	
  
•  Elas-csearch	
  
•  op-mize済み	
  
•  ウォームアップ済み
結果	
 
1.  普通にHadoopを利用	
  
•  tasktracker(datanode同居)	
  x3	
  
•  約60ms	
  
2.  HadoopとElas-csearch	
  を別ノードで構築	
  
•  tasktracker	
  x3,	
  Elas-csearch	
  x3	
  
•  約600ms	
  
3.  HadoopとElas-csearch	
  を同一ノードで構築	
  
•  (tasktracker	
  +	
  Elas-csearch)	
  x3	
  
•  約520ms	
  
•  遅い、、、なんか見落としがあるのかもしれん(キリ	
  
まとめ	
 
•  elas-csearch-­‐hadoopを使うとHadoopのストレージとして
Elas-csearchが使える	
  
•  便利	
  
•  簡単に使える	
  
•  だたし速くはない	
  
•  ただし本当は、やれば出来る子なのかもしれない	
  
ご静聴ありがとうございまし
た
追記	
 
•  評価で利用したHiveクエリ	
  
•  select	
  avg(distance),	
  stddev(distance)	
  from	
  flight	
  
•  評価は各3回計測。ほぼ同じ。	
  
•  elas-csearch-­‐hadoopを利用するために、elas-csearch-­‐
hadoop.jarをパスに通す必要があります	
  
•  MapReduce	
  
•  hqp://www.elas-csearch.org/guide/en/elas-csearch/hadoop/
current/mapreduce.html#_installa-on	
  
•  Hive	
  
•  hqp://www.elas-csearch.org/guide/en/elas-csearch/hadoop/
current/hive.html#_installa-on_3	
  

Weitere ähnliche Inhalte

Was ist angesagt?

Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Noritaka Sekiyama
 
情報アクセス技術のためのテストコレクション作成
情報アクセス技術のためのテストコレクション作成情報アクセス技術のためのテストコレクション作成
情報アクセス技術のためのテストコレクション作成kt.mako
 
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Preferred Networks
 
Datastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようDatastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようYuki Morishita
 
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL Co., Ltd.
 
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザAWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザNoritaka Sekiyama
 
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...Amazon Web Services
 
コンテナ時代のOpenStack
コンテナ時代のOpenStackコンテナ時代のOpenStack
コンテナ時代のOpenStackAkira Yoshiyama
 
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンスHidenori Ishii
 
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮Hibino Hisashi
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.3.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.3.0対応)fisuda
 
DynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How ToDynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How To伊藤 祐策
 
SQL勉強会 初級編
SQL勉強会 初級編SQL勉強会 初級編
SQL勉強会 初級編Kazuma Hidaka
 
Azure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみたAzure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみたDevTakas
 
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...Holden Karau
 
Clean architectures with fast api pycones
Clean architectures with fast api   pyconesClean architectures with fast api   pycones
Clean architectures with fast api pyconesAlvaro Del Castillo
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門Yoichi Kawasaki
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道Jun Kato
 

Was ist angesagt? (20)

Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
情報アクセス技術のためのテストコレクション作成
情報アクセス技術のためのテストコレクション作成情報アクセス技術のためのテストコレクション作成
情報アクセス技術のためのテストコレクション作成
 
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
Datastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようDatastax Enterpriseをはじめよう
Datastax Enterpriseをはじめよう
 
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷
 
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザAWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
 
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
 
コンテナ時代のOpenStack
コンテナ時代のOpenStackコンテナ時代のOpenStack
コンテナ時代のOpenStack
 
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス
 
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.3.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.3.0対応)
 
DynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How ToDynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How To
 
SQL勉強会 初級編
SQL勉強会 初級編SQL勉強会 初級編
SQL勉強会 初級編
 
Azure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみたAzure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみた
 
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
 
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
 
Clean architectures with fast api pycones
Clean architectures with fast api   pyconesClean architectures with fast api   pycones
Clean architectures with fast api pycones
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道
 

Ähnlich wie elasticsearch-hadoopをつかってごにょごにょしてみる

黄色い象と共に生きる
黄色い象と共に生きる黄色い象と共に生きる
黄色い象と共に生きるKazuhiro Ota
 
1,000,000 foot view of Hadoop-like parallel data processing systems
1,000,000 foot view of Hadoop-like parallel data processing systems1,000,000 foot view of Hadoop-like parallel data processing systems
1,000,000 foot view of Hadoop-like parallel data processing systemsHiroyuki Yamada
 
Hadoopことはじめ
HadoopことはじめHadoopことはじめ
HadoopことはじめKatsunori Kanda
 
Ojag naha vol13
Ojag naha vol13Ojag naha vol13
Ojag naha vol13Seiei Higa
 
Ojag naha vol13
Ojag naha vol13Ojag naha vol13
Ojag naha vol13hanachin
 
趣味でのCosmos DBとの付き合い方
趣味でのCosmos DBとの付き合い方趣味でのCosmos DBとの付き合い方
趣味でのCosmos DBとの付き合い方Koichi Ota
 
第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポートYou&I
 
鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料Takashi Aoe
 
Hiveハンズオン
HiveハンズオンHiveハンズオン
HiveハンズオンSatoshi Noto
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16Yifeng Jiang
 
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編GoAzure
 
ゾウ使いへの第一歩
ゾウ使いへの第一歩ゾウ使いへの第一歩
ゾウ使いへの第一歩Fumito Ito
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門Masaya Dake
 
VPSやめてHerokuに移行したお話
VPSやめてHerokuに移行したお話VPSやめてHerokuに移行したお話
VPSやめてHerokuに移行したお話Hiroyuki Hayashi
 
Hadoop Source Code Reading #17
Hadoop Source Code Reading #17Hadoop Source Code Reading #17
Hadoop Source Code Reading #17Shingo Furuyama
 
AutoEncoderで特徴抽出
AutoEncoderで特徴抽出AutoEncoderで特徴抽出
AutoEncoderで特徴抽出Kai Sasaki
 
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバElasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバShinsuke Sugaya
 
HBase×Impalaで作るアドテク 「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
HBase×Impalaで作るアドテク「GMOプライベートDMP」@HBaseMeetupTokyo2015SummerHBase×Impalaで作るアドテク「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
HBase×Impalaで作るアドテク 「GMOプライベートDMP」@HBaseMeetupTokyo2015SummerMichio Katano
 

Ähnlich wie elasticsearch-hadoopをつかってごにょごにょしてみる (20)

黄色い象と共に生きる
黄色い象と共に生きる黄色い象と共に生きる
黄色い象と共に生きる
 
1,000,000 foot view of Hadoop-like parallel data processing systems
1,000,000 foot view of Hadoop-like parallel data processing systems1,000,000 foot view of Hadoop-like parallel data processing systems
1,000,000 foot view of Hadoop-like parallel data processing systems
 
Hadoopことはじめ
HadoopことはじめHadoopことはじめ
Hadoopことはじめ
 
Ojag naha vol13
Ojag naha vol13Ojag naha vol13
Ojag naha vol13
 
Ojag naha vol13
Ojag naha vol13Ojag naha vol13
Ojag naha vol13
 
趣味でのCosmos DBとの付き合い方
趣味でのCosmos DBとの付き合い方趣味でのCosmos DBとの付き合い方
趣味でのCosmos DBとの付き合い方
 
第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート
 
鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料
 
Hiveハンズオン
HiveハンズオンHiveハンズオン
Hiveハンズオン
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16
 
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
 
ゾウ使いへの第一歩
ゾウ使いへの第一歩ゾウ使いへの第一歩
ゾウ使いへの第一歩
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門
 
Hadoop事始め
Hadoop事始めHadoop事始め
Hadoop事始め
 
VPSやめてHerokuに移行したお話
VPSやめてHerokuに移行したお話VPSやめてHerokuに移行したお話
VPSやめてHerokuに移行したお話
 
Hadoop Source Code Reading #17
Hadoop Source Code Reading #17Hadoop Source Code Reading #17
Hadoop Source Code Reading #17
 
Reading drill
Reading drillReading drill
Reading drill
 
AutoEncoderで特徴抽出
AutoEncoderで特徴抽出AutoEncoderで特徴抽出
AutoEncoderで特徴抽出
 
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバElasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
 
HBase×Impalaで作るアドテク 「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
HBase×Impalaで作るアドテク「GMOプライベートDMP」@HBaseMeetupTokyo2015SummerHBase×Impalaで作るアドテク「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
HBase×Impalaで作るアドテク 「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
 

Mehr von Katsushi Yamashita

CROSS 2015 全文検索群雄割拠
CROSS 2015 全文検索群雄割拠CROSS 2015 全文検索群雄割拠
CROSS 2015 全文検索群雄割拠Katsushi Yamashita
 
「データ解析のための統計モデリング入門」読書会 最終回 クロージング
「データ解析のための統計モデリング入門」読書会 最終回 クロージング「データ解析のための統計モデリング入門」読書会 最終回 クロージング
「データ解析のための統計モデリング入門」読書会 最終回 クロージングKatsushi Yamashita
 
#みどりぼん 11章「空間構造のある階層ベイズモデル」後半
#みどりぼん 11章「空間構造のある階層ベイズモデル」後半#みどりぼん 11章「空間構造のある階層ベイズモデル」後半
#みどりぼん 11章「空間構造のある階層ベイズモデル」後半Katsushi Yamashita
 
第1回「データ解析のための統計モデリング入門」読書会 オープニング
第1回「データ解析のための統計モデリング入門」読書会 オープニング第1回「データ解析のための統計モデリング入門」読書会 オープニング
第1回「データ解析のための統計モデリング入門」読書会 オープニングKatsushi Yamashita
 
Spot Instance + Spark + MLlibで実現する簡単低コスト機械学習
Spot Instance + Spark + MLlibで実現する簡単低コスト機械学習Spot Instance + Spark + MLlibで実現する簡単低コスト機械学習
Spot Instance + Spark + MLlibで実現する簡単低コスト機械学習Katsushi Yamashita
 
はじパタ 10章 クラスタリング 前半
はじパタ 10章 クラスタリング 前半はじパタ 10章 クラスタリング 前半
はじパタ 10章 クラスタリング 前半Katsushi Yamashita
 

Mehr von Katsushi Yamashita (6)

CROSS 2015 全文検索群雄割拠
CROSS 2015 全文検索群雄割拠CROSS 2015 全文検索群雄割拠
CROSS 2015 全文検索群雄割拠
 
「データ解析のための統計モデリング入門」読書会 最終回 クロージング
「データ解析のための統計モデリング入門」読書会 最終回 クロージング「データ解析のための統計モデリング入門」読書会 最終回 クロージング
「データ解析のための統計モデリング入門」読書会 最終回 クロージング
 
#みどりぼん 11章「空間構造のある階層ベイズモデル」後半
#みどりぼん 11章「空間構造のある階層ベイズモデル」後半#みどりぼん 11章「空間構造のある階層ベイズモデル」後半
#みどりぼん 11章「空間構造のある階層ベイズモデル」後半
 
第1回「データ解析のための統計モデリング入門」読書会 オープニング
第1回「データ解析のための統計モデリング入門」読書会 オープニング第1回「データ解析のための統計モデリング入門」読書会 オープニング
第1回「データ解析のための統計モデリング入門」読書会 オープニング
 
Spot Instance + Spark + MLlibで実現する簡単低コスト機械学習
Spot Instance + Spark + MLlibで実現する簡単低コスト機械学習Spot Instance + Spark + MLlibで実現する簡単低コスト機械学習
Spot Instance + Spark + MLlibで実現する簡単低コスト機械学習
 
はじパタ 10章 クラスタリング 前半
はじパタ 10章 クラスタリング 前半はじパタ 10章 クラスタリング 前半
はじパタ 10章 クラスタリング 前半
 

Kürzlich hochgeladen

論文紹介: 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 Gamesatsushi061452
 
論文紹介: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...Toru Tamaki
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文紹介: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 UnderstandingToru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 

Kürzlich hochgeladen (10)

論文紹介: 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...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: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
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

elasticsearch-hadoopをつかってごにょごにょしてみる

  • 2. おまえだれよ •  @yamakatu   •  仕事:検索方面   •  自称フルスタックイクメンエンジニア   •  開発、インフラ、機械学習、統計、検索、育児   •  gihyo.jp連載「Mahoutで体感する機械学習の実践」   •  合い言葉は「読まずに、はてブだけして」  
  • 4. どうしよう •  検索:Elas-csearch   •  集計、分析:Kibanaは可視化できるけど、たいした集計 はできないから、、、Hiveあたり行っとく?   •  懸念   •  Elas-csearchもHadoopも別にサーバを用意しなければならな い  
  • 7. じゃあ、どうする?アイフルー •  Elas-csearchとHadoopそれぞれにデータ置く必要ないん じゃね?   •  できるのか、、、俺たちにそんなことが、、、       •  そう、elas-csearch-­‐hadoopならね!!!
  • 8. What’s  elasticsearch-­‐hadoop •  HadoopからElas-csearchをストレージとして利用する     •  何ができるの?   1.  MapReduce    ➡  Elas-csearch  にread/write   2.  Hive  ➡  Elas-csearch  にread/write   3.  Pig  ➡  Elas-csearch  にread/write   •  何が幸せ?たとえば、   •  SQLが書ける程度の非エンジニアでもHiveでElas-csearchの データでごにょごにょできる   •  Elas-csearchの検索結果をMapReduceでごにょごにょしやす い   •  既存資産(ex.  MapReduceで実装したライブラリ)の流用   •  とかとか  
  • 10. MapReduceでread(旧API  ver.) •  Elas-csearchの接続先やクエリをconfに設定   •  レスオンスのドキュメント1件で1Mapタスク(変えれ る?)   •  追記   •  正しくは、Mapタスク数イコールPrimary  Shardの数です。   •  サンプル   JobConf  conf  =  new  JobConf(Main.class);     conf.set(“es.nodes”,  “localhost:9200”);  //host:port conf.set(“es.resource”,  “flight/2007”);  //index/type conf.set("es.query",  "?q=*");  //query   conf.setInputFormat(EsInputFormat.class);  //input元としてES    
  • 11. MapReduceでwrite(旧API  ver.) •  MapReduceの出力をJsonで用意すれば、Elas-csearchに対 するjsonに     ・サンプル   JobConf  conf  =  new  JobConf(Main.class);     conf.setSpecula-veExecu-on(false);   conf.set(“es.nodes”,  “localhost:9200”);  //host:port   conf.set("es.resource",  "test/user");  //index/type   conf.setOutputFormat(EsOutputFormat.class);  //output先にES を指定 conf.set("es.input.json",  "yes");      
  • 12. Hive(read) •  テーブル作成   CREATE  EXTERNAL  TABLE  flight  (      month  int,      uniquecarrier  string,      …   )  STORED  BY  'org.elas-csearch.hadoop.hive.EsStorageHandler'   TBLPROPERTIES(      'es.resource'  =  'flight/2007',      'es.host'  =  ’localhost',      'es.port'  =  '9200'   );   •  後はSelectするだけ  
  • 13. Hive(write) •  テーブル作成   •  (ry   •  insertするだけ
  • 14. Pig
  • 16. 評価 •  データ   •  DATA  Expo  ’09から2007年のアメリカの航空客データ   •  約750万件   •  Hive   •  飛行距離の平均値と標準偏差を求めてみる    
  • 17. 評価 •  比較対象   1.  普通にHadoopを利用   •  tasktracker(datanode同居)  x3   2.  Hadoop  と Elas-csearch  を別ノードで構築   •  tasktracker  x3,  Elas-csearch  x3   •  シャード6つ、レプリカ2つずつ   3.  Hadoop  と Elas-csearch  を同一ノードで構築   •  (tasktracker  +  Elas-csearch)  x3   •  シャード6つ、レプリカ2つずつ   •  スペック   •  すべてEC2  m3.xlarge   •  4vCPU,  13ECU,  RAM  15GB   •  Elas-csearch   •  op-mize済み   •  ウォームアップ済み
  • 18. 結果 1.  普通にHadoopを利用   •  tasktracker(datanode同居)  x3   •  約60ms   2.  HadoopとElas-csearch  を別ノードで構築   •  tasktracker  x3,  Elas-csearch  x3   •  約600ms   3.  HadoopとElas-csearch  を同一ノードで構築   •  (tasktracker  +  Elas-csearch)  x3   •  約520ms   •  遅い、、、なんか見落としがあるのかもしれん(キリ  
  • 19. まとめ •  elas-csearch-­‐hadoopを使うとHadoopのストレージとして Elas-csearchが使える   •  便利   •  簡単に使える   •  だたし速くはない   •  ただし本当は、やれば出来る子なのかもしれない  
  • 21. 追記 •  評価で利用したHiveクエリ   •  select  avg(distance),  stddev(distance)  from  flight   •  評価は各3回計測。ほぼ同じ。   •  elas-csearch-­‐hadoopを利用するために、elas-csearch-­‐ hadoop.jarをパスに通す必要があります   •  MapReduce   •  hqp://www.elas-csearch.org/guide/en/elas-csearch/hadoop/ current/mapreduce.html#_installa-on   •  Hive   •  hqp://www.elas-csearch.org/guide/en/elas-csearch/hadoop/ current/hive.html#_installa-on_3