Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Presto ÔÚÓÐÔÞµÄʵ¼ù֮·
 
×÷Õߣº³ÂçùÊ¿
 
  4098  次浏览      27
2020-6-12  
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁË Presto ÊÇʲô£¿Presto ÔÚÓÐÔÞµÄʹÓó¡¾°£¬Presto ÔÚÓÐÔÞµÄÑݽøÖ®Â·µÈÏà¹ØÄÚÈÝ¡£
±¾ÎÄÀ´×Ôcsdn£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼­¡¢ÍƼö¡£

Ò»¡¢Presto ½éÉÜ

Presto ÊÇÓÉ Facebook ¿ª·¢µÄ¿ªÔ´´óÊý¾Ý·Ö²¼Ê½¸ßÐÔÄÜ SQL ²éѯÒýÇæ¡£Æð³õ£¬Facebook ʹÓà Hive À´½øÐн»»¥Ê½²éѯ·ÖÎö£¬µ« Hive ÊÇ»ùÓÚ MapReduce ΪÅú´¦Àí¶øÉè¼ÆµÄ£¬ÑÓʱºÜ¸ß£¬Âú×ã²»ÁËÓû§¶ÔÓÚ½»»¥Ê½²éѯÏëÒª¿ìËÙ³ö½á¹ûµÄ³¡¾°¡£ÎªÁ˽â¾ö Hive ²¢²»Éó¤µÄ½»»¥Ê½²éѯÁìÓò£¬Facebook ¿ª·¢ÁË Presto£¬×¨ÃÅΪ½»»¥Ê½²éѯËùÉè¼Æ£¬Ìṩ·ÖÖÓ¼¶ÄËÖÁÑÇÃë¼¶µÍÑÓʱµÄ²éѯÐÔÄÜ¡£

1.1 Presto ¼Ü¹¹

1.2 Presto Ö´Ðвéѯ¹ý³Ì

Client ·¢ËÍÇëÇó¸ø Coordinator¡£

SQL ͨ¹ý ANTLR ½øÐнâÎöÉú³É AST¡£

AST ͨ¹ýÔªÊý¾Ý½øÐÐÓïÒå½âÎö¡£

ÓïÒå½âÎöºóµÄÊý¾ÝÉú³ÉÂß¼­Ö´Ðмƻ®£¬²¢ÇÒͨ¹ý¹æÔò½øÐÐÓÅ»¯¡£

ÇзÖÂß¼­Ö´Ðмƻ®Îª²»Í¬ Stage£¬²¢µ÷¶È Worker ½ÚµãÈ¥Éú³É Task¡£

Task Éú³ÉÏàÓ¦ÎïÀíÖ´Ðмƻ®¡£

µ÷¶ÈÍêºó¸ù¾Ýµ÷¶È½á¹û Coordinator ½« Stage ´®ÁªÆðÀ´¡£

Worker Ö´ÐÐÏàÓ¦µÄÎïÀíÖ´Ðмƻ®¡£

Client ²»¶ÏµØÏò Coordinator À­È¡²éѯ½á¹û£¬Coordinator ´Ó×îÖÕ»ã¾ÛÊä³öµÄ Worker ½ÚµãÀ­È¡²éѯ½á¹û¡£

1.3 Presto ΪºÎ¸ßÐÔÄÜ

Pipeline, È«ÄÚ´æ¼ÆËã¡£

SQL ²éѯ¼Æ»®¹æÔòÓÅ»¯¡£

¶¯Ì¬´úÂëÉú³É¼¼Êõ¡£

Êý¾Ýµ÷¶È±¾µØ»¯£¬×¢ÖØÄڴ濪ÏúЧÂÊ£¬ÓÅ»¯Êý¾Ý½á¹¹£¬Cache£¬·Ç¾«È·²éѯµÈÆäËü¼¼Êõ¡£

¶þ¡¢Presto ÔÚÓÐÔÞµÄʹÓó¡¾°

Êý¾Ýƽ̨(DP)µÄÁÙʱ²éѯ: ÓÐÔ޵ĴóÊý¾ÝÍŶÓʹÓÃÁÙʱ²éѯ½øÐÐ̽Ë÷ÐÔµÄÊý¾Ý·ÖÎöµÄͳһÈë¿Ú£¬Í¬Ê±Ò²ÌṩÁËÍÑÃô£¬Éó¼ÆµÈ¹¦ÄÜ¡£

BI ±¨±íÒýÇæ£ºÎªÉ̼ÒÌṩÁ˸÷Àà·ÖÎöÐ͵ı¨±í¡£

ÔªÊý¾ÝÊý¾ÝÖÊÁ¿Ð£ÑéµÈ£ºÔªÊý¾Ýϵͳ»áʹÓà Presto ½øÐÐÊý¾ÝÖÊÁ¿Ð£Ñé¡£

Êý¾Ý²úÆ·£º±ÈÈç CRM Êý¾Ý·ÖÎö£¬ÈËȺ»­ÏñµÈ»áʹÓà Presto ½øÐмÆËã¡£

Èý¡¢Presto ÔÚÓÐÔÞµÄÑݽøÖ®Â·

µÚÒ»½×¶Î: Presto ºÍ Hadoop »ìºÏ²¿Êð½×¶Î:

Æð³õ£¬Presto ÊÇºÍ Hadoop ÀëÏß¼¯Èº»ìºÏÔÚÒ»Æð²¿ÊðµÄ¡£µ«ÊÇÄÇʱºòÓû§¾­³£»á±§Ô¹ Presto Ö´ÐÐÐÔÄܲ»Îȶ¨£¬¶ÔÓÚͬÑùµÄ SQL£¬Ê±¿ìʱÂý¡£ÎÒÃǹ۲쵽ͬÑùµÄ Task£¬´¦ÀíµÄÊý¾ÝÁ¿ºÍ»¨·ÑµÄCPU Time ÀàËÆ£¬µ«ÊÇÓÐʱºò¾Í»á³öÏÖÄ³Ð©ÌØ±ð³¤µÄElapsed TimeµÄTask£¬´Ó¶øÍÏÂýÕûÌåµÄ²éѯÐÔÄÜ¡£¾­·ÖÎö£¬ÊÇÒòΪÔÚÕâ¸öʱ¼äµã´ÅÅÌ IO ´ø¿í±» Hadoop ÀëÏßÈÎÎñ´òÂúµ¼Öµġ£ËäÈ» Hadoop ÀëÏß¼¯ÈºÒ»°ãÈÎÎñ¶¼»áÔÚÁ賿½øÐе÷¶È£¬µ«ÊÇ Ò²ÓÐһЩÈÎÎñ»áÔÚ°×Ìì²»¶¨ÆÚµØÅÜ£¬ÕâÖÖʱºòÍùÍù»á±È½ÏÓ°ÏìÐÔÄÜ¡£ÓÚÊÇÎÒÃǾö¶¨ÍêÈ«¶ÀÁ¢ Presto ¼¯Èº£¬²¢ÇÒµ¥¶À°²×° HDFS »·¾³¡£

µÚ¶þ½×¶Î: Presto ¼¯ÈºÍêÈ«¶ÀÁ¢½×¶Î:

ÎÒÃÇ×¼±¸½« Presto µ¥¶À¹æ»®³öÒ»¸ö¼¯Èº£¬²¢ÇÒµ¥¶À°²×° HDFS »·¾³£¬¶øÀëÏß Hadoop ¼¯ÈºÖ»ÐèÒª½«Êý¾ÝÿÌìµ¼Èëµ½Õâ¸ö HDFS »·¾³ÖУ¬´ËºóÀëÏß Hadoop ¼¯ÈºËùÓеÄÈÎÎñ¶¼²»»áÓ°Ïì Presto ¼¯Èº¡£µÚÒ»¸öÎÊÌâ¾ÍÓöµ½ÁËÎÒÃÇÈçºÎÈ¥½«ÏÖÓÐÀëÏß Hadoop ¼¯ÈºµÄÊý¾Ý±íµ¼È뵽еļ¯Èº¡£Ä¿Ç°ÎÒÃǵķ½°¸Êǹ²Í¬Ê¹ÓÃÒ»¸ö Hive£¬Í¨¹ýΪרÃÅн¨Ò»¸ö¿â£¬ÔÚ´´½¨¿âµÄʱºòÖ¸¶¨LocationµÄ·½Ê½È¥¹ØÁªµ½ Presto ¼¯ÈºµÄ HDFS NameService¡£ºóÃæÓû§ÔÚÕâ¸ö¿âÏÂÃæ½¨±í¾Í»á½« Hive ±í´æ´¢µ½ Presto ¼¯Èº¡£ÕâʱºòÎÒÃÇµÄ Presto ÐÔÄܾͻáÏà¶ÔÎȶ¨µÃ¶à£¬»ù±¾²»ÔÙ»áͬÑùµÄtask´¦Àí²î²»¶àÊý¾ÝÁ¿µÄʱºòÓм¸¸ö Elapsed Time ÌØ±ð¸ßµÄÇé¿öÁË¡£

µÚÈý½×¶Î: µÍÑÓʱҵÎñרÓà Presto ¼¯Èº½×¶Î:

ÔÚµÚ¶þ½×¶ÎÎÒÃǵÄÒµÎñÖ®¼äµÄ×ÊÔ´¸ôÀëÖ÷Òª»¹ÊÇ¿¿ Resource Group£¬µ«ÊÇÕâÖÖ¸ôÀ뷽ʽÏà¶Ô±È½ÏÈõ£¬²»ÄÜÌṩϸÁ£¶ÈµÄ¸ôÀ룬ÈÎÎñÖ®¼ä»¹ÊǻụÏàÓ°Ïì¡£´ËÍ⣬²»Í¬ÒµÎñµÄsqlÀàÐÍ£¬²éѯÊý¾ÝÁ¿£¬²éѯʱ¼ä£¬¿ÉÈÝÈÌµÄ SLA£¬¿ÉÌṩµÄ×îÓÅÅäÖö¼ÊDz»Ò»ÑùµÄ¡£ÓÐЩҵÎñ·½ÐèÒªÒ»¸öÌØ±ðµÍµÄÏìӦʱ¼ä±£Ö¤£¬ÓÚÊÇÎÒÃǸøÕâÀàÒµÎñ²¿ÊðÁËרÃŵļ¯ÈºÈ¥´¦Àí¡£²¿ÊðÔÚÕâ¸ö¼¯ÈºÉϵÄÒµÎñÒªÇóµÍÑÓʱ£¬Í¨³£ÊÇ3ÃëÄÚ£¬ÉõÖÁÓÐЩÄܹ»´ïµ½1ÃëÄÚ£¬¶øÇÒ»áÓÐÒ»¶¨Á¿µÄ²¢·¢¡£²»¹ýÕâÀàÒµÎñͨ³£Êý¾ÝÁ¿²»ÊǷdz£´ó£¬¶øÇÒͨ³£¶¼ÊÇ´ó¿í±í£¬Ò²¾Í²»ÐèÒªÔÙÈ¥ Join ±ðµÄÊý¾Ý£¬Group By ÐÎ³ÉµÄ Group »ùÊýºÍ²úÉúµÄ¾ÛºÏÊý¾ÝÁ¿²»ÊÇÌØ±ð´ó£¬²éѯʱ¼äÖ÷ÒªÏûºÄÔÚÊý¾ÝɨÃè¶Áȡʱ¼äÉÏ¡£ÎÒÃÇͬÑùÒ²ÌṩÁË×ÊÔ´ÍêÈ«¶ÀÁ¢£¬¾ßÓб¾µØ HDFS µÄרÓà Presto ¼¯Èº¸øÕâÀàÒµÎñ·½È¥Ê¹ÓᣴËÍ⣬ÎÒÃÇ»áΪÕâÖÖÒµÎñÌṩÉî¶ÈµÄÐÔÄܲâÊÔ£¬µ÷ÕûÏàÓ¦µÄÅäÖ㬱ÈÈ罫 Task Concurrency ¸Ä³É1£¬ÔÚ²¢·¢Á¿¸ßµÄ²âÊÔ³¡¾°ÖУ¬·´¶øÓÉÓÚ¼õÉÙÁËÏ̼߳äÇл»£¬ÐÔÄÜ»á¸üºÃ¡£

ËÄ¡¢Presto ÔÚÓÐÔÞʹÓÃÖеÄÓöµ½µÄÎÊÌâ

4.1 HDFS СÎļþÎÊÌâ

HDFS СÎļþÎÊÌâÔÚ´óÊý¾ÝÁìÓòÊǸö³£¼ûµÄÎÊÌâ¡£ÎÒÃÇ·¢ÏÖÎÒÃǵÄÊý²Ö Hive ±íÓÐЩ±íµÄÎļþÓм¸Ç§¸ö£¬²éÑ¯ÌØ±ðÂý¡£Presto ÕâÁ½¸ö²ÎÊýÏÞÖÆÁË Presto ÿ¸ö½Úµãÿ¸ö Task ¿ÉÖ´ÐеÄ×î´ó Split ÊýÄ¿¡£

node-scheduler.max-splits-per-node=100
node-scheduler.max-pending-splits-per-task=10

Òò´Ëµ±²éѯÓÐÐí¶àСÎļþµÄ±íµÄʱºò£¬ÎÊÌâ¾Í±¬·¢³öÀ´ÁË£¬²éѯÆðÀ´ÌرðÂý¡£ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬ÎÒÃÇ·ÖÁ½²½×ß:

Êʵ±µ÷´óÁËÕâÁ½¸ö²ÎÊý.

ÔÚ Spark£¬Hive ETL ²ãÃæÒýÈë Adaptive Spark ºÍСÎļþºÏ²¢¹¤¾ßÈ¥½â¾öÕâ¸öСÎļþÎÊÌâ¡£

4.2 ÕýÔò±í´ïʽָÊý¼¶±ð»ØËÝÎÊÌâ

ÓÐÒ»Ì죬ÓиöÓû§Ò»¸öÁÙʱ²éѯÅÜÁË1¸öСʱҲûÍ˳ö£¬Í¨¹ý jstack£¬ÕÒµ½Á˶ÔÓ¦´úÂ룬·¢¾õÊÇÔÚÔËÐÐ Presto ÀïÃæµÄÕýÔò±í´ïʽÒýÇæ Joni ¿âÆ¥ÅäµÄ´úÂ룬ºóÀ´·¢ÏÖËûдµÄÊÇÒ»¸ö»á²úÉúÖ¸Êý¼¶±ð»ØËݵÄÕýÔò±í´ïʽ¡£ÉçÇøµÄ·´À¡ÊÇ¿ÉÒÔ½« Presto µÄÕýÔò±í´ïʽÅäÖÃ³É Google RE2J£¬µ«ÊÇ RE2J »áÎþÉüµôһЩÕýÔò±í´ïʽµÄÓï·¨¡£ºóÀ´ÎÒÃǾ¡¹Ü Presto ÊǸö¶àÏß³ÌÖ´ÐÐÒýÇæ£¬µ«ÊÇ Joni ÒýÇæÔÚÉè¼ÆÉÏ»¹ÊÇ¿ÉÒÔ±» Interrupt µÄ£¬ÓÚÊǼÓÉÏÁ˲éѯ×î´óÔËÐÐʱ¼äµÄÏÞÖÆ£¬²¢ÇÒ֪ͨÁËÏà¹ØµÄÓû§¡£Ïê¼û

(https://github.com/prestodb/presto/issues/12191)

4.3 ¶à¸öÁÐ Distinct µÄÎÊÌâ

ÓÐһЩ±¨±íÒµÎñÊÇʹÓà Presto Ö±½ÓÀ´Ëãת»¯Âʵģ¬ÕâÑùµÄ±¨±í¾Í»áÒýÆðÒ»¸ö²éѯÓï¾äÖÐÓжà¸ö count distinct ÁеÄÎÊÌ⡣Ȼ¶ø²é¿´ÐÔÄܵÄʱºò»á·¢¾õÕâÖÖÓï¾äÌØ±ðÂý£¬ºóÀ´·¢¾õ£¬¾ÍËãÎÒÊÖ¶¯½«Õâ¸ö²éѯÓï¾ä·Ö³É¶à¸öÓï¾ä£¬Ã¿¸öÓï¾äÈ¥Ö´ÐÐÒ»¸ö count distinct ʱ£¬Ò²±ÈºÏÆðÀ´Òª¿ì¡£ÓÚÊÇÉîÈëµ÷ÑÐÁËÏ£¬Spark£¬Hive TEZ£¬Calcite Ö®ÀàµÄ·¢¾õ count distinct ÔÚ SQL ÓÅ»¯Æ÷ÄDZ߻ᱻÓÅ»¯µô£¬À´½â¾öÊý¾ÝÇãбµÄÎÊÌâ¡£

¼òµ¥À´Ëµ: µ¥ÁÐµÄ count distinct:

select A, count(distinct B) from T group by A.

ת»»³É

select A, count(B) from (select A, B from T group by A, B) group by A

¶ø¶à¸ö count distinct ÁеÄÔ­ÀíÀàËÆ£¬¾ÍÊÇ»áʹÓà grouping sets È¥½«¶à¸ö group by ÕûºÏµ½Ò»ÆðÀ´ÌáÉý

SELECT a1, a2,..., an, F1(b1), F2(b2), F3(b3), ...., Fm(bm), F1(distinct c1), ...., Fm(distinct cm) FROM Table GROUP BY a1, a2, ..., an

ת»»Îª

SELECT a1, a2,..., an, arbitrary (if(group = 0, f1)),...., arbitrary (if(group = 0, fm)), F(if(group = 1, c1)), ...., F(if(group = m, cm)) FROM
SELECT a1, a2,..., an, F1(b1) as f1, F2(b2) as f2,...., Fm(bm) as fm, c1,..., cm group FROM
SELECT a1, a2,..., an, b1, b2, ... ,bn, c1,..., cm FROM Table GROUP BY GROUPING SETS ((a1, a2,..., an, b1, b2, ... ,bn), (a1, a2,..., an, c1), ..., ((a1, a2,..., an, cm)))
GROUP BY a1, a2,..., an, c1,..., cm group
GROUP BY a1, a2,..., an

Presto ¶ÔÓÚ¶à¸ö count distinct ÁÐÕâ·½Ãæ²¢Ã»ÓÐȥʵÏÖ¡£

Õâ±ßÎÒÃÇĿǰ²ÉÓõķ½°¸ÊÇ:

Ð޸ĴúÂëȥʵÏÖ£¬²¢ÇÒÌá½»ÁË Issue ºÍ PR ¸øÉçÇø£¬Ò»¸ö±» merge ÁË£¬»¹ÓÐÒ»¸ö»¹ÔÚ review ÖУ¬ºóÐø»¹»á¼ÌÐø¸ú½ø¡£

Issue: [Optimize distinct aggregation on multi column

PR1: Fix Count(*) on empty relation returns NULL when optimizemixeddistinct_aggregation is turned on Merged

PR2: [Optimize distinct aggregation on multiple columns Reviewing

ÈÃÒµÎñ·½¿ÉÒÔÈÝÈ̷Ǿ«È·È¥ÖصÄÑ¡Óà approxmate_distinct ȥʵÏÖ¡£

4.4 HDFS Namenode µ¼ÖÂÓÐÉÙÊý²éѯ»áÏà¶ÔÂýÒ»µã

ÔÚÎÒÃǸøÓû§×öרÓÃpresto¼¯Èº¶ÀÁ¢µÄÐÔÄܲâÊÔʱ£¬ÎÒÃÇ·¢ÏÖͬÑùµÄSQL»áÓкÜÉÙÊý²éѯÂýÒ»µã£¬ºóÀ´Ñо¿ÁËÏ·¢ÏÖ Presto Coordinator ȥͨ¹ý

public RemoteIterator< LocatedFileStatus> listLocatedStatus(final Path f)

µ÷ÓÃÇëÇó HDFS NameNode µÄʱºò£¬ÓÐʱºò»áÑÓ³Ù1Ãëºó·µ»Ø¡£ºóÀ´·¢¾õÕâ¸öʱºòÕýºÃÊÇ NameNode ÔÚ×ö Edit Log Rolling µÄʱºò£¬ÓÉÓÚÕâ¸öʱºò NameNode »áÈ¥ÄöÁÐ´ËøµÄÐ´Ëø£¬´Ó¶ø×èÈûÁ˶ÁÇëÇó»ñµÃ¶ÁËø£¬Òò´ËÓÐʱºòÑÓ³Ù1Ãëºó·µ»Ø¡£

Õâ¸öÎÊÌâĿǰÓÉÓÚ»ù±¾¿ÉÈÝÈÌ£¬ÏÖ½×¶ÎÒ²Âú×ãÁËÒµÎñ·½µÄ SLA£¬ËùÒÔºóÃæÃ»ÓÐÈ¥½â¾ö: ÎÒ¸öÈ˾õµÃ£¬HDFS ²¢²»ÊÇΪÁËÔÚÏß·þÎñÉè¼ÆµÄ£¬ÒªÌá¸ß HDFS RPC ÇëÇóµÄÎȶ¨ÐÔ£¬ÓÐÒÔϼ¸ÖÖ·½Ê½:

²Î¿¼[ Uber ÒýÈëÁË Observer NameNode ]¡£

ʹÓà Alluxio£¬ÎÒÃǼòµ¥²âÊÔÁËÏ Alluxio£¬Alluxio Master ºÃÏñ²»»á³öÏÖÕâÖÖÎÊÌ⣬ÔÚºóÃæ¶ÔδÀ´µÄÕ¹ÍûС½ÚÖУ¬ÎÒÃÇÌáµ½ÁË Alluxio + Presto µÄÒâÒå¡£

³¢ÊÔ¸ü»» NameNode µÄÅÌΪ SSD ÅÌ£¬¼õÉÙ Edit Log Rolling µÄʱ¼ä¡£

Îå¡¢¶ÔδÀ´µÄÕ¹Íû

5.1 Presto + Alluxio

Alluxio ͨ¹ýÄܹ»Ï¸Á£¶ÈµÄÈ¥¿ØÖÆÄڴ棬»á±È´¿´âµÄ¿¿ OS Page Cache È¥¿ØÖÆÒ³¼¶±ð»º´æ¸ü¾ßÓÐÓÅÊÆ¡£Äã¿ÉÒÔ½«Ò»¸ö±í¼ÓÔØµ½ Alluxio ÀïÃæ£¬È»ºóÿ´Î¶ÔËüµÄ·ÃÎÊ IO Õâ¿é»¨·ÑµÄʱ¼ä»ù±¾¿ÉÒÔ˵ÊÇ¿ìËÙÇҺ㶨µÄ¡£µ±È»£¬ÎÒÃÇÒ²ÐèÒªÀíÐÔ¿´´ý Alluxio£¬´ÓÔ­Àí±¾ÖÊÉÏÀ´½²£¬¾Í Presto ¶ÁÈ¡Êý¾ÝÕâ¿é£¬Õâ¸öÒªÊÓÇé¿ö¶øÂÛ. ÎÒÃDzâÊÔ¹ý Presto ÌṩµÄ HiveFileFormatBenchmark£¬´ó¼ÒÒ²¿ÉÒÔ×Ô¼ºÅÜһϣ¬½áÂÛ¾ÍÊǵ¥¸ö CPU ºË¶ÁÈ¡ TPCH µÄÒ»¸ö Lineitem ±í£¬ORC ZLIB ѹËõ·½Ê½´ó¸ÅÊÇÔÚ40MB/s, µ±È»²»Í¬Êý¾Ý¸ñʽ£¬²»Í¬Ñ¹Ëõ±È»áÓÐËù²»Í¬¡£Òò´Ë£¬ÏÖ´ú´ÅÅÌ˳Ðò¶ÁдµÄËÙ¶È¿ÉÒÔ´ïµ½150MB/s£¬Èç¹û¾ÍÒ»¸öÈÎÎñÊDz»»áÓÐÆ¿¾±µÄ¡£Õâʱºò CPU ÊÇÆ¿¾±£¬ µ«ÊÇÏÖʵÊÇÒ»¸ö²éѯ¶à¸öÈÎÎñÅÜ£¬¶à¸ö²éѯ²¢ÐÐÅÜ£¬ÄãÕâ¸öʱºò¾ÍºÜÄѱ£Ö¤´ÅÅÌ˳Ðò¶Áд£¬ÍÌÍ£¬ÒÔ¼°ÊÇ·ñÔÚ OS Page Cache ÖУ¬Õâ¸öʱºò¾ÍºÜÓпÉÄÜ´ÅÅÌ IO ÊÇÆ¿¾±ÁË¡£Òò´Ë Alluxio »¹ÊÇÓÐÓÃÎäÖ®µØµÄ£¬ÖÁÉÙ¿ÉÒÔ°Ñ´ÅÅÌ IO Õâ¸ö²»¿É¿ØÒòËØ¸øºã¶¨ÏÂÀ´¡£

5.2 Presto session property managers

а汾µÄ Presto ʵÏÖÁË Session property manager ¶ÔÓÚ²»Í¬µÄ WorkLoad£¬²»Í¬µÄÒµÎñ SQL ÀàÐÍ£¬Êý¾ÝÁ¿£¬Í¨¹ý²»Í¬µÄÅäÖÃÄܹ»´ïµ½×îºÃµÄЧ¹û¡£Õâ¸ö¿¿Óû§×Ô¼ºÈ¥ÉèÖà Session Property ÊDz»Ì«ÏÖʵµÄ£¬±ØÐëÔÚ Presto ·þÎñ¶Ë½øÐйÜÀí¡£

5.3 Presto¶à×â»§¸ôÀë

Ŀǰ Presto ¹Ù·½²¢Ã»ÓÐʵÏÖºÍ Apache Ranger ½áºÏµÄ¶à×â»§¸ôÀë»úÖÆ£¬ÎÒÃÇĿǰÓÐÒ»¸ö Sql Parser·þÎñ£¬È¥½âÎö Presto£¬Hive£¬Spark ÈýÖÖÒýÇæµÄÓï·¨£¬È¥×öÍÑÃô£¬É󼯣¬ÖÇÄÜÑ¡ÔñµÈ¹¦ÄÜ£¬ºóÃæ»áÈ¥×ö½áºÏ Apache Ranger ͨ¹ý sql ÖØÐ´À´ÊµÏÖÊý¾Ý¸ôÀ룬ÀàËÆÓÚÏÖÔÚµÄÍÑÃôʵÏÖ¡£

 

 
   
4098 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
´óÊý¾Ýƽ̨ϵÄÊý¾ÝÖÎÀí
ÈçºÎÉè¼ÆÊµÊ±Êý¾Ýƽ̨£¨¼¼Êõƪ£©
´óÊý¾Ý×ʲú¹ÜÀí×ÜÌå¿ò¼Ü¸ÅÊö
Kafka¼Ü¹¹ºÍÔ­Àí
ELK¶àÖּܹ¹¼°ÓÅÁÓ
×îпγÌ
´óÊý¾Ýƽ̨´î½¨Óë¸ßÐÔÄܼÆËã
´óÊý¾Ýƽ̨¼Ü¹¹ÓëÓ¦ÓÃʵս
´óÊý¾ÝϵͳÔËά
´óÊý¾Ý·ÖÎöÓë¹ÜÀí
Python¼°Êý¾Ý·ÖÎö
³É¹¦°¸Àý
ijͨÐÅÉ豸ÆóÒµ PythonÊý¾Ý·ÖÎöÓëÍÚ¾ò
Ä³ÒøÐÐ È˹¤ÖÇÄÜ+Python+´óÊý¾Ý
±±¾© Python¼°Êý¾Ý·ÖÎö
ÉñÁúÆû³µ ´óÊý¾Ý¼¼Êõƽ̨-Hadoop
ÖйúµçÐÅ ´óÊý¾Ýʱ´úÓëÏÖ´úÆóÒµµÄÊý¾Ý»¯ÔËӪʵ¼ù