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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
HBase×î¼Ñʵ¼ù ¨C ScanÓ÷¨´ó¹ÛÔ°
 
  3330  次浏览      27
 2018-1-16  
 
±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚ·¶ÐÀÐÀ ,ÎÄÕÂÖ÷Òª´ÓÔ­Àíʵ¼ù¼°³¡¾°½éÉܵģ¬Í¼ÎÄ˵Ã÷Ïêϸ£¬Ï£Íû¶Ô´ó¼ÒÓаïÖú¡£

HBase´ÓÓ÷¨µÄ½Ç¶ÈÀ´½²Æäʵ·¦³Â¿ÉÉÆ£¬ËùÓиüвåÈëɾ³ý»ù±¾Ò»Á½¸öAPI¾Í¿ÉÒԸ㶨£¬ÒªËµÉÔ΢Óе㸴Ôӵϰ£¬ScanµÄÓ÷¨¿ÉÄÜ»á¶àһЩ˵ͷ¡£¶øÇÒ¾­¹ý±ÊÕ߹۲죬ºÜ¶àÒµÎñ¶ÔScanµÄÓ÷¨¿ÉÄÜ´æÔÚһЩÎóÇø£¨¶ÔÓÚÕâЩÎóÇø£¬±ÊÕßÒ²»áÔÚÏÂÎÄÖ¸³ö£©£¬Òò´ËÓÐÁ˱¾ÆªÎÄÕµÄд×÷¶¯»ú¡£Ò²ËãÊÇScanϵÁÐµÄÆäÖÐһƪ°É£¬ºóÃæ¶ÔÓÚScan»¹»áÓÐһƪ½áºÏHDFS·ÖÎöHBaseÊý¾Ý¶ÁÈ¡ÔÚHDFS²ãÃæÊÇÔõôһ¸öÁ÷³Ì£¬¾´ÇëÆÚ´ý¡£

HBaseÖÐScan´Ó´óµÄ²ãÃæÀ´¿´Ö÷ÒªÓÐÈýÖÖ³£¼ûÓ÷¨£ºScanAPI¡¢TableScanMRÒÔ¼°SnapshotScanMR¡£ÈýÖÖÓ÷¨µÄÔ­Àí²»¾¡Ïàͬ£¬É¨ÃèЧÂÊÒ²µ±È»Ïà²îÉõ¶à£¬×îÖØÒªµÄÊÇÕ⼸ÖÖÓ÷¨ÊÊÓÃÓÚ²»Í¬µÄÓ¦Óó¡¾°£¬ÒµÎñÐèÒª¸ù¾Ý×Ô¼ºµÄʹÓó¡¾°Ñ¡ÔñºÏÊʵÄɨÃ跽ʽ¡£½ÓÏÂÀ´·Ö±ð¶ÔÕâÈýÖÖÓ÷¨´Ó¹¤×÷Ô­Àí¡¢×î¼Ñʵ¼ùÁ½¸ö²ãÃæ½øÐнâÎö£¬×îºóÔÙ×ÝÏò¶ÔÈýÖÖÓ÷¨½øÐÐһ϶Աȣ¬Ï£Íû´ó¼ÒÄܹ»´ÓÓ÷¨²ãÃæ¶ÔScanÓиü¶àÁ˽⡣

ScanAPI

scan¿Í»§¶ËÉè¼ÆÔ­Àí

×î³£¼ûµÄscanÓ÷¨£¬¼û¹Ù·½APIÎĵµ¡£scanµÄÔ­Àí֮ǰÔÚ¶àÆªÎÄÕÂÖж¼ÓÐÌá¼°£¬ÎªÁ˱íÊö·½±ã£¬ÓбØÒªÔڴ˼òµ¥¸ÅÊöÒ»·¬¡£HBaseÖÐscan²¢²»Ïñ´ó¼ÒÏëÏóµÄÒ»ÑùÖ±½Ó·¢ËÍÒ»¸öÃüÁî¹ýÈ¥£¬·þÎñÆ÷¾Í½«Âú×ãɨÃèÌõ¼þµÄËùÓÐÊý¾ÝÒ»´ÎÐÔ·µ»Ø¸ø¿Í»§¶Ë¡£¶øÊµ¼ÊÉÏËüµÄ¹¤×÷Ô­ÀíÈçÏÂͼËùʾ£º

ÉÏͼÓÒ²àÊÇHBase scanµÄ¿Í»§¶Ë´úÂ룬ÆäÖÐforÑ­»·ÖÐÿ´Î±éÀúResultScanner¶ÔÏó»ñȡһÐмǼ£¬Êµ¼ÊÉÏÔÚ¿Í»§¶Ë²ãÃæ¶¼»áµ÷ÓÃÒ»´ÎnextÇëÇó¡£nextÇëÇóÕû¸öÁ÷³Ì¿ÉÒÔ·ÖΪÈçϼ¸¸ö²½Ö裺

nextÇëÇóÊ×ÏÈ»á¼ì²é¿Í»§¶Ë»º´æÖÐÊÇ·ñ´æÔÚ»¹Ã»ÓжÁÈ¡µÄÊý¾ÝÐУ¬Èç¹ûÓоÍÖ±½Ó·µ»Ø£¬·ñÔòÐèÒª½«nextÇëÇó¸øHBase·þÎñÆ÷¶Ë£¨RegionServer£©¡£

Èç¹û¿Í»§¶Ë»º´æÒѾ­Ã»ÓÐɨÃè½á¹û£¬¾Í»á½«nextÇëÇó·¢Ë͸øHBase·þÎñÆ÷¶Ë¡£Ä¬ÈÏÇé¿öÏ£¬Ò»´ÎnextÇëÇó½ö¿ÉÒÔÇëÇó100ÐÐÊý¾Ý£¨»òÕß·µ»Ø½á¹û¼¯×Ü´óС²»³¬¹ý2M£©

·þÎñÆ÷¶Ë½ÓÊÕµ½nextÇëÇóÖ®ºó¾Í¿ªÊ¼´ÓBlockCache¡¢HFileÒÔ¼°memcacheÖÐÒ»ÐÐÒ»ÐнøÐÐɨÃ裬ɨÃèµÄÐÐÊý´ïµ½100ÐÐÖ®ºó¾Í·µ»Ø¸ø¿Í»§¶Ë£¬¿Í»§¶Ë½«Õâ100ÌõÊý¾Ý»º´æµ½ÄÚ´æ²¢·µ»ØÒ»Ìõ¸øÉϲãÒµÎñ¡£

ÉϲãÒµÎñ²»¶ÏÒ»ÌõÒ»Ìõ»ñȡɨÃèÊý¾Ý£¬ÔÚÊý¾ÝÁ¿´óµÄÇé¿öÏÂʵ¼ÊÉÏHBase¿Í»§¶Ë»á²»¶Ï·¢ËÍnextÇëÇóµ½HBase·þÎñÆ÷¡£ÓеÄÅóÓÑ¿ÉÄÜ»áÎÊΪʲôscanÐèÒªÉè¼ÆÎª¶à´ÎnextÇëÇóµÄģʽ£¿¸öÈËÈÏΪÕâÊÇ»ùÓÚ¶à¸ö²ãÃæµÄ¿¼ÂÇ£º

HBase±¾Éí´æ´¢Á˺£Á¿Êý¾Ý£¬ËùÒԺܶೡ¾°ÏÂÒ»´ÎscanÇëÇóµÄÊý¾ÝÁ¿¶¼»á±È½Ï´ó¡£Èç¹û²»ÏÞÖÆÃ¿´ÎÇëÇóµÄÊý¾Ý¼¯´óС£¬ºÜ¿ÉÄܻᵼÖÂϵͳ´ø¿í³Ô½ô´Ó¶øÔì³ÉÕû¸ö¼¯ÈºµÄ²»Îȶ¨¡£

Èç¹û²»ÏÞÖÆÃ¿´ÎÇëÇóµÄÊý¾Ý¼¯´óС£¬ºÜ¶àÇé¿öÏ¿ÉÄÜ»áÔì³É¿Í»§¶Ë»º´æOOMµô¡£

Èç¹û²»ÏÞÖÆÃ¿´ÎÇëÇóµÄÊý¾Ý¼¯´óС£¬ºÜ¿ÉÄÜ·þÎñÆ÷¶ËɨÃè´óÁ¿Êý¾Ý»á»¨·Ñ´óÁ¿Ê±¼ä£¬¿Í»§¶ËºÍ·þÎñÆ÷¶ËµÄÁ¬½Ó¾Í»átimeout¡£

ÕâÑùµÄÉè¼ÆÓÐûÓÐ覴ã¿

next²ßÂÔ¿ÉÒÔ±ÜÃâÔÚ´óÊý¾ÝÁ¿µÄÇé¿öÏ·¢Éú¸÷ÖÖÒì³£Çé¿ö£¬µ«ÕâÑùµÄÉè¼Æ¶ÔÓÚɨÃèЧÂÊËÆºõ²¢²»ÓѺã¬ÕâÀï¾ÙÁ½¸öÀý×Ó£º

scan²¢Ã»Óв¢·¢Ö´ÐС£ÕâÀï¿ÉÄܺܶ࿴¹Ù»áÎÊ£ºÉ¨ÃèÊý¾Ý·Ö²¼ÔÚ²»Í¬µÄregionÄѵÀÒ²²»»á²¢ÐÐÖ´ÐÐɨÃèÂð£¿Êǵģ¬È·Êµ²»»á£¬ÖÁÉÙÔÚÏÖÔڵİ汾ÖÐûÓÐʵÏÖ¡£ÕâµãÒ»¶¨³öºõºÜ¶à¶ÁÕßµÄÒâÁÏ£¬ÎÒÃÇÖªµÀgetµÄÅúÁ¿¶ÁÇëÇó»á½«ËùÓеÄÇëÇó°´ÕÕÄ¿±êregion½øÐзÖ×飬²»Í¬·Ö×éµÄgetÇëÇó»á²¢·¢Ö´ÐжÁÈ¡¡£È»¶øscan²¢Ã»ÓÐÕâÑùʵÏÖ¡£

´ó¼ÒÓÐûÓÐ×¢Òâµ½ÉÏͼÖв½Öè3ºÍ²½Öè4Ö®¼äHBase·þÎñÆ÷¶ËɨÃèÊý¾ÝµÄʱºòHBase¿Í»§¶ËÔÚ¸Éʲô£¿×èÈûµÈ´ýÊǰɡ£È·Êµ£¬ËùÒÔ´Ó¿Í»§¶ËÊÓ½ÇÀ´¿´Õû¸öɨÃèʱ¼ä£½¿Í»§¶Ë´¦ÀíÊý¾Ýʱ¼ä£«·þÎñÆ÷¶ËɨÃèÊý¾Ýʱ¼ä£¬ÕâÄܲ»ÄÜÓÅ»¯£¿

ScanAPIÓ¦Óó¡¾°

¸ù¾ÝÉÏÃæµÄ·ÖÎö£¬scan APIµÄЧÂʺܴó³Ì¶ÈÉÏÈ¡¾öÓÚɨÃèµÄÊý¾ÝÁ¿¡£Í¨³£½¨ÒéOLTPÒµÎñÖÐÉÙÁ¿Êý¾ÝÁ¿É¨ÃèµÄscan¿ÉÒÔʹÓÃscan API£¬´óÁ¿Êý¾ÝµÄɨÃèʹÓÃscan API£¬É¨ÃèÐÔÄÜÓÐʱºò²¢²»Äܹ»µÃµ½ÓÐЧ±£Ö¤¡£

ScanAPI×î¼Ñʵ¼ù

ÅúÁ¿OLAPɨÃèÒµÎñ½¨Ò鲻ҪʹÓÃScanAPI£¬ScanAPIÊÊÓÃÓÚÉÙÁ¿Êý¾ÝɨÃ賡¾°£¨OLTP³¡¾°£©

½¨ÒéËùÓÐscan¾¡¿ÉÄܶ¼ÉèÖÃstartkeyÒÔ¼°stopkey¼õÉÙɨÃ跶Χ

½¨ÒéËùÓнöÐèҪɨÃ貿·ÖÁеÄscan¾¡¿ÉÄÜͨ¹ý½Ó¿ÚsetFamilyMapÉèÖÃÁÐ×åÒÔ¼°ÁÐ

TableScanMR

ScanAPI½öÊÊÓÃÓÚOLTP³¡¾°£¬ÄÇOLAP³¡¾°ÏÂÐèÒª´ÓHBaseÖÐɨÃè´óÁ¿Êý¾Ý½øÐзÖÎöÔõô°ìÄØ£¿ÏÖÔÚÓкܶàÒµÎñÐèÇó¶¼ÐèÒª´ÓHBaseɨÃè´óÁ¿Êý¾Ý½øÐзÖÎö£¬±ÈÈç×î³£¼ûµÄÓû§ÐÐΪ·ÖÎöÒµÎñ£¬Í¨³£ÐèҪɨÃèijЩÓû§×î½üÒ»¶Îʱ¼äµÄÍøÂçÐÐΪÊý¾Ý½øÐзÖÎö¡£

¶ÔÓÚÕâÀàÒµÎñ£¬HBaseĿǰÌṩÁËÁ½ÖÖ»ùÓÚMRɨÃèµÄÓ÷¨£¬·Ö±ðΪTableScanMRÒÔ¼°SnapshotScanMR¡£Ê×ÏÈÀ´½éÉÜTableScanMR£¬¾ßÌåÓ÷¨¿ÉÒԲο¼¹Ù·½Îĵµ¡£TableScanMRµÄ¹¤×÷Ô­ÀíÆäʵºÜ¼òµ¥£¬Ëµ°×Á˾ÍÊÇScanAPIµÄ²¢Ðл¯¡£ÈçÏÂͼËùʾ£º

TableScanMR»á½«scanÇëÇó¸ù¾ÝÄ¿±êregionµÄ·Ö½ç½øÐзֽ⣬·Ö½â³É¶à¸ösub-scan£¬Ã¿¸ösub-scan±¾ÖÊÉϾÍÊÇÒ»¸öScanAPI¡£¼ÙÈçscanÊÇÈ«±íɨÃ裬ÄÇÕâÕűíÓжàÉÙregion£¬¾Í»á½«Õâ¸öscan·Ö½â³É¶à¸ösub-scan£¬Ã¿¸ösub-scanµÄstartkeyºÍstopkey¾ÍÊÇregionµÄstartkeyºÍstopkey¡£

TableScanMR×î¼Ñʵ¼ù

TableScanMRÉè¼ÆÎªOLAP³¡¾°Ê¹Óã¬Òò´ËÔÚÀëÏßɨÃèʱ¾¡¿ÉÄÜʹÓøÃÖз½Ê½

TableScanMRÔ­ÀíÉÏÖ÷ҪʵÏÖÁËScanAPIµÄ²¢Ðл¯£¬½«scan°´ÕÕregion±ß½ç½øÐÐÇз֡£ÕâÖÖ³¡¾°ÏÂÕû¸öscanµÄʱ¼ä»ù±¾µÈÓÚ×î´óregionɨÃèµÄʱ¼ä¡£ÔÚijЩÓÐÊý¾ÝÇãбµÄ³¡¾°Ï¿ÉÄܳöÏÖijһ¸öregionÉÏÓдóÁ¿´ýɨÃèÊý¾Ý£¬¶øÆäËû´óÁ¿regionÉ϶¼½öÓкÜÉٵĴýɨÃèÊý¾Ý¡£ÕâÑù²¢Ðл¯Ð§¹û²¢²»ºÃ¡£Õë¶ÔÕâÖÖÊý¾ÝÇãбµÄ³¡¾°TableScanMR×öÁËÆ½ºâ´¦Àí£¬Ëü»á½«´óregionÉϵÄscanÇзֳɶà¸öСµÄscanʹµÃËùÓзֽâºóµÄscanɨÃèµÄÊý¾ÝÁ¿»ù±¾Ï൱¡£Õâ¸öÓÅ»¯Ä¬ÈÏÊǹرյģ¬ÐèÒªÉèÖòÎÊý¡±hbase.mapreduce.input.autobalance¡±Îªtrue¡£Òò´Ë½¨Òé´ó¼ÒʹÓÃTableScanMRʱ½«¸Ã²ÎÊýÉèÖÃΪtrue¡£

¾¡Á¿½«É¨Ãè±íÖÐÏàÁÚµÄСregionºÏ²¢³É´óregion£¬¶ø½«´óregionÇзֳÉÉÔ΢СµãµÄregion

TableScanMRÖÐScanÐèҪעÒâÈçÏÂÁ½¸ö²ÎÊýÉèÖãº

Scan scan = new Scan();
scan.setCaching(500); // 1 is the default in Scan, which will be bad for MapReduce jobs
scan.setCacheBlocks(false); // don't set to true for MR jobs

SnapshotScanMR

SnapshotScanMRÓëTableScanMRÏàͬ¶¼ÊÇʹÓÃMR²¢Ðл¯¶ÔÊý¾Ý½øÐÐɨÃ裬Á½ÕßÓ÷¨Ò²»ù±¾Ïàͬ£¬Ö±½ÓʹÓÃTableScanMRµÄÓ÷¨£¬ÔÚ´Ë»ù´¡ÉÏ×ö²¿·ÖÐ޸ļ´¿É£¬ÈçÏÂËùʾ£º

µ«Á½ÕßÔÚʵÏÖÉÏÈ´Óжà¸ö·Ç³£´óµÄÇø±ð£º

´ÓÃüÃûÀ´¿´¾ÍÖªµÀ£¬SnapshotScanMRɨÃèÓÚԭʼ±í¶ÔÓ¦µÄsnapshotÖ®ÉÏ£¨¸ü׼ȷÀ´Ëµ¸ù¾Ýsnapshot restore³öÀ´µÄhfile£©£¬¶øTableScanMRɨÃèÓÚԭʼ±í¡£

SnapshotScanMRÖ±½Ó»áÔÚ¿Í»§¶Ë´ò¿ªregionɨÃèHDFSÉϵÄÎļþ£¬²»ÐèÒª·¢ËÍScanÇëÇó¸øRegionServer£¬ÔÙÓÐRegionServerɨÃèHDFSÉϵÄÎļþ¡£Êǵģ¬Äãû¿´´í£¬ÊÇÔÚ¿Í»§¶ËÖ±½ÓɨÃèHDFSÉϵÄÎļþ£¬ÕâÀàscanner³ÆÖ®ÎªClientSideRegionScanner¡£

ÏÂͼÊÇSnapshotScanMRµÄ¹¤×÷Ô­Àíͼ£¨×¢ÒâºÍTableScanMR¹¤×÷Ô­Àíͼ¶Ô±È£©£º

ÕâÊÇÒ»¸öÏà¶Ô¼òµ¥µÄʾÒâͼ£¬ÆäÖÐÊ¡ÂÔÁ˺ܶദÀísnapshotµÄ¹ý³ÌÒÔ¼°ÇзÖscanµÄ¹ý³Ì¡£×ÜÌåÀ´¿´ºÍTableScanMR¹¤×÷Á÷³Ì»ù±¾Ò»Ö£¬×î´óµÄ²»Í¬À´×ÔregionɨÃèHDFSÕâ¸öÄ£¿é£¬TableScanMRÖÐÕâ¸öÄ£¿éÀ´×ÔÓÚregionserver£¬¶øSnapshotScanMRÖпͻ§¶ËÖ±½ÓÈÆ¹ýregionserverÔÚ¿Í»§¶Ë½èÓÃregionÖеÄɨÃè»úÖÆÖ±½ÓɨÃèhdfsÖÐÊý¾Ý¡£

ÓÐЩÅóÓÑ¿ÉÄÜÒªÎÊÁË£¬ÎªÊ²Ã´ÒªÕâÃ´Íæ£¿×ܽáÆðÀ´£¬Ö®ËùÒÔÕâÃ´ÍæÖ÷ÒªÓÐÁ½¸öÔ­Òò£º

¼õС¶ÔRegionServerµÄÓ°Ïì¡£ºÜÏÔÈ»£¬SnapshotScanMRÕâÖÖÈÆ¹ýRegionServerµÄʵÏÖ·½Ê½×î´óÏ޶ȵļõСÁ˶Լ¯ÈºÖÐÆäËûÒµÎñµÄÓ°Ïì¡£

¼«´óµÄÌáÉýÁËɨÃèЧÂÊ¡£SnapshotScanMRÏà±ÈTableScanMRÔÚɨÃèЧÂÊÉÏ»áÓÐ2±¶¡«N±¶µÄÐÔÄÜÌáÉý£¨ÏÂһС½Ú¶Ô¸÷ÖÖɨÃèÓ÷¨ÐÔÄÜ×ö¸ö¶Ô±ÈÆÀ¹À£©¡£ÓÐÈËÓÖÒªÎÊÁË£¬ÎªÊ²Ã´»áÓÐÕâô´óµÄÐÔÄÜÌáÉý£¿¸öÈËÈÏΪÖ÷ÒªÓÐÈçÏÂÁ½¸ö·½ÃæµÄÔ­Òò£º

ɨÃèµÄ¹ý³ÌÉÙÁËÒ»´ÎÍøÂç´«Ê䣬¶ÔÓÚ´óÊý¾ÝÁ¿µÄɨÃè£¬ÍøÂç´«Ê仨·ÑµÄʱ¼äÊǷdz£ÅÓ´óµÄ£¬ÕâÖ÷Òª¿ÉÄÜÇ£³¶µ½Êý¾ÝµÄÐòÁл¯ÒÔ¼°·´ÐòÁл¯¿ªÏú¡£

TableScanMRɨÃèÖÐRegionServerºÜ¿ÉÄÜ»á³ÉΪƿ¾±£¬¶øSnapshotScanMRɨÃ貢ûÓÐÕâ¸öÆ¿¾±µã¡£

ÔÚ×îºó˵һ¸öTableScanMRºÍSnapshotScanMR¶¼´æÔÚµÄÎÊÌ⣬Á½Õßʵ¼ÊÉ϶¼Êǰ´ÕÕregion¶Ôscan½øÐÐÇз֣¬È»¶ø¶ÔÓںܶà´óregion£¨´óÓÚ30g£©£¬µ¥¸öregionµÄɨÃèÁ£¶È»¹ÊÇÌ«´ó¡£ÁíÍ⣬ºÜ¶àscanɨÃè¿ÉÄܲ¢Ã»ÓÐÉæ¼°¶à¸öregion£¬¶øÊǼ¯ÖÐÔÚijһ¸öregionÉÏ£¬¾Ù¸öÀý×Ó£¬É¨Ãèij¸öÓû§×î½üÒ»¸öÔµÄÐÐΪ¼Ç¼£¬Èç¹ûrowkeyÉè¼ÆÎªusername+timestampµÄ»°£¬´ýɨÃèÊý¾Ýͨ³£»á¼¯Öд洢ÔÚÒ»¸öregionÉÏ£¬ÕâÖÖɨÃèÈç¹ûʹÓÃMRµÄ»°£¬ÔÚµ±Ç°µÄ²ßÂÔÏÂÖ»»áÉú³ÉÒ»¸öMapper¡£Òò´ËÓбØÒªÌṩһЩÆäËû²ßÂÔ¿ÉÒÔ½«scan·Ö½âµÄÁ£¶È×öµÄ¸üϸ¡£

»ù±¾ÐÔÄܶԱÈ

Õë¶ÔTableScanMRºÍSnapshotScanMRÁ½ÖÖɨÃ跽ʽ£¬±ÊÕß×ö¹ýÒ»¸ö¼òµ¥²âÊÔ£¬Í¬ÑùɨÃè1ÒÚÌõµ¥ÐÐ1KµÄ¼Ç¼£¨regionÓÐ15¸ö£©£¬SnapshotScanMRËùÐèÒªµÄʱ¼ä»ù±¾ÊÇTableScanMRµÄÒ»°ë¡£Ç°Ð©Ìì±ÊÕ߸պÿ´µ½Ò»¸ö·ÖÏí£¬ÀïÃæÓжÔʹÓÃScanAPI¡¢ClientSideRegionScannerAPI¡¢TableScannMRÒÔ¼°SnapshotScanMR½øÐÐÁËÐÔÄܶԱȣ¬ÈçÏÂͼËùʾ£º

´ÓÉÏͼÖпÉÒÔ¿´³ö£¬Ê¹ÓÃScanAPIµÄÐÔÄÜ×î²î£¬SnapshotScanMRµÄÐÔÄÜ×îºÃ¡£SnapshotScanMRµÄÐÔÄÜÏà±ÈTableScanMR(ScanMR)Ò²ÓÐ3±¶µÄÐÔÄÜÌáÉý¡£È»¶øÔÚʵ¼ÊÓ¦ÓÃÖУ¬ºÍСÃ×committerÕùÉñ֮ǰÁĹý£¬SnapshotScanMRĿǰ¿ÉÄÜ»¹Óкܶ಻ÊǺÜÍêÉÆµÄµØ·½£¬ËûÃÇÒ²ÔÚ²»¶ÏµÄÐÞ¸´£¬ÏàÐÅÔÚÖ®ºóµÄ°æ±¾ÖÐSnapshotScanMR»á¸ü¼Ó³ÉÊì¡£

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

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

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

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ