版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1Hadoop在淘寶的應(yīng)用淘寶搜索中心恨少2目錄Hadoop介紹Hadoop在淘寶中的應(yīng)用一個實(shí)際的應(yīng)用案例淘寶網(wǎng)搜索整體架構(gòu)Hadoop介紹 Hadoop是Apache組織的一個開源的分布式計(jì)算框架,框架中最核心的設(shè)計(jì)是HDFS和Map-Reduce?;诙逪adoop有一系列子項(xiàng)目,它們廣泛用于海量數(shù)據(jù)處理,非結(jié)構(gòu)化數(shù)據(jù)存儲等領(lǐng)域。主要子項(xiàng)目HadoopCommon:ThecommonutilitiesthatsupporttheotherHadoopsubprojects.Chukwa:Adatacollectionsystemformanaginglargedistributedsystems.HBase:Ascalable,distributeddatabasethatsupportsstructureddatastorageforlargetables.HDFS:Adistributedfilesystemthatprovideshighthroughputaccesstoapplicationdata.Hive:Adatawarehouseinfrastructurethatprovidesdatasummarizationandadhocquerying.MapReduce:Asoftwareframeworkfordistributedprocessingoflargedatasetsoncomputeclusters.Pig:Ahigh-leveldata-flowlanguageandexecutionframeworkforparallelcomputation.ZooKeeper:Ahigh-performancecoordinationservicefordistributedapplications.誰在使用HadoopAlibabaAmazonAdobeBaiduFacebookHuluMicrosoftYahoo!WhyHadoop?可擴(kuò)展:不論是存儲的可擴(kuò)展還是計(jì)算的可擴(kuò)展都是Hadoop的設(shè)計(jì)根本。經(jīng)濟(jì):框架可以運(yùn)行在任何普通的PC上??煽浚悍植际轿募到y(tǒng)的備份恢復(fù)機(jī)制以及Map-Reduce的任務(wù)監(jiān)控保證了分布式處理的可靠性。高效:分布式文件系統(tǒng)的高效數(shù)據(jù)交互實(shí)現(xiàn)以及Map-Reduce結(jié)合LocalData處理的模式,為高效處理海量的信息作了基礎(chǔ)準(zhǔn)備。HDFS簡介
HDFS(HadoopDistributedFileSystem)是Hadoop提供的基礎(chǔ)設(shè)施,Hadoop其它子項(xiàng)目均依賴于HDFS。 作為一個分布式文件系統(tǒng),HDFS用于部署在低成本的硬件之上(使用普通PC的硬盤),因此其具有很高的容錯性。HDFS示意圖HDFSShell HDFS除了提供API之外,還提供了一個HDFSShell供用戶訪問文件系統(tǒng)。Shell提供了ls、cat、cp、touch、mkdir、rmr、tail、chmod、chown等接口。Map-Reduce介紹 Map-Reduce是一個分布式的計(jì)算框架,用于大規(guī)模數(shù)據(jù)集的并行運(yùn)算。Map-Reduce大大降低了分布式計(jì)算的難度。 一個Map/Reduce作業(yè)的輸入和輸出類型如下所示:
(input)<k1,v1>->map-><k2,v2>->combine-><k2,v2>->reduce-><k3,v3>(output)Map-Reduce示意圖一個簡單的例子
WordCount是一個簡單的應(yīng)用,它可以計(jì)算出指定數(shù)據(jù)集中每一個單詞出現(xiàn)的次數(shù)。 比如文件中包含如下內(nèi)容。數(shù)據(jù)量可以非常大,它們保存在大量的文件中(HDFS上)。 HelloWorldByeWorld HelloHadoopGoodbyeHadoop 輸出結(jié)果如下: Bye1
Goodbye1
Hadoop2
Hello2
World2
map函數(shù) publicvoidmap(LongWritablekey,Textvalue,OutputCollector<Text,IntWritable>output,Reporterreporter)throwsIOException{ Stringline=value.toString(); StringTokenizertokenizer=newStringTokenizer(line); while(tokenizer.hasMoreTokens()){ word.set(tokenizer.nextToken()); output.collect(word,one); } }reduce函數(shù) publicvoidreduce(Textkey,Iterator<IntWritable>values,OutputCollector<Text,IntWritable>output,Reporterreporter) throwsIOException{ intsum=0; while(values.hasNext()){ sum+=values.next().get(); } output.collect(key,newIntWritable(sum)); }Hive簡介
Hive是一個基于Hadoop的數(shù)據(jù)倉庫分析框架,由Facebook貢獻(xiàn)給了開源社區(qū)。Hive定義了一種類似于SQL的語言-HQL,使用HQL可以方便使用SQL類似的語句分析數(shù)據(jù),大大降低了數(shù)據(jù)分析的難度。
Hive支持Map-Reduce。Hive支持UDAF(UserDefinedAggregateFunction,用戶自定義的聚合函數(shù))。HadoopJobWebUIDougCutting介紹 DouglasReedCutting是開源搜索技術(shù)的先驅(qū)。他先后在Excite,AppleInc.andXeroxPARC等公司工作過。他發(fā)起的開源項(xiàng)目有Lucene、Hadoop和Nutch。
DouglasReedCutting目前在Cloudera公司工作。該公司致力于開源云計(jì)算(Hadoop)的商業(yè)應(yīng)用。之前DouglasReedCutting在Yahoo!工作。Hadoop在淘寶的應(yīng)用
淘寶網(wǎng)目前有會員近2億,日均UV高達(dá)4000萬,日交易量高達(dá)數(shù)億元。作為目前亞洲最大的B2C/C2C網(wǎng)站,淘寶每天會產(chǎn)生大量的數(shù)據(jù)。如何利用這些數(shù)據(jù)為用戶提供更好的服務(wù)以及發(fā)掘數(shù)據(jù)的價值是個難題。 目前阿里集團(tuán)部署了一個大規(guī)模的Hadoop集群,擁有PCServer近千臺,服務(wù)器均配置16核心CPU和24GB內(nèi)存,存儲總量達(dá)PB級別。 集團(tuán)內(nèi)部各子公司包括B2B和淘寶一起分享該集群。
目前Hadoop主要應(yīng)用于以下幾個方面: 1、為搜索引擎提供數(shù)據(jù)建索引。
dump中心每天凌晨從數(shù)據(jù)庫將表拉到HDFS上,各系統(tǒng)使用各自的Map-Reduce算法生成需要的doc文檔。 2、用戶商務(wù)智能分析,比如使用協(xié)同過濾算法為用戶推薦商品。淘寶搜索引擎建索引流程
數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)庫HDFS,運(yùn)行Map-ReduceJob生成需要的doc文件以建索引引擎服務(wù)器引擎服務(wù)器引擎服務(wù)器build服務(wù)器build服務(wù)器build服務(wù)器dump一個實(shí)際的應(yīng)用案例 定制化搜索項(xiàng)目,在用戶收藏或者購買的店鋪內(nèi)搜索寶貝。項(xiàng)目實(shí)施過程中,使用Hive替代了自己編寫HadoopMap-ReduceJob的方案。
需要處理的數(shù)據(jù)
1、用戶的收藏信息。包括兩個文件,一個是用戶的收藏條目(collect_item);另一個是收藏條目的詳細(xì)信息(collect_info)。收藏信息只有全量數(shù)據(jù)。collect_item和collect_info均有數(shù)百GB。 2、用戶的購買信息(pay)。購買信息以增量的方式每天產(chǎn)生一個文件。由于數(shù)據(jù)量比較大,目前只使用三個月的數(shù)據(jù)。 3、因?yàn)榍岸酥荒苁褂觅u家的數(shù)字id去搜索寶貝,而collect_item沒有賣家的數(shù)字id,因此必須連接用戶數(shù)據(jù)文件。用戶數(shù)據(jù)文件有數(shù)百GB。第一種方案 項(xiàng)目實(shí)施首先選擇的方案是自己編寫Map-ReduceJob來生成相關(guān)的文檔數(shù)據(jù)。使用Hadoop二次排序的方式連接各文件。 主要優(yōu)點(diǎn): 1、過程完全可控,依賴少。
2、效率較高。 主要缺點(diǎn):
1、需要分別針對收藏?cái)?shù)據(jù)和交易數(shù)據(jù)寫兩個HadoopJob。 2、代碼量比較多,可維護(hù)性較差。新方案-使用Hive 由于數(shù)據(jù)量比較大,有些記錄格式有錯,使得自己編寫的Map-ReduceJob生成的數(shù)據(jù)總是少了一些。鑒于Hive諸多優(yōu)點(diǎn),所以項(xiàng)目中途改用Hive重寫。 主要優(yōu)點(diǎn):
1、使用HQL,站在更高的邏輯層次上,代碼量少,可維護(hù)性非常好。
2、只需編寫一個UDAF便可聚合同一買家對應(yīng)的收藏和交易買家列表。 主要缺點(diǎn):
1、運(yùn)行速度略慢。
2、依賴Hive,需要在生產(chǎn)環(huán)境部署Hive。處理過程
1、連接collect_item和用戶表,生成新表t1。 2、連接t1和collect_info,生成新表t2。
3、將交易表做去重處理,生成新表t3。
4、對t2和t3分別使用UDAF處理,生成如下結(jié)構(gòu)(大概數(shù)千萬條)。 <doc> type=0 #type為0表示收藏記錄,type為1表示購買記錄 cid=99999643 #用戶的數(shù)字id nick=ltvlyc #用戶的昵稱 sid=34755926345891714593849912999374770211586320857231804838 #關(guān)聯(lián)的賣家數(shù)字id列表 </doc>建Hive表 $HIVE"CREATEEXTERNALTABLEcustomed_search_collect_item_$day ( collect_item_idstring, titlestring, t3string, seller_id_strstring, seller_nickstring, t6string)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'STOREDASTEXTFILELOCATION'$itemPath';";編寫UDAF 使用Java編寫UDAF以聚合同一key的數(shù)據(jù),即和同一個買家相關(guān)的賣家。 $HIVE"addjar$WORKDIR/UDAF_2.0.jar; createtemporaryfunctioncustomed_search_joinas'taobao.GenerateXML'; setmapred.reduce.tasks=300; setpress.output=false; INSERTOVERWRITETABLEcustomed_search_pay_XML_$day selectcustomed_search_join(1,winner_id_dig,winner_nick,seller_id_dig) fromcustomed_search_pay_temp_$daygroupbywinner_id_dig;"; 淘寶目前使用阿里集團(tuán)內(nèi)部的iSearch(眾多工具組成的工具集)建索引和提供搜索服務(wù)。iSearch支持多層架構(gòu),以組成大的搜索集群。將索引數(shù)據(jù)切分后推送到搜索服務(wù)器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣西南寧隆安縣殘聯(lián)招聘鄉(xiāng)鎮(zhèn)殘疾人專職委員1人備考筆試題庫及答案解析
- 2025年濱州渤中能源有限公司公開招聘工作人員備考核心題庫及答案解析
- 2025黑龍江齊齊哈爾市龍江縣中醫(yī)醫(yī)院招聘編外人員11參考考試試題及答案解析
- 2025四川愛眾樂享醫(yī)養(yǎng)產(chǎn)業(yè)有限公司招聘勞務(wù)外包人員3人筆試重點(diǎn)題庫及答案解析
- 2025河南省水利水電學(xué)校招聘工作人員6人考試核心試題及答案解析
- 2026甘肅蘭州大學(xué)第二醫(yī)院(第二臨床醫(yī)學(xué)院)醫(yī)療醫(yī)技、技師及護(hù)理崗位招聘122人(第二批)考試核心試題及答案解析
- 2025江蘇紫金信通人才科技有限公司招聘7人筆試重點(diǎn)題庫及答案解析
- 2025福建省思進(jìn)拍賣有限公司福建省貿(mào)托拍賣有限公司福建省八方船舶交易中心有限公司招聘業(yè)務(wù)員1有備考核心題庫及答案解析
- 2025年淮北濉溪縣龍華高級中學(xué)教師招聘20人考試重點(diǎn)題庫及答案解析
- 2026廣東中山市教體系統(tǒng)招聘事業(yè)單位人員117人(第一期衛(wèi)生崗2人)筆試重點(diǎn)試題及答案解析
- 國家開放大學(xué)國開電大《商務(wù)英語4》綜合測試標(biāo)準(zhǔn)答案
- 糧油保管員(高級)職業(yè)技能鑒定參考試題(附答案)
- 等腰三角形復(fù)習(xí)課教案
- 2025年中國大唐集團(tuán)有限公司校園招聘筆試參考題庫附帶答案詳解
- 常用統(tǒng)計(jì)軟件應(yīng)用知到智慧樹章節(jié)測試課后答案2024年秋揚(yáng)州大學(xué)
- 江西省吉安市泰和縣2024-2025學(xué)年數(shù)學(xué)六年級第一學(xué)期期末統(tǒng)考試題含解析
- 《光伏發(fā)電工程安全驗(yàn)收評價規(guī)程》(NB-T 32038-2017)
- 水質(zhì)分析儀安裝調(diào)試報(bào)告
- GB/T 2881-2023工業(yè)硅
- 教科版四年級上冊科學(xué)期末測試卷(含答案)
- 醫(yī)院診斷證明書word模板
評論
0/150
提交評論