import socket
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 0Ö÷»úµÄIPµØÖ· s.close( )
10.3 ¼òµ¥½éÉÜsocketÄ£¿éÖÐÓÃÓÚTCP±à³ÌµÄ³£Ó÷½·¨¡£
TCPÒ»°ãÓÃÓÚÒªÇó¿É¿¿Êý¾Ý´«ÊäµÄ³¡ºÏ¡£±àдTCP³ÌÐòʱ¾³£ÐèÒªÓõ½µÄsocketÄ£¿é·½·¨Ö÷ÒªÓУº
? connect(address)£ºÁ¬½ÓÔ¶³Ì¼ÆËã»ú ? send(bytes[,flags])£º·¢ËÍÊý¾Ý ? recv(bufsize[,flags])£º½ÓÊÕÊý¾Ý ? bind(address)£º°ó¶¨µØÖ·
? listen(backlog)£º¿ªÊ¼¼àÌý£¬µÈ´ý¿Í»§¶ËÁ¬½Ó ? accept()£ºÏìÓ¦¿Í»§¶ËµÄÇëÇó
10.4 ±àд´úÂë¶ÁÈ¡ËѺüÍøÒ³Ê×Ò³ÄÚÈÝ¡£ ´ð£º
>>> import urllib.request >>> dir(urllib.request)
')
>>> dir(fp)
>>> print(fp.read(100)) >>> fp.close()
10.5 ÔÚ×Ô¼ºµÄ»úÆ÷ÉÏÅäÖÃIISÒÔÖ§³ÖPython½Å±¾µÄÔËÐУ¬È»ºóʹÓÃPython±àд½Å±¾£¬ÔËÐкóÔÚÍøÒ³ÉÏÏÔʾ¡°Hello world!¡±¡£
´ð£ººËÐÄ´úÂëΪ print
print 'Status: 200 OK'
print 'Content-type: text/html' print
print '
print '
Hello world!' print '
' print ''
µÚ11Õ ´óÊý¾Ý´¦Àí
11.1 ¼òµ¥½éÉܳ£¼ûµÄ´óÊý¾Ý´¦Àí¿ò¼Ü¡£ ´ð£ºÖ÷ÒªÓÐÈýÖÖ£¬
? MapReduce£º·Ö²¼Ê½¼ÆËã¿ò¼Ü£¬¿ÉÒÔ½«µ¥¸ö´óÐͼÆËã×÷Òµ·ÖÅ䏸¶ą̀¼ÆËã»úÖ´ÐУ¬
¿ÉÒÔÔÚ¶Ìʱ¼äÄÚÍê³É´óÁ¿¹¤×÷£¬ÓÈÆäÊʺÏÊýÖµÐÍºÍ±ê³ÆÐÍÊý¾Ý£¬µ«ÐèÒª¶ÔÐÐÒµÁìÓò¾ßÓÐÒ»¶¨Àí½âºóÖØÐ´Ëã·¨À´Íê³ÉÌØ¶¨µÄÒµÎñ´¦ÀíÒªÇó¡£MapReduceµÄÃû×ÖÓɺ¯Êýʽ±à³ÌÖг£ÓõÄmapºÍreduceÁ½¸öµ¥´Ê×é³É¡£MapReduceÔÚ´óÁ¿½Úµã×é³ÉµÄ¼¯ÈºÉÏÔËÐУ¬¹¤×÷Á÷³ÌÊÇ£ºµ¥¸ö×÷Òµ±»·Ö³ÉºÜ¶àС·Ý£¬ÊäÈëÊý¾ÝÒ²±»ÇÐÆ¬²¢·Ö·¢µ½Ã¿¸ö½Úµã£¬Ã¿¸ö½ÚµãÖ»ÔÚ±¾µØÊý¾ÝÉÏ×öÔËË㣬¶ÔÓ¦µÄÔËËã´úÂë³ÆÎªmapper£¬Õâ¸ö¹ý³Ì¼´map½×¶Î£»Ã¿¸ömapperµÄÊä³öͨ¹ýijÖÖ·½Ê½×éºÏ£¬¸ù¾ÝÐèÒª¿ÉÄÜÔÙ½øÐÐÖØÐÂÅÅÐò£¬ÅÅÐòºóµÄ½á¹ûÔÙ±»ÇзֳÉС·Ý²¢·Ö·¢µ½¸÷¸ö½Úµã½øÐÐÏÂÒ»²½´¦Àí£¬Õâ¸ö¹ý³Ì±»³ÆÎªreduce½×¶Î£¬¶ÔÓ¦µÄ´úÂë³ÆÎªreducer¡£²»Í¬ÀàÐ͵Ä×÷Òµ¿ÉÄÜÐèÒª²»Í¬ÊýÁ¿µÄreducer£¬²¢ÇÒ£¬ÔÚÈκÎʱºò£¬Ã¿¸ömapper»òreducerÖ®¼ä¶¼²»½øÐÐͨÐÅ£¬Ã¿¸ö½ÚµãÖ»¸ºÔð´¦Àí×Ô¼ºµÄÊÂÎñ£¬²¢ÇÒÖ»ÔÚ·ÖÅäµ½±¾µØµÄÊý¾Ý¼¯ÉϽøÐÐÔËËã¡£
? Hadoop£ºHadoopÊÇMapReduce¿ò¼ÜµÄÒ»¸öÃâ·Ñ¿ªÔ´ÊµÏÖ£¬²ÉÓÃJavaÓïÑÔ±àд£¬Ö§
³ÖÔÚ´óÁ¿»úÆ÷ÉÏ·Ö²¼Ê½´¦ÀíÊý¾Ý¡£³ýÁË·Ö²¼Ê½¼ÆËãÖ®Í⣬Hadoop»¹×Ô´ø·Ö²¼Ê½Îļþϵͳ£¬¿ÉÒÔÔÚÉÏÃæÔËÐжàÖÖ²»Í¬ÓïÑÔ±àдµÄ·Ö²¼Ê½³ÌÐò¡£HadoopÔÚ¿ÉÉìËõÐÔ¡¢½¡×³ÐÔ¡¢¼ÆËãÐÔÄܺͳɱ¾ÉϾßÓÐÎÞ¿ÉÌæ´úµÄÓÅÊÆ£¬ÊÂʵÉÏÒѳÉΪµ±Ç°»¥ÁªÍøÆóÒµÖ÷Á÷µÄ´óÊý¾Ý·ÖÎöƽ̨¡£
? Spark£ºSparkÊÇÒ»¸öÕë¶Ô³¬´óÊý¾Ý¼¯ºÏµÄµÍÑÓ³Ù¼¯Èº·Ö²¼Ê½¼ÆËãϵͳ£¬±È
MapReduce¿ì40±¶×óÓÒ¡£SparkÊÇHadoopµÄÉý¼¶°æ±¾£¬¼æÈÝHadoopµÄAPI£¬Äܹ»¶ÁдHadoopµÄHDFS HBASE ˳ÐòÎļþµÈ£¬ÓëÖ®²»Í¬µÄÊǽ«½á¹û±£´æÔÚÄÚ´æÖС£ Hadoop×÷Ϊ
µÚÒ»´ú²úƷʹÓÃÁËHDFS£¬µÚ¶þ´ú¼ÓÈëÁËCacheÀ´±£´æÖÐ¼ä¼ÆËã½á¹û£¬µÚÈý´úÔòÊÇSpark³«µ¼µÄÁ÷¼¼ÊõStreaming¡£
11.2 ÔËÐб¾ÕÂÖдúÂë²¢Àí½âMapReduce±à³Ì˼·¡£ ´ð£ºÂÔ