Treasure Data ã§ã¢ãã¢ã
ã¯ãããŸããŠã Crocosã®å¹³å幎霢åŒãäžãæ åœã® @cocoitiban ããšæ°äºã§ãã æè¿ãçµå©ããããŸããã®ã§ãäžã€åã®èšäºãåèã«ãåŠ»ã«æ§å§è¡šç€ºãæããããšæããŸãã
ããŠã以ååŒç€Ÿ CTO ã® sotarok ã®èšäºã§ãCrocos ã®æè¡åºç€ã«ã€ããŠèª¬æããã£ããšããããŸãããã¡ãã£ãšæ·±ãæãäžããŠã玹ä»ããããšæããŸãã ãŸãã¯ãåãå ¥ç€ŸããŠäžçªã€ã³ãã¯ãããã£ã Treasure Data ã«ã€ããŠèª¬æããããšæããŸãã
ã©ããªãã®ã
sotarok ã® Crocos ãæ¯ããæè¡ã§ã玹ä»ãããŠããŸããæ¹ããŠç޹ä»ãããšã倧éã®ããŒã¿è§£æãã§ããPaaSã®ãµãŒãã¹ã§ãã
fluentdãšäžç¬ã§çµã¿åãããŠäœ¿ãã
HiveQLã§ã¯ãšãªãå®è¡ã§ãã
ããŒã¿ãTreasure DataåŽã«ä¿æããŠãããïŒãã¡ãä»ãµã€ãã¿ããš500GBãŸã§ã¯æ°ã«ããªãã§ããã¿ããã§ããïŒ
åŒç€Ÿã§ã¯äž»ã«ã¢ã¯ã»ã¹ãã°ã®è§£æã§å©çšããŠããŸããPHPã®ã¢ããªäžã§åçš®ãã°ããŒã¿ãçæããŠéä¿¡ããŠããŸãããApacheã®ãã°çãç°¡åã«å€æããŠç»é²ããããšãå¯èœã§ãã
ãã£ãããšã§ãããçšèªã«ã€ããŠèª¬æããŸãã
fluentd
fluentd ãã°è»¢éããŒã¢ã³ã§ãScribeãšããããã£ãã®ããããªãæåãªã®ã§ã¯ãªãã§ããããã CPUè² è·ããããã¯ãŒã¯ãã©ãã£ãã¯ãWebãµãŒãã«å ¥ããŠããéãã¯èæ ®ããªããŠããã¬ãã«ã§ãä»ã®ãšããCrocosã§äœ¿ã£ãŠããéãã¯å®å®ããŠããããã§ãã
ãã©ã°ã€ã³ã§ããããã§ããŸãã®ã§ãããšãã°ãAmazonDynamoDB ã«éä¿¡ãããšãã£ãããšãéåžžã«ç°¡åã«ã§ããŸãã
Hive
ç®ã®ãã£ã¡ãã£ãŠãããããã§ã銎æã¿ã® Hadoop ã§ããŒã¿è§£æãããããã® SQL ã©ã€ã¯ãªæ§æãã䜿ããåœä»€çŸ€ã§ãã䜿ã£ãŠããŠãåºæ¬çã«SQLãããããšã³ãžãã¢ãªãã³ãããããã°ã忥ãããã§äœ¿ãããªããæ°åã«ãªããŸãã
倧éããŒã¿ããããïŒæ¬åœã«ãã£ãŠé床ã§åŠçããŠãããŸãã ãšããã§ã©ãã§ãããã®ã§ãããHive ã«ãªããšããã«ãããããã£ã¡ãã£ãŠãŸããã
ãããªããã§ãå®ã¯ãã® Treasure Dataãå®ã¯ãããã§ã«äœ¿ããããã§ãã ããç§ã Crocos ã®ãšã³ãžãã¢ã§ã¯ãªããŠå人ã§ãµã€ããã€ãã£ãŠããŠãã䜿ã£ãŠã¿ãããšæããŸãããªã«ããã30åãããããã°ãã®åããäœæã§ããŸãã®ã§ããã²è©ŠããŠããã ãããã§ãã
ãšããããã§ãå°ããã¥ãŒããªã¢ã«ã«ãã£ãäœ¿ãæ¹ã説æããŠãããããšããããŸãã
å°å ¥æ¹æ³
Treasure Data ã® Quickstart Guideã«æ²¿ã£ãŠé²ããããšããããŸãã
ã¢ã«ãŠã³ãã®æ°èŠäœæ
Sign UpããŒãžããç»é²ããŸãã
2012/07/12çŸåšã¯ãQuickstart Guide ã®ãªã³ã¯ã¯ééã£ãŠãã¿ããã§ãã
ã¡ãªã¿ã«ããã§æžãããã¹ã¯ãŒãå¿ããªãããã«æ³šæããŠãã ããã ãã°ãããããšç»é²ã¡ãŒã«ãå±ããŸãã®ã§ãæç€ºã«ãããã£ãŠç»é²ãããŠãã ããã
ã€ã³ã¹ããŒã«
æç€ºã«ãããã£ãŠã€ã³ã¹ããŒã«ããŠãã ããã æå ã®ç°å¢ã®Macã§ã¯äœãã¯ãŸããšãããªãããã±ãŒãžã§ã€ã³ã¹ããŒã«ã§ããŸããã
ãããããštdã³ãã³ããå©çšã§ããããã«ãªããŸãã ãã®åŸã ã¢ã«ãŠã³ãèªèšŒãããŸãã ããããžãã¯ãå ã»ã©ã®QuickStartã®æç€ºãã®ãŸãŸã§åé¡ãããŸããã
td account -f
ã§ã¡ãŒã«ã¢ãã¬ã¹ãšãã¹ã¯ãŒããèãããŸãã®ã§ãããå ¥åããŠãã ããã
ããŒã¿ããŒã¹ã®æ°èŠäœæ
ãããŸããQuickStartãã®ãŸãŸã§åé¡ãããŸããã
td db:create testdb
td table:create testdb www_access
å®éã«äœ¿ã£ãŠã¿ã
ããããŸããQuickStartã®å 容ãã®ãŸãŸã§åé¡ãããŸããã 芪åãªããã¥ã¢ã«ãããã®ã§æ¥œã§ããïŒ ãŸãããŒã¿ç»é²ãããŸãã
$ td sample:apache apache.json
$ td table:import testdb www_access --json apache.json
$ tail -n 1 apache.json
ãªããšãtdã³ãã³ãã«ã¯ãã¹ãçšã®jsonãäœæãããããªãããªæ©èœããããŸãã ããŒã¿ãç»é²ã§ãããã¯ãšãªãå®è¡ããŸãã
$ td query -w -d testdb \
"SELECT v['code'], COUNT(1) FROM www_access GROUP BY v['code']"
JSONã®äžèº«ã¯ãããããvãšãã倿°ã®äžã«å ¥ã£ãŠããŠãv['hoge']ãšããæãã§é ç®åãæå®ããŸãã
ãã°ãããããšå€ãè¿ã£ãŠããŸããç°¡åã§ããïŒïŒ
Hiveã®ã¯ãšãªã¯Hive Tutorialãåèã«ãããšãšã£ã€ããããã§ãã
é§ãè¶³ã§ããããããããäžåè§Šã£ãŠã¿ããšãªããšãªãã³ããã€ããããšæããŸãã
ããäœ¿ãæ©èœ
@Result Outputãšããæ©èœãçµæ§é¢çœãã§ãã
ã¯ãšãªãå®è¡ããçµæããèªåãã¡ã§æ§ç¯ããããŒã¿ããŒã¹ã«ç»é²ããŠãããæ©èœã§ãã èªåãã¡ã§çšæããå ŽåããããµãŒããçšæããŠããããããã¯ãšãªã®çµæãããŒã¿ããŒã¹ã«ç»é²ããããšã«ãªãã®ã§ããµãŒãäžå°çšæããªããŠããåéåžžã«ç°¡åã§ãã
ãããTreasure Dataãé«éãšã¯ããããŠãŒã¶ã«çŽæ¥è§Šãããšããã«ããã®ã¯ã¬ã¹ãã³ã¹çã«ã¯åé¡ããããŸãã®ã§ãã£ãããèªåãã¡ã®ããŒã¿ããŒã¹ã«æ ŒçŽããŠãããŠãŒã¶ã«è¡šç€ºãããšããããšã¯è¯ãããšã§ãã
çµããã«
ãããããçšåºŠå€§ããäŒç€Ÿã ãšçµæ§äŒŒããããªæè¡ãå©çšã§ããã®ã§ãããåäººã§æ§ç¯ããã®ã¯çµæ§å€§å€ãªããããªãããšæããŸãã
ããããããªã«ç°¡åã«å©çšã§ããããã«ãªããšã¯æããŸããã§ããã
ãããã£ããã®ã䜿ã£ãããšããããšããã®ã¯ããã¯ããã§ã²ãšã€ã®ã¹ãã«ãšããããšæããŸãããäžè¬çãªæè¡ã䜿ã£ãŠããŸãã®ã§ãããããåé¡ã解決ãããããšããã¡ãªããããããšæããŸãã
次åã¯ãWebã¢ããªã±ãŒã·ã§ã³ãã Fluent ãçµç±ããã°ãæããæ¹æ³ããCrocoså éšã«ãŠã©ã®ããã«äœ¿ã£ãŠããããç°¡åã«èª¬æããããšæããŸãã æ¬èšäºããåèã«ãªãã°å¹žãã§ãã









