ÏëÏóһϣ¬µ±Äã¶Ô´óÊý¾Ý¡¢ApacheSpark³äÂúÁËō֨µÄÐËȤ£¬È´ÓÉÓÚûÓм¯Èº×°±¸ºÍÕæÊµÊý¾Ý¶ø¿àÄÕ¡£±ðµ£ÐÄ£¬½ñÌìÎÒ½ÌÄãÔõÑù¡°Á㱾Ǯ¡±ÇáËÉÈëÃÅ£¬¿ªÆôÄãµÄSparkѧϰ֮Âá£ÊÂʵ£¬Ñ§Ï°ºÍʵ¼ù£¬·×Æç¶¨Òª»¨´óÇ®£¬ÓС°°×æÎ¡±µÄÖǻۣ¬ÄãÒ²¿ÉÒÔ³ÉΪ´óÊý¾ÝȦÀïµÄÄÜÊÖ¡£
ΪʲôҪÓá°°×æÎ¡±Õ½ÂÔ£¿Ôµ¹ÊÔÓɺܼòÆÓ£ºÕæÕæÏàÐΰ²ÅÅÖØ´ó£¬±¾Ç®¸ß£¬ÈëÃÅÃż÷´ó¡£¶ø¡°°×æÎ¡±ÔòÊÇÈÃÄãÓÃ×îµÍ±¾Ç®ÉõÖÁÃâ·Ñ»ñµÃÀíÏëµÄѧϰÇéÐΡ£ÕâÀÎÒÒªÏÈÈݼ¸¸öÊÊÓõļƻ®£¬×ÊÖúÄãÔÚûÓÐÏÖʵӲ¼þºÍÊý¾ÝµÄÇéÐÎÏ£¬ÒÀÈ»¿ÉÒÔÌåÑéºÍÑо¿SparkµÄǿʢ¡£
Ò»¡¢ÓÃÔÆ¶ËÃâ·Ñ×ÊÔ´´î½¨ÐéÄ⼯ȺÐí¶àÔÆÐ§ÀÍÆ½Ì¨¶¼ÌṩÃâ·Ñ²ã¼¶×ÊÔ´£¬ºÃ±ÈAWS¡¢Azure¡¢GoogleCloud¡¢°¢ÀïÔÆ¡¢ÌÚÑ¶ÔÆµÈ¡£ÕâЩÃâ·ÑÌײÍËäÈ»ÓÐÒ»¶¨ÏÞÖÆ£¬µ«×ã¹»ÓÃÀ´´î½¨Ò»¸ö¼òÆÓµÄSpark¼¯Èº£¬¾ÙÐлù±¾µÄ¿ª·¢ºÍ²âÊÔ¡£
Ñ¡ÔñÔÆÆ½Ì¨£ºÆ¾Ö¤Ð¡ÎÒ˽¼Òϰ¹ßºÍµØÇøÓÅÊÆ£¬Ñ¡ÔñÒ»¸öÃâ·Ñ×ÊÔ´¸»ºñµÄƽ̨¡£ÉèÖÃÐéÄâ»ú£ºÔÚÔÆ¶Ë½¨É輸̨ÐéÄâ»ú£¨ºÃ±È1-3̨£©£¬ÉèÖúÃJavaÇéÐκÍSparkÇéÐΡ£ÅþÁ¬ÖÎÀí£ºÓÃSSH»òÔ¶³Ì×ÀÃæÖÎÀíÕâЩÐéÄâ»ú£¬ÊµÏÖ¼¯Èº´î½¨¡£ºÃ±È£¬Óþ籾×Ô¶¯»¯°²ÅÅ¡£¼à¿ØÓëµ÷ÓÅ£ºÊ¹ÓÃÔÆÆ½Ì¨ÌṩµÄÃâ·Ñ¼à¿Ø¹¤¾ß£¬ÕÆÎÕ¼¯ÈºÔËÐÐ״̬¡£
¶þ¡¢ÓÃDockerÄ£ÄâSparkÇéÐÎÈôÊÇÄãϰϰÓÃÍâµØµçÄÔ£¬Ò²¿ÉÒÔÓÃDockerÈÝÆ÷¿ìËÙÄ£ÄâÒ»¸öSpark¼¯Èº¡£
×°ÖÃDocker£ºÈ·±£ÄãµÄ²Ù×÷ϵͳ֧³ÖDocker£¨Windows¡¢macOS¡¢Linux¾ù¿É£©¡£ÀÈ¡¾µÏñ£º´ÓDockerHubÀÈ¡¹Ù·½Spark¾µÏñ£¬Èçbitnami/spark¡£Ò»¼üÆô¶¯£ºÊ¹ÓÃdocker-composeÎļþ½ç˵¶àÈÝÆ÷ÇéÐΣ¬Ä£ÄâMasterºÍWorker½Úµã¡£
Êý¾ÝÄ£Ä⣺ÓÃÈÝÆ÷ÄÚ²¿ÌìÉúÐéÄâÊý¾Ý£¬Ä£ÄâÕæÊµÊý¾Ý³¡¾°¡£ÓÅÊÆ£º¿ìËÙ°²ÅÅ¡¢Ò×ÓÚά»¤¡¢ÇéÐÎÒ»Ö£¬×èÖ¹ÇéÐÎÉèÖ÷±Ëö¡£
Èý¡¢Ê¹ÓÿªÔ´Êý¾Ý¼¯¡°°×æÎ¡±ÕæÊµÊý¾ÝÓµÓÐÕæÊµÊý¾Ý²Å»ª¸üºÃµØÑ§Ï°£¬µ«´ó´ó¶¼ÐÂÊÖȱ·¦Êý¾ÝÔ´¡£ÕâÀï¸øÄãÍÆ¼ö¼¸¸öÃâ·Ñ¡¢ÓÅÖʵÄÊý¾Ý¼¯£¬ÈÃÄãÓá°°×æÎ¡±¾ÍÄÜ»ñµÃ¸»ºñµÄÊý¾Ý×ÊÔ´¡£
Kaggle£ºÊý¾Ý¾ºÈüƽ̨£¬Ìṩ´ó×ÚÃâ·ÑÊý¾Ý¼¯ºÍÌôÕ½¡£UCIMachineLearningRepository£º¾µä»úеѧϰÊý¾Ý¿ÍÕ»£¬º¸ÇÖÖÖÖ³¡¾°¡£¹ú¼Òͳ¼Æ¾Ö/ÐÐÒµÊý¾Ý£ºÕþ¸®Ðû²¼µÄÖÖÖÖͳ¼ÆÊý¾Ý¡£ÍøÂçÅÀÈ¡£ºÊ¹ÓÃÅÀ³æ¹¤¾ß´ÓÍøÒ³×¥È¡Êý¾Ý£¨ËäÈ»Òª×¢ÖØÖ´·¨ºÏ¹æ£©¡£
ÔÚÕÆÎÕ¼¯ÈºÇéÐκó£¬Äã¿ÉÒÔ×Ô¼ºÓþ籾×Ô¶¯ÏÂÔØ¡¢ÕûÀíÊý¾Ý£¬Ä£Äâ´óÊý¾ÝÇéÐÎÖÐÖÖÖÖ³¡¾°¡£
ËÄ¡¢Ê¹ÓÃdzÒ×Webƽ̨ÔÚÏßʵÑéÈôÊÇÄã¶Ô´î½¨ÇéÐÎÈÔÓÐÄÑÌ⣬Ҳ¿ÉÒÔÑ¡ÔñһЩÔÚÏ߯½Ì¨£º
GoogleColab£ºÃâ·ÑÌṩGPUºÍTPU£¬Ö§³ÖSparkµÈ´óÊý¾Ý¹¤¾ßµÄÔËÐУ¨ÐèÒ»¶¨ÉèÖã©¡£Êý¾Ý¿ÆÑ§JupyterNotebookƽ̨£ºÖ§³ÖPython¡¢PySparkµÈ£¬ÃâÈ¥ÍâµØ·±ËöÉèÖá£ÆäËûÔÆ¶ËJupyter£ºÌṩԤװSparkÇéÐεÄNotebookÔÆÆ½Ì¨¡£
ÕâЩƽ̨´ó¶àÃâ·Ñ»òÊÔÓã¬ÊʺÏÈëÃÅѧϰ£¬ËæÊ±ËæµØ±ßѧ±ßʵ¼ù¡£
Îå¡¢×ܽáûÓÐÓ²¼þ¼¯ÈººÍÕæÊµÊý¾Ý£¿Ã»¹ØÏµ£¡Ê¹ÓÃÔÆ¶Ë×ÊÔ´¡¢DockerÄ£ÄâÇéÐΡ¢Ãâ·ÑÊý¾Ý¼¯ºÍÔÚÏ߯½Ì¨£¬ÄãÒÀÈ»¿ÉÒÔ¡°°×æÎ¡±µ½×ã¹»µÄѧϰ×ÊÔ´¡£ÕâЩ·½ÇÏÃż÷µÍ£¬±¾Ç®ÏÕЩΪÁ㣬ÈÃÄãÇáËÉ¿ªÆôSpark´óÊý¾ÝÖ®Âá£Ö»ÒªÏÂÊÖ£¬¸ÒʵÑ飬ѧϰµÄµÚÒ»¿éש¾ÍÄÜÎÈÎÈµØÆöÆðÀ´¡£
ÄãÖ»ÐèÒª¼á³Ö£¬ÕÆÎÕÕâЩ¡°°×æÎ¡±ÊÖÒÕ£¬»áÈÃÄãµÄ´óÊý¾Ýѧϰ·Խ·¢Ë³³©¡£
Ëæ×ÅÄãÖð²½ÊìϤÁËÇéÐδºÍÊý¾ÝÄ£Ä⣬²»µÃ²»ÌᣬÏÖʵ²Ù×÷ÖлáÓöµ½ÖÖÖÖϸ½ÚÎÊÌ⣬ºÃ±È¼¯ÈºÉèÖõÄЧÂÊÓÅ»¯¡¢Êý¾ÝµÄÔ¤´¦Öóͷ£¡¢SparkµÄÐÔÄܵ÷Óŵȵȡ£ÕâÒ»²¿·Ö£¬ÎÒÃǾ۽¹ÓÚÔõÑùÔÚûÓдó¹æÄ£Ó²¼þºÍº£Á¿ÕæÊµÊý¾ÝµÄÇéÐÎÏ£¬½øÒ»²½ÌáÉýÄãµÄÊÖÒÕˮƽ£¬°ÑÄãµÄ¡°°×æÎ¡±ÇéÐαäµÃ¸ü¸ßЧ¡¢¸üרҵ¡£
Ò»¡¢ÓÅ»¯ÄãµÄ¡°°×æÎ¡±¼¯Èº»ù´¡ÉèÖÃÍê³Éºó£¬ÔõÑùÈÃÄãµÄÐéÄâ¡°°×æÎ¡±ÇéÐÎÔËÐиü˳³©£¿
×ÊÔ´µ÷Àí£ººÏÀí·ÖÅÉÐéÄâ»ú»òÈÝÆ÷×ÊÔ´£¬×èÖ¹CPU¡¢ÄÚ´æÆ¿¾±¡£ÍøÂçÉèÖãºÈ·±£¼¯Èº½ÚµãÖ®¼äͨѶ˳³©£¬ïÔÌÑÓ³Ù£¬ÌáÉý¼¯ÈºÐ§ÂÊ¡£×Ô¶¯»¯¾ç±¾£ºÓþ籾ʵÏÖ¿ìËÙ°²ÅÅ¡¢ÖØÆô¡¢ÈÕÖ¾ÕûÀí£¬½ÚԼʱ¼ä¡£°æ±¾ÖÎÀí£º¼á³ÖSpark¼°Ïà¹ØÒÀÀµµÄ°æ±¾Ò»Ö£¬×èÖ¹¼æÈÝÐÔÎÊÌâ¡£
¶þ¡¢Ä£ÄâÖØ´ó³¡¾°£¬Ñ§Ï°Sparkµ÷ÓÅѧϰÔõÑùÓÅ»¯Spark×÷ÒµµÄÔËÐУ¬»áÈÃÄãµÄÊÖÒÕÍ»·ÉÃͽø¡£
Êý¾ÝÇãб£ºÄ£Äâ²î±ðµÄÊý¾ÝÂþÑÜ£¬Ñ§Ï°ÔõÑùµ÷½â·ÖÇøÕ½ÂÔ¡£ÄÚ´æÖÎÀí£ºÃ÷È·SparkµÄÄÚ´æÄ£×Ó£¬ºÏÀíÉèÖÃcacheºÍpersist¡£Ê¹Ãüµ÷Àí£ºÑо¿½Úµãµ÷Àí¡¢×ÊÔ´·ÖÅÉ£¬Ìá¸ß×÷ÒµÖ´ÐÐЧÂÊ¡£¹ÊÕϻָ´£ºÄ£Äâ½Úµã¹ÊÕÏ£¬Ñ§Ï°SparkµÄÈÝ´í»úÖÆ¡£
Äã¿ÉÒÔÔÚDockerÇéÐλòÕßÔÆ¶ËÇéÐÎÖУ¬È˹¤½á¹¹¶àÑùµÄ³¡¾°¾ÙÐÐʵսÑÝÁ·¡£
Èý¡¢Êý¾ÝÄ£ÄâµÄ¸ß¼¶¼¼ÇÉÐéÄâÊý¾ÝËäºÃ£¬µ«ÒªÈÃËü¸üÌù½üÕæÊµ£¬Ë¼Á¿ÕâЩ¼¼ÇÉ£º
¶àÑù»¯£ºÌìÉú½á¹¹¶àÑù¡¢Î¬¶È¸»ºñµÄÐéÄâÊý¾Ý¡£Ò»ÖÂÐÔ£ºÈ·±£Êý¾ÝµÄÂß¼¹ØÏµ£¬Ä£ÄâÕæÊµµÄÓªÒµ³¡¾°¡£Ê±ÐòÐÅÏ¢£º¼ÓÈëʱ¼äά¶È£¬ÈÃÊý¾Ý¾ßÓÐʱ¼ä¶¯Ì¬ÐÔ¡£Êý¾ÝÖÊÁ¿£ºÒýÈëÔëÉù¡¢È±Ê§Öµ£¬ÈÃÄ£×ÓѵÁ·¸üÕæÊµ¡£
ÓÃPython¡¢Spark×Ô´øµÄ¹¤¾ß»¹ÄÜ×Ô¶¯ÌìÉú´ó¹æÄ£Êý¾Ý¼¯£¬¼¸·ÖÖÓÄÚ¡°°×æÎ¡±³ö°ÙÍò¼¶±ðµÄÊý¾Ý¡£
ËÄ¡¢Ñ§Ï°×ÊÁϺÍÉçÇøÏàÖú¡°°×æÎ¡±²»µ«ÊÇÇéÐΣ¬×ÊÔ´¸üÖ÷Òª¡£½¨ÒéÄã¶àʹÓÃÃâ·Ñ¿Î³Ì¡¢¿ªÔ´ÏîÄ¿¡¢ÉçÇøÂÛ̳¡£
Ãâ·ÑÅàѵ£ºCoursera¡¢Udacity¡¢edXµÈƽ̨ÌṩÃâ·ÑµÄ´óÊý¾ÝÏà¹Ø¿Î³Ì¡£GitHubÏîÄ¿£ºÑ§Ï°¿ªÔ´ÏîĿԴ´úÂ룬½è¼ø×î¼Ñʵ¼ù¡£ÂÛ̳ÉçÇø£ºStackOverflow¡¢SparkÓû§×é¡¢CSDNµÈ£¬½â¾öʵ¼ùÖеÄÒÉÎÊ¡£Êé¼®ºÍ²©¿Í£ºÐí¶à´óÊý¾Ýר¼ÒÔÚÍøÉÏ·ÖÏíÉîÈëµÄÊÖÒÕÎÄÕ¡£
ÔÚ½»Á÷ÖУ¬Äã»á·¢Ã÷ÎÊÌâµÄ½â¾ö¼Æ»®²ã³ö²»Ç´ó´ó½ÚÔ¼ÄãµÄѧϰÇúÏß¡£
Îå¡¢Öð²½ÍØÕ¹£¬Ò»Ö±ÉîÍÚÆð²½½×¶Î×öµÄ¡°°×æÎ¡±ÇéÐΣ¬Ö»ÊÇÇÃÃÅש¡£ÕæÕý³ÉΪ´óÊý¾Ýר¼Ò£¬»¹ÐèҪһֱ̽Ë÷¸üÉîÌõÀíµÄÄÚÈÝ¡£
ÉîÈëÃ÷È·Sparkµ×²ã¼Ü¹¹£ºÊ¹Ãüµ÷Àí¡¢Ö´ÐÐÁ÷³Ì¡¢´æ´¢ÖÎÀí¡£Ñ§Ï°Êý¾Ý¿ÍÕ»¡¢Á÷´¦Öóͷ£¡¢MLlibµÈÄ£¿éÓ¦Óá£Ó¦Óõ½ÏÖʵ³¡¾°£ºµçÉÌÆÊÎö¡¢½ðÈÚ·ç¿Ø¡¢ÎïÁªÍøµÈÐÐҵʵ¼ù¡£Íƹ㿪ԴТ˳£º¼ÓÈ뿪ԴÏîÄ¿£¬ÌáÉýÄãµÄÓ°ÏìÁ¦¡£
Ö»Òª¼á³ÖÐËȤºÍÇ¢ÆæÐÄ£¬Ò»Ö±ÓÃÃâ·Ñ×ÊÔ´¡°³äµç¡±£¬ÄãÒ²ÄܳÉΪ´óÊý¾ÝÁìÓòµÄٮٮÕß¡£¼Ç×Å£¬Âõ³öµÚÒ»²½±Èʲô¶¼Ö÷Òª£¬ºÃÇéÐÎÄã¶¼ÄÜ¡°°×æÎ¡±µ½ÊÖ£¬Òªº¦ÔÚÓÚ¸ÒÓÚʵ¼ù¡¢Ò»Á¬Ñ§Ï°¡£Î´À´µÄ´óÊý¾ÝÌìÏ£¬ÊÇÊôÓÚÓÂÓÚʵÑéÕßµÄÎę̀£¬Äã×¼±¸ºÃÁËÂð£¿