Apache Spark¤¬º£¸å¥Ö¥ì¡¼¥¯¤¹¤ë6¤Ä¤ÎÍýͳ
Spark¤Ï¤Þ¤ÀÀ®½Ï¤·¤Æ¤¤¤Ê¤¤¤Î¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢¤½¤³¤Ë¤¢¤ë¤Ù¤¤â¤Î¤À
¥²¥¹¥È¼¹É®¼Ô¤Î¥Ô¡¼¥¿¡¼¡¦¥·¥å¥é¥ó¥×¤Ï¥Ó¥Ã¥°¥Ç¡¼¥¿Ê¬ÀÏ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥×¥í¥Ð¥¤¥À¡¢Platfora¤ÎÉû¼ÒŤǤ¢¤ë¡£
Apache Spark¤Ï¤¢¤Ã¤È¤¤¤¦´Ö¤Ë¥Ó¥Ã¥°¥Ç¡¼¥¿¥¢¥Ê¥ê¥Æ¥£¥¯¥¹¤Î¥³¥¢¥Æ¥¯¥Î¥í¥¸¤Ë¤Ê¤Ã¤¿¡£¤·¤«¤·¤³¤Î»ö¤Ï¾¤Î¿¤¯¤Îµ»½Ñ¤Ç¤ª¤³¤Ã¤¿¤è¤¦¡¢Æ±¤¸¤¯¤¢¤Ã¤È¤¤¤¦´Ö¤Ë¥Õ¥§¡¼¥É¥¢¥¦¥È¤·¤Æ¤·¤Þ¤ï¤Ê¤¤¤«¤È¤¤¤¦·üÇ°¤â¤¢¤ë¡£¤À¤¬»ä¤ÏµÕ¤Ë¡¢Spark¤Ï»Ï¤Þ¤Ã¤¿¤Ð¤«¤ê¤À¤È¿®¤¸¤Æ¤¤¤ë¡£
¤³¤³¿ôǯ¤Ç¡¢Hadoop¤ÎÇúȯŪÉáµÚ¤È¥Ó¥Ã¥°¥Ç¡¼¥¿¤¬Â礤ʤâ¤Î¤Ë¤Ê¤Ã¤¿¤ª¤«¤²¤Ç¤¤¤¯¤Ä¤«¤Î»ö¤¬ÌÀ¤é¤«¤Ë¤Ê¤Ã¤¿¡£¤Þ¤ºHadoop Distributed ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡ÊHDFS¡Ë¤¬¥Ç¡¼¥¿¤Î¥¹¥È¥ì¡¼¥¸¤È¤·¤ÆŬ¤·¤Æ¤¤¤ë¤³¤È¡¢¤½¤·¤ÆYARN¡Ê¥ê¥½¡¼¥¹¤ÎÇÛÈ÷¤ª¤è¤Ó´ÉÍý¡Ë¤¬¥Ó¥Ã¥°¥Ç¡¼¥¿¤Î¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤È¤·¤ÆÁª¤Ð¤ì¤Æ¤¤¤ë¤³¤È¤À¡£
¤½¤·¤ÆÂè»°¤Ë¡¢ºÇ¤â½ÅÍפʤ³¤È¤À¤í¤¦¤¬¤¢¤é¤æ¤ëÌäÂê¤ËŬ¤·¤¿Í£°ì¤Ä¤Î¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ï̵¤¤¤È¤¤¤¦¤³¤È¤À¡£¥Þ¥Ã¥×¥ê¥Ç¥å¡¼¥¹¤Ï¶Ã¤¯¤Ù¤µ»½Ñ¤Ç¤Ï¤¢¤ë¤¬¡¢Á´¤Æ¤ÎÌäÂê¤ËÂФ¹¤ë²óÅú¤È¤Ï¤Ê¤Ã¤Æ¤¤¤Ê¤¤¡£
¤·¤«¤·¤Ê¤¬¤éSpark¤Ï¥Ó¥Ã¥°¥Ç¡¼¥¿¤Î¼ç¤ÊÌäÂê¤Î¿¤¯¤Ë¤ª¤¤¤Æ¥½¥ê¥å¡¼¥·¥ç¥ó¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢¤³¤Î»ö¤«¤é¶Ã¤¯¤Ù¤Àª¤¤¤ÇÀ®Ä¹¤·¤Æ¤¤Æ¤¤¤ë¡£ÊÀ¼ÒPlatfora¤¬Spark¤Ë³Ý¤±¤Æ¤¤¤ëÍýͳ¤Î¤Ò¤È¤Ä¤À¡£²æ¡¹¤Î¥Ó¥Ã¥°¥Ç¡¼¥¿¥Ç¥£¥¹¥«¥Ð¥ê¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¢¥Ç¡¼¥¿¤Î½èÍý¡¢Ê¬ÀϤËApache Spark¤Îµ»½Ñ¤¬´ðÁäȤʤäƤ¤¤ë¡£²æ¡¹¤¬Áª¤ÖÍýͳ¤Ï°Ê²¼¤ÎÄ̤ê¤À¡£
Spark¤Î»þÂ夬¤ä¤Ã¤ÆÍè¤è¤¦¤È¤·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤
Hadoop¤Ë°Í¸¤¹¤ë´ë¶È¤Ï½ÅÍפÊÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤ËÍÍ¡¹¤Ê¥¤¥ó¥Õ¥é¤ä¥×¥í¥»¥¹¤òɬÍפȤ¹¤ë¡£¥Ç¡¼¥¿¤Î²¼½èÍý¡¢µ½ÒŪʬÀÏ¡¢¸¡º÷¤Î¾¡¢¥Þ¥·¥ó¥é¡¼¥Ë¥ó¥°¤ä¥°¥é¥Õ½èÍý¤Ê¤É¤ÎǽÎϤâɬÍפˤʤ롣
¥¹¥¥ë¤ä¤½¤Î¾¤Î¥ê¥½¡¼¥¹¤ò³èÍѤ¹¤ë¤¿¤á¤Î°ìÏ¢¤Î¥Ä¡¼¥ë¤¬É¬ÍפȤʤꡢº£Æü¤Î¤È¤³¤í¤Þ¤Ç¤Ï¤¢¤é¤æ¤ë¥«¥Æ¥´¥ê¡¼¤ÎÌäÂê¤ËÂбþ¤Ç¤¤ëñ°ì¤Î½èÍý¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ï¸ºß¤·¤Ê¤¤¡£
¤·¤«¤·Spark¤Ë¤Ï¥Ó¥Ã¥°¥Ç¡¼¥¿¤Ë¼è¤êÁȤà´ë¶È¤Ë¤È¤Ã¤Æ¡¢6¤Ä¤ÎʬÌî¤ÇÍøÅÀ¤¬¤¢¤ë¡£
Àè¿ÊŪ¤ÊʬÀÏ
¿¤¯¤Î³×¿·Åª¤Ê´ë¶È¤Ï¥Ç¡¼¥¿Ê¬ÀÏǽÎϤò¸þ¾å¤¹¤ë½Ñ¤òÌϺ÷¤·¤Æ¤¤¤ë¡£¤·¤«¤·¤Ê¤¬¤éºÇ¶áNY¤Ç¹Ô¤ï¤ì¤¿¥Ó¥Ã¥°¥Ç¡¼¥¿¤Î¥¤¥Ù¥ó¥È¤Ç¤Ï¡¢20%¤Î´ë¶È¤À¤±¤¬Àè¿ÊŪ¤ÊʬÀϤò¼ÒÆâ¤ÇºÎÍѤ·¤Æ¤¤¤ë¤È¤¤¤¦¡£
»Ä¤ê¤Î80%¤Ï¥Ç¡¼¥¿¤Î½àÈ÷½èÍý¤È´ðËÜŪ¤ÊʬÀϤò¤¹¤ë¤Î¤¬¤ä¤Ã¤È¤Ç¤¢¤ê¡¢¿ô¤¨¤ë¤Û¤É¤Î¥Ç¡¼¥¿¥µ¥¤¥¨¥ó¥Æ¥£¥¹¥È¤Ï¤½¤Î»þ´Ö¤Î¤Û¤È¤ó¤É¤òµ½ÒŪʬÀϤμÂÁõ¤È´ÉÍý¤ËÈñ¤ä¤·¤Æ¤¤¤ë¤È¤¤¤¦¡£
Spark¤ò»È¤¨¤ÐÀè¿ÊŪ¤ÊʬÀϵ¡Ç½¤ò¨ºÂ¤ËÄ󶡤Ǥ¤ë¡£¥¢¥¯¥»¥é¥ì¡¼¥Æ¥Ã¥É¥¯¥¨¥ê¡¼¤Î¤¿¤á¤Î¥Ä¡¼¥ë¡¢¥Þ¥·¥ó¥é¡¼¥Ë¥ó¥°¤Î¤¿¤á¤Î¥é¥¤¥Ö¥é¥ê¡¢¥°¥é¥Õ½èÍý¥¨¥ó¥¸¥ó¤Ë¥¹¥È¥ê¡¼¥ß¥ó¥°Ê¬ÀϤΥ¨¥ó¥¸¥ó¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£¥Þ¥Ã¥×¥ê¥Ç¥å¡¼¥¹¤ò»È¤Ã¤Æ¤³¤ì¤é¤ÎʬÀϤò¼ÂÁõ¤¹¤ë¡Ê¤á¤Ã¤¿¤Ë¤¤¤Ê¤¤¥ì¥Ù¥ë¤Î¥Ç¡¼¥¿¥µ¥¤¥¨¥ó¥Æ¥£¥¹¥È¤Ç¤â¤Û¤ÜÉÔ²Äǽ¤À¤¬¡ËÂå¤ï¤ê¤Ë¡¢Spark¤Ç¤Ï¤è¤êÁ᤯´Êñ¤Ë»È¤¨¤ë¥Ó¥ë¥ÉºÑ¤ß¤Î¥é¥¤¥Ö¥é¥ê¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£
¤³¤Î»ö¤Ë¤è¤ê¡¢¥Ç¡¼¥¿¥µ¥¤¥¨¥ó¥Æ¥£¥¹¥È¤Ï¥Ç¡¼¥¿¤Î½àÈ÷½èÍý¤äÉʼÁ´ÉÍý¤È¤¤¤Ã¤¿»ö¤ÎÀè¤Î¥¿¥¹¥¯¤ò¼ê¤¬¤±¤ë¤³¤È¤¬½ÐÍè¤ë¡£Ê¬ÀÏ·ë²Ì¤Î²ò¼á¤¬Àµ¤·¤¤¤³¤È¤Î¸¡¾Ú¤âSpark¤Ç¤Ê¤é²Äǽ¤À¡£
ñ½ã¤µ
Hadoop¤¬½Ð¤Æ¤¤¿º¢¤Ï¡¢¤½¤ì¼«ÂΤλȤ¤¤Å¤é¤µ¤À¤±¤Ç¤Ê¤¯¤½¤ì¤ò»È¤¨¤ë¿Í¤¬¤Û¤È¤ó¤É¤¤¤Ê¤¤»ö¤âÁä¶Ì¤Ëµó¤²¤é¤ì¤Æ¤¤¤¿¡£¤½¤ì¤«¤é¤è¤ê´Êñ¤Ë¡¢¹âµ¡Ç½¤Ë¤Ê¤Ã¤Æ¤Ï¤¤Æ¤¤¤ë¤¬¡¢ÌäÂê¤Ï²ò·è¤·¤¿¤È¤Ï¤¤¤¨¤ë¾õÂ֤ǤϤʤ¤¡£
Java¤ä¥Þ¥Ã¥×¥ê¥Ç¥å¡¼¥¹¥×¥í¥°¥é¥ß¥ó¥°¥Ñ¥¿¡¼¥ó¤Ê¤ÉÍÍ¡¹¤ÊÊ£»¨¤Ê¤³¤È¤ò¥æ¡¼¥¶¡¼¤ËÍý²ò¤·¤Æ¤â¤é¤¦Âå¤ï¤ê¤Ë¡¢Spark¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥¹¥¯¥ê¥×¥È¡ÊPython¤«Scala¡Ë¤ÎÃ챤¬¤¢¤ì¤Ð»È¤¨¤ë¤è¤¦¤Ë½ÐÍè¤Æ¤¤¤ë¡£
´ë¶È¤Ë¤È¤Ã¤Æ¥Ç¡¼¥¿¤È¥Ä¡¼¥ë¤Î»È¤¤Êý¤òÃΤäƤ¤¤ë¿Í¤òõ¤¹Êý¤¬¤è¤Ã¤Ý¤É´Êñ¤Ê¤³¤È¤Ç¤¢¤ê¡¢¥Ù¥ó¥À¡¼¤Ë¤È¤Ã¤Æ¤âSpark¤ò»È¤¦¤³¤È¤Ç´ë¶È¤Ë¤è¤êÁ᤯¥¤¥Î¥Ù¡¼¥·¥ç¥ó¤òµ¯¤³¤¹¤³¤È¤¬½ÐÍè¤ë¡£
Ê£¿ô¤Î¸À¸ì
SQL¤Ï¥Ç¡¼¥¿Ê¬ÀÏÁ´È̤˻Ȥ¨¤ë¥Ä¡¼¥ë¤Ç¤Ï¤Ê¤¤¡£²òÅú¤Ë¤¤¤¿¤ë¤¿¤á¤Ë¤è¤ê½ÀÆðÀ¤¬µá¤á¤é¤ì¡¢¥Ç¡¼¥¿¤ò¤Þ¤È¤á¤ÆʬÀϥե졼¥à¥ï¡¼¥¯¤ËÅêÆþ¤¹¤ë¤¿¤á¤Î¤è¤ê¿¤¯¤ÎÁªÂò»è¤¬É¬ÍפÀ¡£
Spark¤Ç¤ÏSQL¥ª¥ó¥ê¡¼¤Î¹Í¤¨Êý¤ò¼Î¤Æ¡¢¥Ç¡¼¥¿¤òʬÀϤǤ¢¤ì¤Ê¤ó¤Ç¤¢¤ì¡¢¤è¤êÁ᤯¥¨¥ì¥¬¥ó¥È¤ÊÊýË¡¤ÇÅêÆþ¤Ç¤¤ëÁªÂò»è¤òÄ󶡤·¤Æ¤¤¤ë¡£
½èÍý®ÅÙ
¥Ó¥¸¥Í¥¹¤Î¥Æ¥ó¥Ý¤Ï²Ã®¤·Â³¤±¤ë°Ê¾å¡¢·ë²Ì¤Ë¥ê¥¢¥ë¥¿¥¤¥àÀ¤Ïµá¤á¤é¤ì¤ë¡£
Spark¤Ï¥á¥â¥êÆâ¤ÇÊÂÎó½èÍý¤ò¹Ô¤¤¡¢¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤òɬÍפȤ¹¤ë¤½¤Î¾¤Î¥¢¥×¥í¡¼¥Á¤Î²¿ÇܤâÁ᤯·ë²Ì¤òÊÖ¤·¤Æ¤¯¤ë¡£·ë²Ì¤Î¨»þÀ¤Ë¤è¤ê¥Ó¥¸¥Í¥¹¥×¥í¥»¥¹¤ª¤è¤ÓʬÀϤòÃø¤·¤¯ÃÙ¤¯¤·¤Æ¤¤¤ëÃٱ䤬²ò¾Ã¤µ¤ì¤ë¡£
¥Ù¥ó¥À¡¼¤âSpark¤ò»È¤Ã¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¹½ÃÛ¤·¤À¤·¤Æ¤ª¤ê¡¢¥¢¥Ê¥ê¥¹¥È¤Î¥ï¡¼¥¯¥Õ¥í¡¼¤Ë·àŪ¤Ê²þÁ±¤¬¸«¤é¤ì¤ë¤³¤È¤Ë¤Ê¤ë¤À¤í¤¦¡£²óÅú¤òÆÀ¤ë¤Þ¤Ç¤Î»þ´Ö¤¬Ã»¤¯¤Ê¤ë¤³¤È¤Ç¡¢¥¢¥Ê¥ê¥¹¥È¤¿¤Á¤Ï¤è¤êÀµ³Î¡¢´°Á´¤ÊÅú¤¨¤òÆÀ¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ë¡£
Hadoop¥Ù¥ó¥À¡¼¤Ë°Í¸¤·¤Ê¤¤
¿¤¯¤ÎHadoop¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ç¤ÏSpark¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£¤³¤ì¤Ï¥Ù¥ó¥À¡¼¥Ë¥å¡¼¥È¥é¥ë¤Ê¤â¤Î¤Ç¤¢¤ê¡¢¥æ¡¼¥¶¡¼¤ÏÆÃÄê¤Î¥Ù¥ó¥À¡¼¤ËÇû¤é¤ì¤ë¤³¤È¤Ï̵¤¤¡£
Spark¤Ï¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ç¤¢¤ë¤¿¤á¡¢´ë¶È¤ÏHadoop¤Î¥Ù¥ó¥À¡¼¤ò¾½ê¤ËÂ夨¤¿¤È¤¤Î»ö¤òµ¤¤Ë¤»¤º¤ËSpark¥Ù¡¼¥¹¤ÎʬÀÏ¥¤¥ó¥Õ¥é¤ò¹½ÃۤǤ¤ë¡£
µÞ®¤ÊÉáµÚ
Apache Spark¤Ï¤¤ï¤á¤Æû¤¤´Ö¤ËÀª¤¤¤òÆÀ¤¿¡£2014ǯ¸åȾ¡¢Daytona Gray Sort 100TB¥Ù¥ó¥Á¥Þ¡¼¥¯¤ÇÀ¤³¦µÏ¿¤ò¤È¤Ã¤¿¡£
¥µ¡¼¥Ó¥¹¤Ê¤êÀ½Éʤʤ꤬û¤¤´ü´Ö¤ÇÃíÌܤò½¸¤á¤ì¤Ð¡¢¤¿¤¤¤Æ¤¤¤Î¾ì¹çÈóÆñÃæ½ý¤¬»¦Åþ¤¹¤ë¤³¤È¤¬Â¿¤¤¡£
¤·¤«¤·Typesafe¤Ë¤è¤ëºÇ¶á¤Î¥¢¥ó¥±¡¼¥È¤Ë¤è¤ì¤Ð¡¢Spark¤ÎÃíÌܤϾ徺¤·Â³¤±¤Æ¤¤¤ë¤È¤¤¤¦¡£2100¤òĶ¤¨¤ë³«È¯¼Ôã¤Î²óÅú¤Ë¤è¤ì¤Ð¡¢Èà¤é¤Î¤¦¤Á71%¤ÏSpark¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤ò¿¨¤Ã¤¿·Ð¸³¤¬¤¢¤ë¤È¤¤¤¦¡£º£Æü¤Ç¤ÏÂç¾®500¼Ò¤òĶ¤¨¤ë´ë¶È¤Ë¿»Æ©¤·¤Æ¤ª¤ê¡¢¥×¥í¥¸¥§¥¯¥È¤Ë¤ÏÂçÎ̤γ«È¯¼Ô¤È¥ê¥½¡¼¥¹¤¬ÅêÆþ¤µ¤ì¤Æ¤¤¤ë¡£
Spark¤Ï¤Þ¤À¥Ó¥Ã¥°¥Ç¡¼¥¿Ê¬ÀϤǴðËܤȤʤë¥Æ¥¯¥Î¥í¥¸¡¼¤È¤·¤Æ¡¢¤½¤Î¾ì¤ò¸Ç¤á¤Æ¤Ê¤¤¤¬¡¢Ãå¼Â¤Ë¤½¤ÎÆ»¤òÊâ¤ó¤Ç¤¤¤ë¡£¸À¤¤´¹¤¨¤ì¤Ð¡¢Spark¤Ï¤Þ¤À»Ï¤Þ¤Ã¤¿¤Ð¤«¤ê¤À¡£
¥È¥Ã¥×²èÁüÄ󶡡§Chris Young
Peter Schlampp
[¸¶Ê¸]