際際滷

際際滷Share a Scribd company logo
elasticsearch-?\hadoopを
聞ってごにょごにょ
してみる	
 
@yamakatu	
 ?
及4指	
 Elas-csearch茶氏	
 ?
2014/4/21	
 ?	
 ?
おまえだれよ	
 
?? @yamakatu	
 ?
?? 碧並碧圭中	
 ?
?? 徭各フルスタックイクメンエンジニア	
 ?
?? _k、インフラ、C亠僥、y、碧、圄	
 ?
?? gihyo.jpBd仝Mahoutで悶湖するC亠僥のg樹々	
 ?
?? 栽い冱~は仝iまずに、はてブだけして々	
 ?
シナリオ困△詒佞イと	
 
うちのECサイトの碧どうに
かして。	
 ?
あ、ついでになんかすごそう
だから、ビッグデ`タ議な蛍
裂とかしたい。てへぺろ	
 ?
どうしよう	
 
?? 碧Elas-csearch	
 ?
?? 鹿、蛍裂Kibanaは辛晒できるけど、たいした鹿
はできないから、、、Hiveあたり佩っとく	
 ?
?? 卍	
 ?
?? Elas-csearchもHadoopもeにサ`バを喘吭しなければならな
い	
 ?
インフラエンジニア┛彡
嚠麻は
じゃあ、どうする織▲ぅ侫覃`	
 
?? 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の碧Y惚をMapReduceでごにょごにょしやす
い	
 ?
?? 屡贋Yb(ex.	
 ?MapReduceでg廾したライブラリ)の送喘	
 ?
?? とかとか	
 ?
でも聞うの寄笋覆鵑任靴
う
MapReduceでread(症API	
 ?ver.)	
 
?? Elas-csearchの俊A枠やクエリをconfにO協	
 ?
?? レスオンスのドキュメント1周で1Mapタスク笋┐
る殖	
 ?
?? 弖	
 ?
?? 屎しくは、Mapタスク方イコ`ルPrimary	
 ?Shardの方です。	
 ?
?? サンプル	
 ?
JobConf	
 ?conf	
 ?=	
 ?new	
 ?JobConf(Main.class);	
 ?
	
 ?
conf.set(^es.nodes ̄,	
 ?^localhost:9200 ̄);	
 ?//host:port	
 
conf.set(^es.resource ̄,	
 ?^?ight/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	
 ??ight	
 ?(	
 ?
	
 ?	
 ?month	
 ?int,	
 ?
	
 ?	
 ?uniquecarrier	
 ?string,	
 ?
	
 ?	
 ?´	
 ?
)	
 ?STORED	
 ?BY	
 ?'org.elas-csearch.hadoop.hive.EsStorageHandler'	
 ?
TBLPROPERTIES(	
 ?
	
 ?	
 ?'es.resource'	
 ?=	
 ?'?ight/2007',	
 ?
	
 ?	
 ?'es.host'	
 ?=	
 ?¨localhost',	
 ?
	
 ?	
 ?'es.port'	
 ?=	
 ?'9200'	
 ?
);	
 ?
?? 瘁はSelectするだけ	
 ?
Hive(write)	
 
?? テ`ブル恬撹	
 ?
?? ry	
 ?
?? insertするだけ
Pig
でも、おそいんでしょう
u	
 
?? デ`タ	
 ?
?? DATA	
 ?Expo	
 ?¨09から2007定のアメリカの砂腎人デ`タ	
 ?
?? s750嵐周	
 ?
?? Hive	
 ?
?? w佩鉦xの峠譲、米餓を箔めてみる	
 ?
	
 ?
u	
 
?? 曳^	
 ?
1.? 噸宥にHadoopを旋喘	
 ?
?? tasktracker(datanode揖肖)	
 ?x3	
 ?
2.? Hadoop	
 ?と	
 Elas-csearch	
 ?をeノ`ドでB	
 ?
?? tasktracker	
 ?x3,	
 ?Elas-csearch	
 ?x3	
 ?
?? シャ`ド6つ、レプリカ2つずつ	
 ?
3.? Hadoop	
 ?と	
 Elas-csearch	
 ?を揖匯ノ`ドでB	
 ?
?? (tasktracker	
 ?+	
 ?Elas-csearch)	
 ?x3	
 ?
?? シャ`ド6つ、レプリカ2つずつ	
 ?
?? スペック	
 ?
?? すべてEC2	
 ?m3.xlarge	
 ?
?? 4vCPU,	
 ?13ECU,	
 ?RAM	
 ?15GB	
 ?
?? Elas-csearch	
 ?
?? op-mizegみ	
 ?
?? ウォ`ムアップgみ
Y惚	
 
1.? 噸宥にHadoopを旋喘	
 ?
?? tasktracker(datanode揖肖)	
 ?x3	
 ?
?? s60ms	
 ?
2.? HadoopとElas-csearch	
 ?をeノ`ドでB	
 ?
?? tasktracker	
 ?x3,	
 ?Elas-csearch	
 ?x3	
 ?
?? s600ms	
 ?
3.? HadoopとElas-csearch	
 ?を揖匯ノ`ドでB	
 ?
?? (tasktracker	
 ?+	
 ?Elas-csearch)	
 ?x3	
 ?
?? s520ms	
 ?
?? Wい、、、なんか鯛としがあるのかもしれん┘リ	
 ?
まとめ	
 
?? elas-csearch-?\hadoopを聞うとHadoopのストレ`ジとして
Elas-csearchが聞える	
 ?
?? 宴旋	
 ?
?? gに聞える	
 ?
?? だたし堀くはない	
 ?
?? ただし云輝は、やれば竃栖る徨なのかもしれない	
 ?
ご床ありがとうございまし
た
弖	
 
?? uで旋喘したHiveクエリ	
 ?
?? select	
 ?avg(distance),	
 ?stddev(distance)	
 ?from	
 ??ight	
 ?
?? uは光3指y。ほぼ揖じ。	
 ?
?? 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	
 ?

More Related Content

艶鉛温壊岳庄界壊艶温姻界鞄-鞄温糸看看沿をつかってごにょごにょしてみる

  • 2. おまえだれよ ?? @yamakatu ? ?? 碧並碧圭中 ? ?? 徭各フルスタックイクメンエンジニア ? ?? _k、インフラ、C亠僥、y、碧、圄 ? ?? gihyo.jpBd仝Mahoutで悶湖するC亠僥のg樹々 ? ?? 栽い冱~は仝iまずに、はてブだけして々 ?
  • 4. どうしよう ?? 碧Elas-csearch ? ?? 鹿、蛍裂Kibanaは辛晒できるけど、たいした鹿 はできないから、、、Hiveあたり佩っとく ? ?? 卍 ? ?? Elas-csearchもHadoopもeにサ`バを喘吭しなければならな い ?
  • 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の碧Y惚をMapReduceでごにょごにょしやす い ? ?? 屡贋Yb(ex. ?MapReduceでg廾したライブラリ)の送喘 ? ?? とかとか ?
  • 10. MapReduceでread(症API ?ver.) ?? Elas-csearchの俊A枠やクエリをconfにO協 ? ?? レスオンスのドキュメント1周で1Mapタスク笋┐ る殖 ? ?? 弖 ? ?? 屎しくは、Mapタスク方イコ`ルPrimary ?Shardの方です。 ? ?? サンプル ? JobConf ?conf ?= ?new ?JobConf(Main.class); ? ? conf.set(^es.nodes ̄, ?^localhost:9200 ̄); ?//host:port conf.set(^es.resource ̄, ?^?ight/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 ??ight ?( ? ? ?month ?int, ? ? ?uniquecarrier ?string, ? ? ?´ ? ) ?STORED ?BY ?'org.elas-csearch.hadoop.hive.EsStorageHandler' ? TBLPROPERTIES( ? ? ?'es.resource' ?= ?'?ight/2007', ? ? ?'es.host' ?= ?¨localhost', ? ? ?'es.port' ?= ?'9200' ? ); ? ?? 瘁はSelectするだけ ?
  • 13. Hive(write) ?? テ`ブル恬撹 ? ?? ry ? ?? insertするだけ
  • 14. Pig
  • 16. u ?? デ`タ ? ?? DATA ?Expo ?¨09から2007定のアメリカの砂腎人デ`タ ? ?? s750嵐周 ? ?? Hive ? ?? w佩鉦xの峠譲、米餓を箔めてみる ? ?
  • 17. u ?? 曳^ ? 1.? 噸宥にHadoopを旋喘 ? ?? tasktracker(datanode揖肖) ?x3 ? 2.? Hadoop ?と Elas-csearch ?をeノ`ドでB ? ?? tasktracker ?x3, ?Elas-csearch ?x3 ? ?? シャ`ド6つ、レプリカ2つずつ ? 3.? Hadoop ?と Elas-csearch ?を揖匯ノ`ドでB ? ?? (tasktracker ?+ ?Elas-csearch) ?x3 ? ?? シャ`ド6つ、レプリカ2つずつ ? ?? スペック ? ?? すべてEC2 ?m3.xlarge ? ?? 4vCPU, ?13ECU, ?RAM ?15GB ? ?? Elas-csearch ? ?? op-mizegみ ? ?? ウォ`ムアップgみ
  • 18. Y惚 1.? 噸宥にHadoopを旋喘 ? ?? tasktracker(datanode揖肖) ?x3 ? ?? s60ms ? 2.? HadoopとElas-csearch ?をeノ`ドでB ? ?? tasktracker ?x3, ?Elas-csearch ?x3 ? ?? s600ms ? 3.? HadoopとElas-csearch ?を揖匯ノ`ドでB ? ?? (tasktracker ?+ ?Elas-csearch) ?x3 ? ?? s520ms ? ?? Wい、、、なんか鯛としがあるのかもしれん┘リ ?
  • 19. まとめ ?? elas-csearch-?\hadoopを聞うとHadoopのストレ`ジとして Elas-csearchが聞える ? ?? 宴旋 ? ?? gに聞える ? ?? だたし堀くはない ? ?? ただし云輝は、やれば竃栖る徨なのかもしれない ?
  • 21. 弖 ?? uで旋喘したHiveクエリ ? ?? select ?avg(distance), ?stddev(distance) ?from ??ight ? ?? uは光3指y。ほぼ揖じ。 ? ?? 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 ?