關(guān)于大數(shù)量分布式處理的面試問題數(shù)據(jù)題目:生產(chǎn)系統(tǒng)每天生成一個日志文件F,數(shù)據(jù)的數(shù)量在5000W行的水平。文件F保存了兩列數(shù)據(jù),一列是源通道,另一列是源通道上的用戶ID。文件F用于記錄當(dāng)天所有頻道的所有訪問用戶,每次訪問一條記錄。如何快速統(tǒng)計每個渠道的新增用戶?問題分析:首先,這個面試是關(guān)于分布式數(shù)據(jù)加工和數(shù)據(jù)分析崗位的,所以相關(guān)的面試問題可能會偏向于用分布式的思路來解決。
方案一:處理這個問題最直觀的方法之一就是直接將歷史訪問用戶與當(dāng)天添加的5000W訪問記錄進(jìn)行匹配。如果有歷史訪問記錄,則忽略;如果沒有訪問記錄,它將被保存為新記錄。顯然,如果歷史用戶有2億條記錄,就需要和2億條記錄數(shù)據(jù)進(jìn)行5000W次的對比。對比的次數(shù)可想而知。因為我一直在做基于數(shù)據(jù) library的數(shù)據(jù)的處理,所以很容易想到在數(shù)據(jù) library的一個表中保存數(shù)據(jù)的歷史,并為來源渠道和用戶標(biāo)識兩個字段建立索引,然后遍歷日志。
5、視圖里面有笛卡爾積 數(shù)據(jù)量很大想問一下視圖中有笛卡爾積數(shù)據(jù)怎么辦?視圖中有大量的笛卡爾積數(shù)據(jù)。處理方法如下:1。使用過濾條件:在笛卡爾積運(yùn)算前,添加過濾條件限制參與運(yùn)算的記錄數(shù),只選擇必要的數(shù)據(jù)。2.數(shù)據(jù)分區(qū)和分頁:根據(jù)具體的業(yè)務(wù)需求,可以將大的數(shù)據(jù)集劃分成更小的分區(qū)和分頁,以便更有效地處理和管理數(shù)據(jù)。3.使用連接操作:嘗試使用適當(dāng)?shù)倪B接操作(如內(nèi)連接、左連接、右連接等。)而不是笛卡爾積運(yùn)算。
6、索引如何處理 數(shù)據(jù)量大的問題1。什么是指數(shù)?索引用于快速查找具有特定值的記錄,所有MySQL索引都以B樹的形式保存。如果沒有索引,MySQL在執(zhí)行查詢時必須從第一條記錄開始掃描整個表的所有記錄,直到找到符合要求的記錄。表中的記錄越多,這個操作的代價就越高。如果已經(jīng)在列上創(chuàng)建了索引作為搜索條件,MySQL可以快速找到目標(biāo)記錄的位置,而無需掃描任何記錄。
假設(shè)我們創(chuàng)建一個名為people的表:create table people(people id smallint not null,name char(50)not null);然后,我們在people表中隨機(jī)插入1000個不同的名稱值。下圖是people表所在的文件數(shù)據(jù)的一小部分:可以看到,文件數(shù)據(jù)中的name列沒有明確的順序。
7、大 數(shù)據(jù)時代 數(shù)據(jù)中心布線系統(tǒng)發(fā)展趨勢Da數(shù)據(jù)Times數(shù)據(jù)中央布線系統(tǒng)的發(fā)展趨勢對我們現(xiàn)在的出現(xiàn)產(chǎn)生了影響數(shù)據(jù)在我們的日常生活中,在現(xiàn)有的3G和下一代4G網(wǎng)絡(luò)上,包括未來大量物聯(lián)網(wǎng)和三網(wǎng)融合的趨勢,一切與生活密切相關(guān)的技術(shù)的發(fā)展必然會影響數(shù)據(jù)流量的產(chǎn)生。大數(shù)據(jù)和云計算有關(guān)系。今天我們討論的不是如何分析big 數(shù)據(jù),而是需要什么樣的網(wǎng)絡(luò)和系統(tǒng)來支撐big 數(shù)據(jù)。
我們可以看到每年基于IP通信協(xié)議的全球IP的增加。目前數(shù)據(jù)流量在電信、金融、政府等互聯(lián)網(wǎng)行業(yè)的比重增長越來越快,尤其是目前互聯(lián)網(wǎng)上的視頻流量使得數(shù)據(jù)增長更快。整個世界數(shù)據(jù)數(shù)量,我們可以看到2015年和2010年的反差很大。隨著外圍網(wǎng)絡(luò)和應(yīng)用技術(shù)的發(fā)展,勢必影響數(shù)據(jù)的增長速度遠(yuǎn)遠(yuǎn)超過以前的數(shù)據(jù)流量。
8、Mysql是否可以存儲100萬條的 數(shù)據(jù),Mysql的存儲量和他所在的文件盤符大小...storage 數(shù)據(jù)沒有最大限制,但受磁盤空間限制。對于數(shù)據(jù)的更多查詢,最好是建立索引。MongoDB是目前IT界非常流行的非關(guān)系數(shù)據(jù)庫(NoSql),其靈活的數(shù)據(jù)存儲模式受到當(dāng)前IT從業(yè)者的青睞。MongoDB很好的實現(xiàn)了面向?qū)ο蟮乃枷?OO思想),MongoDB中的每一條記錄都是一個文檔對象。MongoDB最大的優(yōu)點(diǎn)是所有數(shù)據(jù)持久化操作都不需要開發(fā)人員手動編寫SQL語句。
9、大 數(shù)據(jù)量的 數(shù)據(jù)庫表設(shè)計技巧large數(shù)據(jù)quantitative數(shù)據(jù)庫表設(shè)計技巧即使是非常簡單的數(shù)據(jù)庫應(yīng)用系統(tǒng),其數(shù)據(jù) volume也會在一定程度上引起一系列問題。如果在設(shè)計數(shù)據(jù) library的時候就提前考慮到這些問題,就可以避免系統(tǒng)響應(yīng)慢導(dǎo)致的用戶投訴。技巧1:盡量不要使用代碼。比如性別領(lǐng)域的通行做法:1代表男性,0代表女性。這意味著每個查詢都需要一個關(guān)聯(lián)的代碼表。技巧2:history數(shù)據(jù)中的所有字段都不應(yīng)該依賴于業(yè)務(wù)表。
技巧3:使用中間表。例如,員工的工資可以保存在一個中間表中,當(dāng)員工的某個薪資項目發(fā)生變化時,中間表的數(shù)據(jù)也會隨之更新。技巧4:使用統(tǒng)計學(xué),需要經(jīng)常使用的統(tǒng)計數(shù)據(jù)數(shù)據(jù)可以在生成后保存在專門的表格中。技巧五:批量保存歷史數(shù)據(jù),歷史數(shù)據(jù)可以分段保存,例如2003 數(shù)據(jù)的歷史保存在2003的表名中,而2004 數(shù)據(jù)的歷史保存在2004的表名中。