¡¶Python³ÌÐòÉè¼Æ¡·Ï°ÌâÓë´ð°¸ ÏÂÔØ±¾ÎÄ

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 'Python Sample CGI' print ''

print '

This is a header

' 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±à³Ì˼·¡£ ´ð£ºÂÔ