¸üÐÂʱ¼ä:2020Äê04ÔÂ23ÈÕ15ʱ01·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:
SparkÓÚ2009Äêµ®ÉúÓÚÃÀ¹ú¼ÓÖÝ´óѧ²®¿ËÀû·ÖУµÄAMPʵÑéÊÒ£¬ËüÊÇÒ»¸ö¿ÉÓ¦ÓÃÓÚ´ó¹æÄ£Êý¾Ý´¦ÀíµÄͳһ·ÖÎöÒýÇæ¡£Spark²»½ö¼ÆËãËٶȿ죬¶øÇÒÄÚÖÃÁ˷ḻµÄAPl£¬Ê¹µÃÓû§Äܹ»¸ü¼ÓÈÝÒ׵رàд³ÌÐò¡£ÏÂÃæÎÒÃǾÍÀ´ÁÄÁÄSparkµÄ·¢Õ¹ÀúÊ·¡£
SparkÔÚ2013Äê¼ÓÈëApache·õ»¯Æ÷ÏîÄ¿£¬Ö®ºó·¢Õ¹Ñ¸ÃÍ£¬²¢ÓÚ2014ÄêÕýʽ³ÉΪApacheÈí¼þ»ù½ð»áµÄ¶¥¼¶ÏîÄ¿¡£Spark´Ó×î³õÑз¢µ½×îÖÕ³ÉΪApacheµÄ¶¥¼¶ÏîÄ¿£¬Æä·¢Õ¹µÄÕû¸ö¹ý³Ì½öÓÃÁË5Äêʱ¼äĿǰ¡£
Ŀǰ£¬SparkÉú̬ϵͳÒѾ·¢Õ¹³ÉΪһ¸ö¿ÉÓ¦ÓÃÓÚ´ó¹æÄ£Êý¾Ý´¦ÀíµÄͳһ·ÖÎöÒýÇæ£¬ËüÊÇ»ùÓÚÄÚ´æ¼ÆËãµÄ´óÊý¾Ý²¢ÐмÆËã¿ò¼Ü£¬ÊÊÓÃÓÚ¸÷ÖÖ¸÷ÑùµÄ·Ö²¼Ê½Æ½Ì¨ÏµÍ³¡£ÔÚSparkÉú̬ȦÖаüº¬ÁËSpark SQL¡¢Spark Streaming¡¢GraphX¡¢MLlibµÈ×é¼þ£¬ÕâЩ×é¼þ¿ÉÒԷdz£ÈÝÒ׵ذѸ÷ÖÖ´¦ÀíÁ÷³ÌÕûºÏÔÚÒ»Æð£¬¶øÕâÑùµÄÕûºÏ£¬ÔÚʵ¼ÊÊý¾Ý·ÖÎö¹ý³ÌÖÐÊǺÜÓÐÒâÒåµÄ¡£²»½öÈç´Ë£¬SparkµÄÕâÖÖÌØÐÔ»¹´ó´ó¼õÇáÁËÔÏÈÐèÒª¶Ô¸÷ÖÖÆ½Ì¨·Ö±ð¹ÜÀíµÄÒÀÀµ¸ºµ£¡£ÏÂÃæ£¬Í¨¹ýÒ»ÕÅͼÃèÊöSparkµÄÉú̬ϵͳ£¬¾ßÌåÈçÏÂͼ1Ëùʾ¡£

ͨ¹ýÉÏÃæÍ¼Æ¬¿ÉÒÔ¿´³ö£¬SparkÉú̬ϵͳÖ÷Òª°üº¬Spark Core¡¢Spark SQL¡¢Spark Streaming¡¢MLib¡¢GraphXÒÔ¼°¶ÀÁ¢µ÷¶ÈÆ÷£¬ÏÂÃæ¶ÔÉÏÊö×é¼þ½øÐÐÒ»Ò»½éÉÜ¡£
£¨1£©Spark Core£ºSparkºËÐÄ×é¼þ£¬ËüʵÏÖÁËSparkµÄ»ù±¾¹¦ÄÜ£¬°üº¬ÈÎÎñµ÷¶È¡¢ÄÚ´æ¹ÜÀí¡¢´íÎó»Ö¸´¡¢Óë´æ´¢ÏµÍ³½»»¥µÈÄ£¿é¡£Spark CoreÖл¹°üº¬Á˶Ե¯ÐÔ·Ö²¼Ê½Êý¾Ý¼¯(Resilient Distributed Datasets,RDD)µÄAPI¶¨Ò壬RDDÊÇÖ»¶ÁµÄ·ÖÇø¼Ç¼µÄ¼¯ºÏ£¬Ö»ÄÜ»ùÓÚÔÚÎȶ¨ÎïÀí´æ´¢ÖеÄÊý¾Ý¼¯ºÍÆäËûÒÑÓеÄRDDÉÏÖ´ÐÐÈ·¶¨ÐÔ²Ù×÷À´´´½¨¡£
£¨2£©Spark SQL£ºÓÃÀ´²Ù×÷½á¹¹»¯Êý¾ÝµÄºËÐÄ×é¼þ£¬Í¨¹ýSpark SQL¿ÉÒÔÖ±½Ó²éѯHive¡¢ HBaseµÈ¶àÖÖÍⲿÊý¾ÝÔ´ÖеÄÊý¾Ý¡£Spark SQLµÄÖØÒªÌØµãÊÇÄܹ»Í³Ò»´¦Àí¹ØÏµ±íºÍRDDÔÚ´¦Àí½á¹¹»¯Êý¾Ýʱ£¬¿ª·¢ÈËÔ±ÎÞÐë±àд MapReduce³ÌÐò£¬Ö±½ÓʹÓÃSQLÃüÁî¾ÍÄÜÍê³É¸ü¼Ó¸´ÔÓµÄÊý¾Ý²éѯ²Ù×÷¡£
£¨3£©Spark Streaming£ºSparkÌṩµÄÁ÷ʽ¼ÆËã¿ò¼Ü£¬Ö§³Ö¸ßÍÌÍÂÁ¿¡¢¿ÉÈÝ´í´¦ÀíµÄʵʱÁ÷ʽÊý¾Ý´¦Àí£¬ÆäºËÐÄÔÀíÊǽ«Á÷Êý¾Ý·Ö½â³ÉһϵÁжÌСµÄÅú´¦Àí×÷Òµ£¬Ã¿¸ö¶ÌСµÄÅú´¦Àí×÷Òµ¶¼¿ÉÒÔʹÓà Spark Core½øÐпìËÙ´¦Àí¡£Spark StreamingÖ§³Ö¶àÖÖÊý¾ÝÔ´£¬Èç KafkaÒÔ¼°TCPÌ×½Ó×ֵȡ£
(4)MLlib£ºSparkÌṩµÄ¹ØÓÚ»úÆ÷ѧϰ¹¦ÄܵÄËã·¨³ÌÐò¿â£¬°üÀ¨·ÖÀà¡¢»Ø¹é¡¢¾ÛÀà¡¢Ðͬ¹ýÂËËã·¨µÈ£¬»¹ÌṩÁËÄ£ÐÍÆÀ¹À¡¢Êý¾Ýµ¼ÈëµÈ¶îÍâµÄ¹¦ÄÜ£¬¿ª·¢ÈËÔ±Ö»ÐèÁ˽âÒ»¶¨µÄ»úÆ÷ѧϰË㷨֪ʶ¾ÍÄܽøÐлúÆ÷ѧϰ·½ÃæµÄ¿ª·¢£¬½µµÍÁËѧϰ³É±¾¡£
(5) GraphX: SparkÌṩµÄ·Ö²¼Ê½Í¼´¦Àí¿ò¼Ü£¬ÓµÓÐͼ¼ÆËãºÍͼÍÚ¾òËã·¨µÄAPI½Ó¿ÚÒÔ¼°·á¸»µÄ¹¦ÄܺÍÔËËã·û£¬¼«´óµØ·½±ãÁ˶Էֲ¼Ê½Í¼µÄ´¦ÀíÐèÇó£¬ÄÜÔÚº£Á¿Êý¾ÝÉÏÔËÐи´ÔÓµÄͼËã·¨¡£
(6)¶ÀÁ¢µ÷¶ÈÆ÷¡¢Yarn¡¢ Mesos: Spark¿ò¼Ü¿ÉÒÔ¸ßЧµØÔÚÒ»¸öµ½Êýǧ¸ö½ÚµãÖ®¼äÉìËõ¼ÆË㣬¼¯Èº¹ÜÀíÆ÷ÔòÖ÷Òª¸ºÔð¸÷¸ö½ÚµãµÄ×ÊÔ´¹ÜÀí¹¤×÷£¬ÎªÁËʵÏÖÕâÑùµÄÒªÇó£¬Í¬Ê±»ñµÃ×î´óµÄÁé»îÐÔ£¬ SparkÖ§³ÖÔÚ¸÷ÖÖ¼¯Èº¹ÜÀíÆ÷( Cluster Manager)ÉÏÔËÐУ¬ Hadoop Yarn¡¢Apache MesosÒÔ¼° Spark×Ô´øµÄ¶ÀÁ¢µ÷¶ÈÆ÷¶¼±»³ÆÎª¼¯Èº¹ÜÀíÆ÷¡£
SparkÉú̬ϵͳ¸÷¸ö×é¼þ¹ØÏµÃÜÇУ¬²¢ÇÒ¿ÉÒÔÏ໥µ÷Óã¬ÕâÑùÉè¼Æ¾ßÓÐÒÔÏÂÏÔÖøÓÅÊÆ¡£
(1) SparkÉú̬ϵͳ°üº¬µÄËùÓгÌÐò¿âºÍ¸ß¼¶×é¼þ¶¼¿ÉÒÔ´Ó SparkºËÐÄÒýÇæµÄ¸Ä½øÖлñÒæ¡£
(2)²»ÐèÒªÔËÐжàÌ×¶ÀÁ¢µÄÈí¼þϵͳ£¬Äܹ»´ó´ó¼õÉÙÔËÐÐÕû¸öϵͳµÄ×ÊÔ´´ú¼Û¡£
(3)Äܹ»ÎÞ·ìÕûºÏ¸÷¸öϵͳ£¬¹¹½¨²»Í¬´¦ÀíÄ£Ð͵ÄÓ¦Óá£
×ÛÉÏËùÊö£¬Spak¿ò¼Ü¶Ô´óÊý¾ÝµÄÖ§³Ö´ÓÄÚ´æ¼ÆË㡢ʵʱ´¦Àíµ½½»»¥Ê½²éѯ£¬½ø¶ø·¢Õ¹µ½Í¼¼ÆËãºÍ»úÆ÷ѧϰģ¿é¡£SparkÉú̬ϵͳ¹ã·ºµÄ¼¼ÊõÃæ£¬Ò»·½ÃæÌôÕ½Õ¼¾Ý´óÊý¾ÝÊг¡·Ý¶î×î´óµÄHadoop£¬ÁíÒ»·½ÃæÓÖËæÊ±×¼±¸Ó½ÓºóÆðÖ®ÐãFlink¡¢KafkaµÈ¼ÆËã¿ò¼ÜµÄÌôÕ½£¬´Ó¶øÊ¹SparkÔÚ´óÊý¾ÝÁìÓò¸üºÃµØ·¢Õ¹¡£ÍƼöÁ˽âÀÖÓã²¥¿Í´óÊý¾ÝÅàѵ¿Î³Ì¡£
²ÂÄãϲ»¶£º
»úÆ÷ѧϰÊÇʲô?»úÆ÷ѧϰ·ÖΪ¼¸Àà?
±±¾©Ð£Çø