最近的專案中,需要對海量的原始資料進行加工處理。並且資料的**也不盡相同,資料處理鏈條很長。針對這種實際應用中的場景,有幾點小小的新的體會,特意總結一下。
1.最重要的是,編碼之前盡可能多地搞清楚原始資料各字段的含義。越是原始資料複雜,越是資料多,越是資料大,越是需要從業務角度理解資料的含義。否則可能因為乙個小小的細節,會讓你痛不欲生,白白浪費好多時間,而且debug過程的痛苦,***。
2.編碼前,盡可能定義清楚所需要的資料結構。經典理論裡面的編碼就是演算法+資料結構,由此可見資料結構的重要性。
3.個人的觀點是專案開始階段,資料結構越簡單越好,這樣編碼的難度,**的可讀性以及可維護性都比較好。使用複雜資料結構的好處就是方便以後的擴充套件,大部分時候,我們專案的複雜度不會太高,所以初始階段還是採用簡單的資料結構為好。
4.資料量大了以後跑乙個mr任務或者spark任務的代價都不小。快的話十分鐘,慢的話乙個小時甚至幾個小時,而且還需要依賴集群的資源。這個時候,可以採用抽樣的方式先快速觀察**的輸出,以提高除錯效率。另外,盡可能減少不必要的輸入資料,注意集群的日誌輸出,也非常重要。
先想到這麼幾點,以後有心得再補充。
大資料分析思路的4點心得
大資料分析思路的4點心得 大資料分析 能力對於一名產品經理來說是最基本的能力。在面試的過程中,社招會有面試官會問你以往你負責的產品的相關資料,如何看待這些資料,如何通過這些資料來做接下來的產品優化 校招的面試官可能會問小夥伴們關於分析資料的思維 在產品經理的日常工作當中,要時長盯著資料的報表來分析產...
KMP的一點心得
int next next陣列儲存的是當模式串匹配不上的時候將要跳轉的下標 void getnext char b int kmp char a,char b 尋找主串中有多少模式串 return k int kmp char a,char b 判斷主串中是否有模式串 return 0 字串a代表的...
學習的一點心得
關於 理論上為每乙個實現的功能設計乙個函式,有利於 的分解 關於注釋 注釋有三個功能,1.說明用途 2解釋複雜 3.傳遞元資訊 作者,完成日期,修改的bug,待完成的功能,程式的功能,版權資訊等 因為 有時候並不是你來維護的。盡量使用英文注釋,乙個專案組要有統一的規範。關於命名 成員通常m開頭,布林...