Evernote每天使用JasperReports服務(wù)器生成10多份圖表與報(bào)告

出于安全原因,這一分析環(huán)境被放在了一個(gè)獨(dú)立的網(wǎng)絡(luò)上,并不與生產(chǎn)應(yīng)用服務(wù)器相連。日常在線數(shù)據(jù)通過一個(gè)單向的網(wǎng)絡(luò)連接被安全地推送到報(bào)告環(huán)境中。

部署Hadoop并協(xié)同工作

全部的原始數(shù)據(jù)首先將發(fā)送至Hadoop。在這里,數(shù)據(jù)將被歸檔并為輸入至ParAccel進(jìn)行日?qǐng)?bào)和分析做好準(zhǔn)備。隨后,Evernote將使用Cloudera Hadoop進(jìn)行分發(fā),并使用Puppet進(jìn)行配置管理。 Hadoop集群包括有6個(gè)配置了8個(gè)500GB硬盤的數(shù)據(jù)節(jié)點(diǎn),總計(jì)可以存儲(chǔ)24TB的原始數(shù)據(jù)。2個(gè)8核處理器和64GB內(nèi)存在跨集群中運(yùn)行132個(gè) MapReduce任務(wù),每個(gè)任務(wù)可擁有超過2GB的內(nèi)存。

此外,作為冗余,Evernote還在兩個(gè)服務(wù)器上運(yùn)行了一個(gè)單獨(dú)的Hadoop Job Tracker,在一個(gè)客戶端節(jié)點(diǎn)運(yùn)行Hive與Hue,這是兩個(gè)針對(duì)Hadoop的關(guān)鍵開源工具。Hadoop集群可通過Hive抽象層被訪問,后者提供了一個(gè)用于查詢的類SQL接口。Hue是一個(gè)針對(duì)Hadoop的基于Web接口,其中包含了大量的實(shí)用應(yīng)用,例如文件瀏覽器、工作追蹤接口、集群健康監(jiān)視器,以及一個(gè)創(chuàng)建個(gè)性化Hadoop應(yīng)用的環(huán)境。

由Hive采集的用戶活動(dòng)數(shù)據(jù)與來自在線生產(chǎn)數(shù)據(jù)庫的參照表每晚會(huì)被加載在ParAccel上。通過Hive所創(chuàng)建的派生表包含有針對(duì)常見報(bào)告中最佳表述的預(yù)切片信息。例如,除了某一時(shí)期以來每天、每周和每月的活動(dòng)用戶數(shù)量外,國家一覽表每天每個(gè)國家只有一行。

由于ParAccel數(shù)據(jù)庫和表單會(huì)針對(duì)快速數(shù)據(jù)聚合進(jìn)行調(diào)整,因此與單獨(dú)使用Hive相比,Evernote能夠進(jìn)行多類問題的查詢。例如,查看某周內(nèi)在德國哪個(gè)Windows版本的Evernote軟件使用最為頻繁,只需要3秒鐘的時(shí)間。

Evernote如今擁有了一個(gè)現(xiàn)代化的分析環(huán)境,并且這個(gè)環(huán)境擁有足夠的增長空間。由于有了 Hadoop,Evernote的團(tuán)隊(duì)擁有了將海量數(shù)據(jù)運(yùn)營與日志數(shù)據(jù)歸檔的能力。更重要的是,它們可以在兩個(gè)小時(shí)內(nèi)加載和轉(zhuǎn)換數(shù)百萬條記錄,而以往做這些工作需要花費(fèi)10個(gè)小時(shí)或是更長的時(shí)間。同時(shí)得益于ParAccel,Evernote的團(tuán)隊(duì)能夠執(zhí)行更為復(fù)雜的用戶趨勢(shì)分析操作,并通過 JasperReports服務(wù)器提供最終結(jié)果。

由于能夠存儲(chǔ)所有的歷史數(shù)據(jù)、進(jìn)行更快速的查詢,以及每日自動(dòng)生成質(zhì)量報(bào)告,Evernote能夠從更深的層次觀察客戶使用其產(chǎn)品的方式,持續(xù)提升和優(yōu)化自己的產(chǎn)品。

分享到

zhaohang

相關(guān)推薦