Ò»¡¢ÊÓÆµÍøÕ¾¼Ü¹¹ÑݽøµÄ±Ø¶¨Ñ¡Ôñ
µ±Óû§ÈÕ¾ùÌìÉúÍòÍò¼¶ÅÄ»÷ÊÓÆµÊ±£¬¹Å°åµ¥Ìå¼Ü¹¹ÃæÁÙÊý¾Ý´¦Öóͷ£Ð§ÂÊÆ¿¾±¡£SparkÂþÑÜʽÅÌËã¿ò¼ÜÒÀ¸½ÄÚ´æÅÌËãºÍDAGÖ´ÐÐÒýÇæÓÅÊÆ£¬¿ÉÌáÉýÊÓÆµÔªÊý¾Ý£¨metadata£©´¦Öóͷ£ËÙÂÊ30±¶ÒÔÉÏ¡£Í¨¹ýµ¯ÐÔÂþÑÜʽÊý¾Ý¼¯£¨RDD£©Áýͳ£¬ÊÓÆµÔ¤´¦Öóͷ£×÷ÒµÄÜÔÚ300½Úµã¼¯ÈºÖÐÍê³ÉºÁÃë¼¶ÏìÓ¦£¬Õâ¶ÔÐèҪʵʱÌìÉú·âÃæµÄÅÄ»÷ÀàÊÓÆµÆ½Ì¨ÖÁ¹ØÖ÷Òª¡£ÕâÖÖÊÖÒÕÊÊÅäÔõÑùƽºâÅÌËã×ÊÔ´·ÖÅÉ£¿ÎÒÃÇͨ¹ý¶¯Ì¬×ÊÔ´·ÖÅÉÕ½ÂÔ£¨DRF£©ÊµÏÖÁËCPUÓëÄÚ´æµÄ×Ô¶¯µ÷Åä¡£
¶þ¡¢ÊµÊ±ÍƼöϵͳµÄÊý¾ÝÁ÷ת¼Ü¹¹
ÅÄ»÷ÊÓÆµÆ½Ì¨Ã¿Ð¡Ê±±¬·¢µÄÓû§ÐÐΪÈÕÖ¾£¨user behavior log£©´ïTB¼¶±ð£¬Spark Streaming×é¼þ¿ÉʵÏÖ·ÖÖÓ¼¶ÌØÕ÷ÅÌËã¡£ÎÒÃǹ¹½¨Á˶à²ãÊý¾Ý´¦Öóͷ£¹ÜµÀ£ºÔʼÈÕÖ¾¾KafkaÐÐÁлº³åºó£¬ÓÉStructured Streaming¾ÙÐд°¿Ú¾ÛºÏ£¬ÅäºÏMLlib¿âʵʱ¸üÐÂÍÆ¼öÄ£×Ó¡£ÌØÊâÊÇÔÚ´¦Öóͷ£ÊÓÆµÁ¬»÷ÐÐΪ£¨combo hit£©Êý¾Ýʱ£¬GraphXÄ£¿é½¨ÉèµÄÓû§¹ØÏµÍ¼Æ×Ê¹ÍÆ¼ö׼ȷÂÊÌáÉý45%¡£ÕâÖּܹ¹ÔõÑù°ü¹ÜÊý¾ÝÒ»ÖÂÐÔ£¿ÎÒÃÇͨ¹ý¼ì²éµã£¨checkpoint£©»úÖÆºÍExactly-OnceÓïÒåʵÏÖÁ˶˵½¶ËµÄÊý¾ÝÍêÕûÐÔ¡£
Èý¡¢ÊÓÆµÄÚÈÝ´¦Öóͷ£µÄ²¢ÐÐÓÅ»¯Êµ¼ù
ÊÓÆµ×ªÂ루transcoding£©×÷ÒµÏûºÄ70%µÄÔÆÅÌË㱾Ǯ£¬Sparkͨ¹ýʹÃü·ÖƬÓÅ»¯ÏÔÖøÌáÉý×ÊԴʹÓÃÂÊ¡£½«4KÊÓÆµÎļþÇиîΪ256MBµÄBlockµ¥Î»ºó£¬Executor½Úµã¿É²¢ÐÐÖ´ÐÐH.265±àÂë¡£½èÖúSpark SQLµÄCatalystÓÅ»¯Æ÷£¬ÊÓÆµ±êÇ©£¨video tagging£©ÅÌÎʺÄʱ´Ó12Ãë½µÖÁ0.8Ãë¡£ÔÚ´æ´¢²ãÃæ£¬Alluxio¹¹½¨µÄÄڴ滺´æ²ãʹÈÈÃÅÊÓÆµµÄIOÍÌÍÂÁ¿ÌáÉý8±¶¡£ÕâÖּƻ®ÊÇ·ñ±£´æÅÌËãÇãбΣº¦£¿ÎÒÃÇ¿ª·¢µÄ¶¯Ì¬ÔÙ·ÖÇøËã·¨¿É×Ô¶¯Æ½ºâ¸÷½ÚµãµÄ´¦Öóͷ£¸ºÔØ¡£
ËÄ¡¢¸ß²¢·¢³¡¾°ÏµÄÎȹÌÐÔ°ü¹Üϵͳ
ÊÓÆµÍøÕ¾·åÖµQPS£¨Ã¿ÃëÅÌÎÊÂÊ£©³£Í»ÆÆ°ÙÍòÁ¿¼¶£¬Sparkµ÷ÀíÆ÷µÄÓÅ»¯ÉèÖóÉΪҪº¦¡£ÎÒÃÇÕë¶ÔÅÄ»÷ÊÓÆµÌØÕ÷µ÷½âÁËFAIRµ÷Àíģʽ£¬È·±£ÊµÊ±´¦Öóͷ£Ê¹ÃüÓÅÏÈ»ñÈ¡×ÊÔ´¡£Í¨¹ýExecutor¶¯Ì¬ÉìËõÕ½ÂÔ£¬¼¯Èº×ÊԴʹÓÃÂÊÎȹÌÔÚ85%¡À5%Çø¼ä¡£µ±ÔâÓöÍ»·¢Á÷Á¿ºé·åʱ£¬Backpressure»úÖÆ¿É×Ô¶¯µ÷ÀíÊý¾Ý´¦Öóͷ£ËÙÂÊ£¬×èÖ¹ÄÚ´æÒç³ö£¨OOM£©¹ÊÕÏ¡£ÕâÑùµÄ¼Ü¹¹ÔõÑùʵÏÖ¼à¿ØÔ¤¾¯£¿ÎÒÃǼ¯³ÉµÄPrometheus+Grafana¼à¿ØÕ»ÄÜʵʱ²¶»ñ300+¸öÔËÐÐÖ¸±ê¡£
Îå¡¢ÖÇÄÜ»¯ÆÊÎöµÄ»úеѧϰ¹ÜµÀ
»ùÓÚSparkµÄÂþÑÜʽѵÁ·¿ò¼Ü£¬ÊÓÆµÄÚÈÝÉóºË£¨content moderation£©Ä£×ÓѵÁ·ÖÜÆÚËõ¶ÌÖÁ4Сʱ¡£Í¨¹ýÌØÕ÷¹¤³Ì£¨feature engineering£©¹¹½¨µÄ108άÊÓÆµÌØÕ÷ÏòÁ¿£¬Á¬ÏµXGBoostË㷨ʵÏÖÁË98.7%µÄÎ¥¹æÄÚÈÝʶ±ð׼ȷÂÊ¡£ÔÚÓû§»Ïñ£¨user profiling£©·½Ã棬GraphFramesÄ£¿é´¦Öóͷ£Ê®ÒÚ¼¶¼«µã¹ØÏµµÄÅÌËãºÄʱ´ÓСʱ¼¶Ñ¹Ëõµ½·ÖÖÓ¼¶¡£ÔõÑùÌáÉýÄ£×Óµü´úЧÂÊ£¿ÎÒÃǹ¹½¨µÄCI/CD¹ÜµÀÖ§³ÖÄ£×Ó°æ±¾µÄÈ«×Ô¶¯»¯¸üа²ÅÅ¡£
´Ó¼Ü¹¹ÓÅ»¯µ½ÖÇÄÜÆÊÎö£¬Spark¿ò¼ÜΪÅÄ»÷ÊÓÆµÍøÕ¾¹¹½¨ÁËÍêÕûµÄÊÖÒÕ½â¾ö¼Æ»®¡£Í¨¹ýµ¯ÐÔÀ©Õ¹µÄÂþÑÜʽÅÌËãÄÜÁ¦£¬ÈÕ¾ù´¦Öóͷ£30PBÊÓÆµÊý¾ÝµÄÔËÓª±¾Ç®½µµÍ62%£¬Óû§Í£Áôʱ³¤ÌáÉý3.2±¶¡£Ëæ×ÅSpark 3.0°æ±¾¶ÔGPU¼ÓËÙµÄÖ§³Ö£¬ÊÓÆµÍøÕ¾µÄAI´¦Öóͷ£ÄÜÁ¦½«ÓÀ´ÐµÄÍ»ÆÆÖÜÆÚ¡£ÊÖÒÕÍŶÓÓ¦Ò»Á¬ÓÅ»¯Êý¾Ý¹ÜµÀ£¬ÔÚÅÌËãЧÂÊÓëÓªÒµ¼ÛÖµ¼äʵÏÖ×î¼Ñƽºâ¡£Æ½Ì¨ÌØÉ«Óë×ÊÔ´ÁýÕÖÆÊÎö
×÷Ϊº£ÄÚÍ·²¿Âþ»Æ½Ì¨£¬BilibiliÂþ»ÒÀ¸½ÆäÆæÒìµÄËã·¨ÍÆ¼öϵͳ£¬¾«×¼Æ¥ÅäÓû§¶Ô"ÅÄ»÷°¤´ò"µÈÌØ¶¨Ìâ²ÄµÄÔĶÁÐèÇ󡣯½Ì¨ÊÕ¼Á˺¸ÇÎäÏÀ¡¢¸ñ¶·¡¢¾º¼¼µÈÀàÐ͵Ä3ÍòÓಿ×÷Æ·£¬ÆäÖаüÀ¨ÉÏǧ²¿°üÀ¨Ï¸ÃÜÐж¯ÐÎòµÄÓÅÖÊÂþ»¡£Ïà½ÏÓڹŰåÂþ»Æ½Ì¨£¬BilibiliÌØÓеĵ¯Ä»»¥¶¯¹¦Ð§ÎªÕâÀàÊÓ¾õ¹¥»÷Á¦Ç¿µÄ×÷Æ·ÔöÌíÁËÉçÇø»¯ÔĶÁÌåÑ飬Óû§¿ÉÒÔÔÚÒªº¦Ðж¯³¡¾°ÊµÊ±½»Á÷¹Û¸Ð¡£
¾«×¼ËÑË÷¼¼ÇÉÓë·ÖÀർº½
ÏëÒª¿ìËÙ¶¨Î»ÐÄÒǵÄÅÄ»÷Àà×÷Æ·£¬ÐèÒªÕÆÎÕÆ½Ì¨µÄ¶àάËÑË÷Õ½ÂÔ¡£ÔÚËÑË÷¿òÊäÈë"Ðж¯Âþ»"»ò"¸ñ¶·Ìâ²Ä"µÈÀ©Õ¹Òªº¦´Êºó£¬½¨ÒéÁ¬Ïµ"×÷Æ·±êÇ©"ºÍ"ÃÅ»§É¸Ñ¡"¹¦Ð§¾ÙÐжþ´Î¹ýÂË¡£Ñ¡Ôñ"ÈÈѪ"+"½üÉíÕ½"±êÇ©×éºÏ£¬¿É¾«×¼»ñÈ¡ÒÔȽŶԿ¹Îª½¹µãÂôµãµÄ×÷Æ·¡£ÖµµÃ¹Ø×¢µÄÊÇÆ½Ì¨ÌØÉèµÄ"ÕÐʽͼ¼ø"רÀ¸£¬ÍêÕûÊÕ¼ÁËÖÖÖÖÎäÊõÃÅ»§µÄÊÓ¾õ»¯ÆÊÎö£¬ÎªÉî¶Èϲ»¶ÕßÌṩרҵÄÚÈÝÖ§³Ö¡£
»áԱϵͳÓëÃâ·ÑÔĶÁ»úÖÆ
¹ØÓÚ¸Õ½Ó´¥ÔÚÏßÂþ»µÄÐÂÓû§£¬BilibiliµÄÃâ·ÑÔĶÁģʽ¼«¾ßÎüÒýÁ¦¡£ÖðÈյǼ¼´¿É»ñÈ¡ÔĶÁȯ£¬ÓÃÓÚ½âËø¸¶·ÑÕ½ڵÄÕ½ÂÔ£¬Ê¹µÃ¶ÁÕßÄÜÁ㱾ǮÌåÑé"°¤´òÃÀѧ"µÄÊÓ¾õ¹¥»÷¡£Æ½Ì¨¶À´´µÄ"¶¯Ì¬·Ö¾µ"ÊÖÒÕ£¬½«Òªº¦»÷¸ÐÐж¯²ð½âΪ¶àÖ¡¶¯Ì¬Õ¹Ê¾£¬ÕâÖÖ·ºÆð·½·¨ÊÇ·ñ±È¾²Ì¬»Ãæ¸ü¾ßѬȾÁ¦£¿ÏÖʵÊý¾ÝÏÔʾ£¬½ÓÄɸÃÊÖÒÕµÄ×÷Æ·Óû§Áô´æÂÊÌáÉý42%£¬ÓÈÆäÊܵ½Ðж¯Âþ»ÃÔµÄÇàíù¡£
ÄÚÈÝ·Ö¼¶ÓëÔĶÁÌåÑéÓÅ»¯
Õë¶Ô²î±ðÄêËê¶ÎµÄÓû§ÈºÌ壬ƽ̨ÉèÖÃÁËÑÏ¿áµÄÄÚÈÝ·Ö¼¶Öƶȡ£°üÀ¨¸ßÇ¿¶È»÷´ò³¡¾°µÄ×÷Æ·»áÌØÊâ±ê×¢"Ðж¯Ïò"ÌáÐÑ£¬²¢Ìṩ»ÃæÄ£ºý»¯´¦Öóͷ£Ñ¡Ïî¡£ÔÚÓû§ÌåÑé²ãÃæ£¬ÔĶÁÆ÷Ö§³Ö×Ô½ç˵·Ö¾µ²¥·ÅËÙÂÊ£¬Óû§¿Éµ÷ÀíÒªº¦´ò¶·³¡¾°µÄÔÄÀÀ½Ú×à¡£ÖµµÃ×¢ÖØµÄÊÇ£¬ÕâÀà×÷Æ·µÄÕ䲨Á¿ÍùÍùÓëÆäÐж¯Éè¼ÆµÄרҵÐÔÕýÏà¹Ø£¬×ÅÃûÎäÊõÖ¸µ¼¼ÓÈëÖÆ×÷µÄ×÷Ʒͨ³£Î»ÁÐÈȰñǰÏß¡£
ÉçÇøÉú̬Óë¶þ´Î´´×÷¼¤Àø
BilibiliÌØÓеÄUGCÉú̬ΪÐж¯Âþ»´´Á¢ÁËÆæÒìµÄÑÜÉúÎÄ»¯¡£Æ½Ì¨Ã¿Ô¾ÙÐеÄ"·Ö¾µÉè¼Æ´óÈü"ÎüÒý´ó×ÚÓû§¼ÓÈ룬ÓÅÒì×÷Æ·¿É»ñµÃÁ÷Á¿°ïÖú²¢·´²¸Ô´´ÄÚÈݿ⡣Êý¾ÝÏÔʾ£¬´øÓÐרҵÎäÊõÖ¸µ¼µÄ¶þ´Î´´×÷ÊÓÆµ£¬Æä²¥·ÅÁ¿ÊÇͨË×ÄÚÈݵÄ3.7±¶¡£ÕâÖÖ´´×÷ÕßÓë¶ÁÕßµÄÉî¶È»¥¶¯£¬ÔõÑùÓ°ÏìÖ÷Á÷Âþ»µÄÄÚÈÝÉú²úÆ«Ïò£¿ÏÖÔÚÒÑÓжà¸öÊÂÇéÊÒÆ¾Ö¤Óû§·´Ïìµ÷½â´ò¶·³¡¾°µÄ·ºÆðÃܶȡ£
ÒÆ¶¯¶ËÊÊÅäÓë¿çƽ̨ͬ²½
ÔÚÒÆ¶¯ÔĶÁʱ´ú£¬BilibiliÂþ»µÄAPP¶ËרÃÅÓÅ»¯ÁËÐж¯³¡¾°µÄÕ¹ÏÖÐÎʽ¡£Õë¶Ô"ÅÄ»÷°¤´ò"Àà×÷Æ·µÄ½¹µãÊÜÖÚ£¬¿ª·¢ÁËÌå¸Ð²Ù¿ØÄ£Ê½¡ª¡ªÓû§¿ÉÒÔͨ¹ýÊÖ»úÍÓÂÝÒÇ¿ØÖÆ·Ö¾µÇл»½Ç¶È¡£ÔÆÍ¬²½¹¦Ð§È·±£Óû§ÔÚPC¶Ë±ê×¢µÄÖØµã´ò¶·Ò³Ã棬¿ÉÎÞ·ìÏνÓÖÁÒÆ¶¯¶Ë¼ÌÐøÔ¢Ä¿¡£²âÊÔÅú×¢£¬ÕâÖÖ¿çÆ½Ì¨ÌåÑéʹ¸ÃÀà×÷Æ·µÄÍê¶ÁÂÊÌáÉý28%£¬ÏÔÖø¸ßÓÚÆäËûÌâ²ÄµÄƽ¾ùˮƽ¡£
ͨ¹ý¶ÔBilibiliÂþ»Æ½Ì¨µÄÉî¶ÈÆÊÎö£¬ÎÒÃÇ·¢Ã÷ÆäÍêÉÆµÄÉú̬ϵͳΪÐж¯Àà×÷Ʒϲ»¶ÕßÌṩÁË´ÓÄÚÈÝ»ñÈ¡µ½»¥¶¯½»Á÷µÄÈ«Á´ÌõЧÀÍ¡£ÎÞÂÛÊÇ×·ÇóרҵÎäÊõչʾµÄÓ²ºË¶ÁÕߣ¬ÕÕ¾Éϲ»¶ÊÓ¾õ¹¥»÷µÄÐÂÓû§£¬¶¼ÄÜÔÚÕâ¸öÃâ·Ñƽ̨ÉÏÕÒµ½ÆõºÏÐèÇóµÄÅÄ»÷°¤´òÌâ²Ä¼Ñ×÷¡£Ëæ×ÅÊÖÒÕǰ½ø´øÀ´µÄÌåÑéÉý¼¶£¬ÕâÀàÈںϹŰåÎÄ»¯ÓëÊý×ÖÒÕÊõµÄ´´×÷ÐÎʽ£¬ÕýÔÚËÜÔìÐÂÒ»´úÄêÇáÈ˵ÄÉóÃÀÒâ¼ûÒâÒå¡£