今天是8月1日,下半年的計劃開始的第一天憨颠。
為解決的問題:
passwd 修改用戶密碼出現(xiàn)錯誤勿锅,這個很奇怪接剩,在root用戶下都修改出錯撬陵。需要找到passwd 修改密碼出錯的原因珊皿,網(wǎng)上的那種磁盤空間滿了或則權(quán)限的問題,跟我這個問題不同袱结,而且都檢查了不是這兩個問題造成的亮隙,passwd -d 把密碼刪除之后,還是不能修改垢夹。這個問題,明天在google一下维费,看看有什么奇怪的地方?jīng)]有注意到
搭建 hadoop 環(huán)境果元。
為解決大數(shù)據(jù)量的計算問題,首先單擊無法存儲犀盟,單擊運算很慢而晒,使用 hadoop 能夠進(jìn)行分布式存儲,即HDFS阅畴,HDFS 能夠?qū)?shù)據(jù)分散存儲到不同主機(jī)上倡怎,但是對于用戶感知而言,就像在一個文件系統(tǒng)中使用一樣贱枣,hadoop 能夠幫助用戶對數(shù)據(jù)進(jìn)行管理监署。
hadoop 上對數(shù)據(jù)計算,最開始使用的就是 MapReduce纽哥,通俗的講钠乏,就是 map + reduce,MapReduce 對數(shù)據(jù)處理很保守春塌,相對現(xiàn)在來說晓避,速度不是很快簇捍,每次一個簡單的計算可能都要查詢整個結(jié)果集,效率比較低俏拱。后來就出現(xiàn)了 Tez 和 Spark暑塑,這兩個相對 MapReduce 來說,效率更高锅必,速度更快一些事格。當(dāng)然,隨著技術(shù)的發(fā)展况毅,以及數(shù)據(jù)分析人員的需求分蓖,使用 MapReduce 或者 Tez 或者 Spark 對數(shù)據(jù)分析人員來說,需要他們掌握這些語言的編程能力尔许,能夠編寫邏輯進(jìn)行計算么鹤,是一個比較復(fù)雜麻煩的事情,但是人們發(fā)現(xiàn)味廊,對于結(jié)構(gòu)化的數(shù)據(jù)蒸甜,比如關(guān)系型數(shù)據(jù)庫的查詢而言,SQL 是一個非常簡單方便的方法余佛。于是柠新,在 hadoop 的基礎(chǔ)上,出現(xiàn)了一些通過 SQL 就能查詢的工具辉巡,比如 Hive 和 Pig恨憎。這個時候,數(shù)據(jù)分析人員就不需要去編寫復(fù)雜的代碼邏輯郊楣,通過簡單的 SQL 就能對數(shù)據(jù)查詢憔恳,Hive 能夠?qū)?HQL 翻譯成 MapReduce 任務(wù),在后臺進(jìn)行計算净蚤。
隨著技術(shù)的進(jìn)一步發(fā)展钥组,人們對數(shù)據(jù)的處理速度要求越來越高,相繼出現(xiàn)了很多框架和工具今瀑,比如 storm程梦,流式處理,在數(shù)據(jù)流向的時候就對已知的一些數(shù)據(jù)進(jìn)行計算橘荠,這里有一個不足的地方屿附,就是對已知的數(shù)據(jù)進(jìn)行計算。但是砾医,當(dāng)數(shù)據(jù)流過了之后拿撩,就沒有了,也就是說如蚜,出錯了的話是不能回滾得到歷史數(shù)據(jù)的压恒。但是流式處理數(shù)據(jù)的方法效率非常非常的高影暴。
除此之外,還有一些更特制的系統(tǒng)/組件探赫,比如Mahout是分布式機(jī)器學(xué)習(xí)庫型宙,Protobuf是數(shù)據(jù)交換的編碼和庫,ZooKeeper是高一致性的分布存取協(xié)同系統(tǒng)伦吠,等等妆兑。
當(dāng)然,還需要對任務(wù)進(jìn)行調(diào)度的工具毛仪,YARN搁嗓,調(diào)度系統(tǒng)。
scrapy 的框架
scrapy engine 是一個核心箱靴。
spider 通過 yield Request 的 requests 對象腺逛,將通過 spider middleware 到 engine,然后 engine 將 requests 加入到 scheduler 的隊列中衡怀, scheduler 調(diào)度隊列中的 requests 棍矛,將 requests 通過 engine 傳給 downloader,downloader 處理結(jié)束之后抛杨,將 response 傳給 engine够委,engine 再返回到 spider,spider 對 response 數(shù)據(jù)進(jìn)行解析 parse怖现,然后生成 item茁帽,返回到 engine,engine 如果認(rèn)為是 item屈嗤,就將 item 數(shù)據(jù)路由到 pipelines
兩個地方用到了中間件 middleware:
- spider middleware
- downloader middleware
spider 和 pipelines 是我們可以定制的地方脐雪,當(dāng)然 middleware 我們也可以進(jìn)行定制。