SparkÊÖÒÕΪºÎ³ÉΪÓÎÏ·Êý¾Ý´¦Öóͷ£µÄÀûÆ÷
ÔÚ×ÏÌÙׯ԰×îÐÂÐû²¼µÄSparkʵ¼ùÊÓÆµÖУ¬¿ª·¢ÍŶÓÊ×´ÎÅû¶ÁËËûÃÇ´¦Öóͷ£ÈÕ¾ù50TBÓÎÏ·ÈÕÖ¾µÄÊÖÒռܹ¹¡£Spark×÷ΪÄÚ´æÅÌËã¿ò¼Ü£¬Ïà½ÏÓڹŰåHadoop¼¯Èº¿ÉʵÏÖ6-8±¶µÄÐÔÄÜÌáÉý£¬Õâ¹ØÓÚÐèҪʵʱͳ¼ÆÍæ¼ÒÁô´æÂʵÄÓÎÏ·ÆóÒµ¾ßÓÐÒªº¦¼ÛÖµ¡£ÌØÊâÔÚʵʱ·´Íâ¹Ò¼à²â³¡¾°ÖУ¬Spark StreamingµÄ΢Åú´¦Öóͷ£»úÖÆÄܹ»¾«×¼²¶»ñÒì³£²Ù×÷ģʽ¡£
ÆóÒµ¼¶°²ÅŵÄÈý´óÊÖÒÕÍ»ÆÆ
×ÏÌÙׯ԰µÄÊÖÒռܹ¹ÊµÏÖÁËÈý´óÁ¢Ò죺ÊÇ»ìÏý´æ´¢Õ½ÂÔ£¬½«ÈÈÊý¾Ý´æ´¢ÔÚAlluxioÄÚ´æ²ã£¬ÀäÊý¾Ýת´æÖÁHDFS£»ÊǶ¯Ì¬×ÊÔ´µ÷Àíϵͳ£¬ÄÜÆ¾Ö¤ÊµÊ±²¢·¢Á¿×Ô¶¯µ÷½âExecutorÉèÖã»ÊǶ¨ÖÆ»¯µÄSpark SQLÀ©Õ¹£¬Ö§³Ö¶ÔÖØ´óǶÌ×µÄJSONÓÎÏ·ÊÂÎñÊý¾Ý¾ÙÐиßЧÆÊÎö¡£ÕâÖÖÓÅ»¯¼Æ»®Èá¶ÍõÕßÔ¶Õ÷¡·ÊÖÓεÄÈÕ»îÓû§ÆÊÎöËÙÂÊÌáÉý92%¡£
ÓÎÏ·³¡¾°ÏÂÊý¾Ý´¦Öóͷ£È«Á÷³Ì²ð½â
´ÓÓû§µã»÷×°Öðüµ½ÓÎÏ·ÄÚÏûºÄÐÐΪ׷×Ù£¬ÍêÕûµÄÊý¾Ý´¦Öóͷ£Á´ÌõÔõÑùʵÏÖ£¿ÊµÕ½ÊÓÆµÏêϸÑÝʾÁ˰üÀ¨Êý¾Ýϴ媣¨Data Wrangling£©¡¢ÌØÕ÷¹¤³Ì£¨Feature Engineering£©ÔÚÄÚµÄ14¸öÒªº¦°ì·¨¡£ÌØÊâÖµµÃ×¢ÖØµÄÊÇ£¬ÍŶӽÓÄÉDelta Lake¹¹½¨ÁËÖ§³ÖACIDÊÂÎñµÄÊý¾Ýºþ£¬È·±£Õ½¶·»Ø·ÅÈÕÖ¾µÄÍêÕûÐÔУÑé׼ȷÂʵִï99.99%¡£
ÐÔÄܵ÷ÓŵÄÎå¸ö»Æ½ð¹æÔò
ÔõÑù×èÖ¹ShuffleÀú³ÌÖеÄÊý¾ÝÇãбÎÊÌ⣿¿ª·¢×ܼàÔÚÊÓÆµÖзÖÏíÁËËûÃÇÔÚ¡¶Èý¹úÕ½ÂÔ°æ¡·ÏîÄ¿Öеĵ÷ÓÅÂÄÀú£ºÍ¨¹ý×Ô½ç˵PartitionerʵÏÖÍæ¼ÒIDµÄƽºâÂþÑÜ£¬ÓÅ»¯ºóµÄJoin²Ù×÷ºÄʱËõ¼õ78%¡£ÆäËûÊÊÓü¼ÇɰüÀ¨¹ã²¥±äÁ¿µÄÖÇÄÜÓ¦Óá¢CatalystÓÅ»¯Æ÷µÄ²ÎÊýÉèÖã¬ÒÔ¼°JVMÀ¬»ø½ÓÄÉ»úÖÆµÄÉî¶Èµ÷ÓÅ¡£
µä·¶ÓªÒµ³¡¾°µÄʵս´úÂëÆÊÎö
ÊÓÆµÕ¹Ê¾ÁËÈý¸öµä·¶Ó¦ÓãºÊµÊ±ÅÅÐаñÅÌËã¡¢¿ç·þÕ½Êý¾Ý¾ÛºÏ¡¢¸¶ÓöȻ§Á÷ʧԤ¾¯Ä£×Ó¡£ÒÔʵʱÅÅÐаñΪÀý£¬ÏîÄ¿×é½ÓÄÉStructured Streaming¹¹½¨µÄ¹ÜµÀ£¬ÄÜÔÚ500msÄÚÍêÓñ³É·þÍæ¼ÒÕ½Á¦ÅÅÐиüС£Ïà¹Ø´úÂëÆ¬¶ÏÖУ¬ÔËÓÃÁËSpark MLlibµÄ¾ÛÀàËã·¨¾ÙÐÐÍæ¼Ò·ÖȺ£¬²¢Á¬ÏµGraphXÆÊÎöÉç½»¹ØÏµÍøÂç¡£
ÆóÒµ¼¶Çå¾²¼Ü¹¹µÄÉè¼ÆÒªµã
ÔÚ´¦Öóͷ£Ãô¸ÐµÄÖ§¸¶Êý¾Ýʱ£¬×ÏÌÙׯ԰µÄ¼Ü¹¹Ê¦Õ¹Ê¾ÁËËûÃǵĶà²ã¼¶·À»¤ÏµÍ³£ºKerberosÈÏÖ¤°ü¹Ü¼¯ÈºÇå¾²£¬»ùÓÚApache RangerµÄÁм¶È¨ÏÞ¿ØÖÆ£¬ÒÔ¼°Ê¹ÓÃSpark AES¼ÓÃÜËã·¨µÄÊý¾Ý´«Êä±£»¤¡£ÔÚ×îеİ汾ÖУ¬»¹¼¯³ÉÁËÇø¿éÁ´ÊÖÒÕÓÃÓÚÒªº¦²Ù×÷ÈÕÖ¾µÄ´æÖ¤£¬ÕâÏîÁ¢Òì½üÆÚÒÑ»ñµ½ÊÖÒÕרÀûÈÏÖ¤¡£
ͨ¹ýϵÁÐʵ¼ùÊÓÆµµÄÉî¶ÈÆÊÎö£¬ÎÒÃÇÇåÎúµØ¿´µ½SparkÊÖÒÕÔÚÓÎÏ·´óÊý¾ÝÁìÓòµÄǿʢDZÁ¦¡£×ÏÌÙׯ԰µÄ°¸Àý֤ʵ£¬ºÏÀíÔËÓÃÄÚ´æÅÌËã¡¢Á÷´¦Öóͷ£µÈÌØÕ÷£¬ÆóÒµÄܹ»¹¹½¨ÏìÓ¦ËÙÂʸü¿ì¡¢À©Õ¹ÐÔ¸üÇ¿µÄÊý¾Ý´¦Öóͷ£Æ½Ì¨¡£ÕâЩÂÄÀú¶ÔÕýÔÚÊý×Ö»¯×ªÐ͵ÄÓÎÏ·¹«Ë¾¾ßÓÐÖ÷Òª²Î¿¼¼ÛÖµ£¬Ò²Îª¿ª·¢ÕßѧϰÆóÒµ¼¶SparkÓ¦ÓÃÌṩÁ˱ê¸Ë¹æ·¶¡£SparkÊÖÒÕΪºÎ³ÉΪÓÎÏ·Êý¾Ý´¦Öóͷ£µÄÀûÆ÷
ÔÚ×ÏÌÙׯ԰×îÐÂÐû²¼µÄSparkʵ¼ùÊÓÆµÖУ¬¿ª·¢ÍŶÓÊ×´ÎÅû¶ÁËËûÃÇ´¦Öóͷ£ÈÕ¾ù50TBÓÎÏ·ÈÕÖ¾µÄÊÖÒռܹ¹¡£Spark×÷ΪÄÚ´æÅÌËã¿ò¼Ü£¬Ïà½ÏÓڹŰåHadoop¼¯Èº¿ÉʵÏÖ6-8±¶µÄÐÔÄÜÌáÉý£¬Õâ¹ØÓÚÐèҪʵʱͳ¼ÆÍæ¼ÒÁô´æÂʵÄÓÎÏ·ÆóÒµ¾ßÓÐÒªº¦¼ÛÖµ¡£ÌØÊâÔÚʵʱ·´Íâ¹Ò¼à²â³¡¾°ÖУ¬Spark StreamingµÄ΢Åú´¦Öóͷ£»úÖÆÄܹ»¾«×¼²¶»ñÒì³£²Ù×÷ģʽ¡£
ÆóÒµ¼¶°²ÅŵÄÈý´óÊÖÒÕÍ»ÆÆ
×ÏÌÙׯ԰µÄÊÖÒռܹ¹ÊµÏÖÁËÈý´óÁ¢Ò죺ÊÇ»ìÏý´æ´¢Õ½ÂÔ£¬½«ÈÈÊý¾Ý´æ´¢ÔÚAlluxioÄÚ´æ²ã£¬ÀäÊý¾Ýת´æÖÁHDFS£»ÊǶ¯Ì¬×ÊÔ´µ÷Àíϵͳ£¬ÄÜÆ¾Ö¤ÊµÊ±²¢·¢Á¿×Ô¶¯µ÷½âExecutorÉèÖã»ÊǶ¨ÖÆ»¯µÄSpark SQLÀ©Õ¹£¬Ö§³Ö¶ÔÖØ´óǶÌ×µÄJSONÓÎÏ·ÊÂÎñÊý¾Ý¾ÙÐиßЧÆÊÎö¡£ÕâÖÖÓÅ»¯¼Æ»®Èá¶ÍõÕßÔ¶Õ÷¡·ÊÖÓεÄÈÕ»îÓû§ÆÊÎöËÙÂÊÌáÉý92%¡£
ÓÎÏ·³¡¾°ÏÂÊý¾Ý´¦Öóͷ£È«Á÷³Ì²ð½â
´ÓÓû§µã»÷×°Öðüµ½ÓÎÏ·ÄÚÏûºÄÐÐΪ׷×Ù£¬ÍêÕûµÄÊý¾Ý´¦Öóͷ£Á´ÌõÔõÑùʵÏÖ£¿ÊµÕ½ÊÓÆµÏêϸÑÝʾÁ˰üÀ¨Êý¾Ýϴ媣¨Data Wrangling£©¡¢ÌØÕ÷¹¤³Ì£¨Feature Engineering£©ÔÚÄÚµÄ14¸öÒªº¦°ì·¨¡£ÌØÊâÖµµÃ×¢ÖØµÄÊÇ£¬ÍŶӽÓÄÉDelta Lake¹¹½¨ÁËÖ§³ÖACIDÊÂÎñµÄÊý¾Ýºþ£¬È·±£Õ½¶·»Ø·ÅÈÕÖ¾µÄÍêÕûÐÔУÑé׼ȷÂʵִï99.99%¡£
ÐÔÄܵ÷ÓŵÄÎå¸ö»Æ½ð¹æÔò
ÔõÑù×èÖ¹ShuffleÀú³ÌÖеÄÊý¾ÝÇãбÎÊÌ⣿¿ª·¢×ܼàÔÚÊÓÆµÖзÖÏíÁËËûÃÇÔÚ¡¶Èý¹úÕ½ÂÔ°æ¡·ÏîÄ¿Öеĵ÷ÓÅÂÄÀú£ºÍ¨¹ý×Ô½ç˵PartitionerʵÏÖÍæ¼ÒIDµÄƽºâÂþÑÜ£¬ÓÅ»¯ºóµÄJoin²Ù×÷ºÄʱËõ¼õ78%¡£ÆäËûÊÊÓü¼ÇɰüÀ¨¹ã²¥±äÁ¿µÄÖÇÄÜÓ¦Óá¢CatalystÓÅ»¯Æ÷µÄ²ÎÊýÉèÖã¬ÒÔ¼°JVMÀ¬»ø½ÓÄÉ»úÖÆµÄÉî¶Èµ÷ÓÅ¡£
µä·¶ÓªÒµ³¡¾°µÄʵս´úÂëÆÊÎö
ÊÓÆµÕ¹Ê¾ÁËÈý¸öµä·¶Ó¦ÓãºÊµÊ±ÅÅÐаñÅÌËã¡¢¿ç·þÕ½Êý¾Ý¾ÛºÏ¡¢¸¶ÓöȻ§Á÷ʧԤ¾¯Ä£×Ó¡£ÒÔʵʱÅÅÐаñΪÀý£¬ÏîÄ¿×é½ÓÄÉStructured Streaming¹¹½¨µÄ¹ÜµÀ£¬ÄÜÔÚ500msÄÚÍêÓñ³É·þÍæ¼ÒÕ½Á¦ÅÅÐиüС£Ïà¹Ø´úÂëÆ¬¶ÏÖУ¬ÔËÓÃÁËSpark MLlibµÄ¾ÛÀàËã·¨¾ÙÐÐÍæ¼Ò·ÖȺ£¬²¢Á¬ÏµGraphXÆÊÎöÉç½»¹ØÏµÍøÂç¡£
ÆóÒµ¼¶Çå¾²¼Ü¹¹µÄÉè¼ÆÒªµã
ÔÚ´¦Öóͷ£Ãô¸ÐµÄÖ§¸¶Êý¾Ýʱ£¬×ÏÌÙׯ԰µÄ¼Ü¹¹Ê¦Õ¹Ê¾ÁËËûÃǵĶà²ã¼¶·À»¤ÏµÍ³£ºKerberosÈÏÖ¤°ü¹Ü¼¯ÈºÇå¾²£¬»ùÓÚApache RangerµÄÁм¶È¨ÏÞ¿ØÖÆ£¬ÒÔ¼°Ê¹ÓÃSpark AES¼ÓÃÜËã·¨µÄÊý¾Ý´«Êä±£»¤¡£ÔÚ×îеİ汾ÖУ¬»¹¼¯³ÉÁËÇø¿éÁ´ÊÖÒÕÓÃÓÚÒªº¦²Ù×÷ÈÕÖ¾µÄ´æÖ¤£¬ÕâÏîÁ¢Òì½üÆÚÒÑ»ñµ½ÊÖÒÕרÀûÈÏÖ¤¡£
ͨ¹ýϵÁÐʵ¼ùÊÓÆµµÄÉî¶ÈÆÊÎö£¬ÎÒÃÇÇåÎúµØ¿´µ½SparkÊÖÒÕÔÚÓÎÏ·´óÊý¾ÝÁìÓòµÄǿʢDZÁ¦¡£×ÏÌÙׯ԰µÄ°¸Àý֤ʵ£¬ºÏÀíÔËÓÃÄÚ´æÅÌËã¡¢Á÷´¦Öóͷ£µÈÌØÕ÷£¬ÆóÒµÄܹ»¹¹½¨ÏìÓ¦ËÙÂʸü¿ì¡¢À©Õ¹ÐÔ¸üÇ¿µÄÊý¾Ý´¦Öóͷ£Æ½Ì¨¡£ÕâЩÂÄÀú¶ÔÕýÔÚÊý×Ö»¯×ªÐ͵ÄÓÎÏ·¹«Ë¾¾ßÓÐÖ÷Òª²Î¿¼¼ÛÖµ£¬Ò²Îª¿ª·¢ÕßѧϰÆóÒµ¼¶SparkÓ¦ÓÃÌṩÁ˱ê¸Ë¹æ·¶¡£