從本質上來講,我不是一位資料分析師,我的崗位在我們公司被稱之為bi
,即business intellegence
的縮寫,也就是商業智慧型化,實際上更偏向於資料處理
我在資料分析方向工作的時間也是非常有限的,而且我還是轉行者.即便如此,我仍然想將我的經驗分享給你,希望你能成為一位更優秀的資料分析師
目前你的問題是:每日處理500萬行的資料,用到了excel裡面的篩選和資料透視表.關於這個問題,我上次也和你說過,需要用mysql
解決.你先嘗試過power query
直接從資料夾匯入資料,結果excel
崩了.所以目前最優解決方案仍然是:
mysql + power query + excel資料儲存不一定得是
mysql
,也有可能是sqlserver
,或者access
.但是後二者,乙個有版權問題,乙個似乎並不太能處理大量資料.mysql
是目前的最優選擇,而且我一直用mysql
,這對於後續問題交流和解決也更方便
解決問題的方式也像我上次和你說的一樣
這些都只是解決問題的臨時方案,所以,我根據我們的經驗,給你大概規劃了一條學習路徑
在這個階段,你所需要會的技能,只有excel
.
大部分資料來源獲取,資料處理,展現,都只需要excel
就可以完成.而根據我的工作以及面試經驗來看,基本上掌握一些函式加透視表就可以了
這個階段的工作流程大致是這樣
這樣的工作就是最無聊的複製貼上.如果能從這樣的工作中跳出來,才能成為下乙個階段的資料分析師
在這個階段,往往是處理大批量資料的階段.這個階段需要用到資料庫.資料庫有很多種,如果是像你這種常規處理固定欄位的資料,mysql
是比較適合的.這一階段需要掌握的技能大概是
雖然只是比上面多了一項資料庫,但是實際內容卻多了很多.因為我有認識一些開發工作5,6年,也並不是特別熟悉如何寫乙份高效的sql
指令碼,也有很多功能要向dba
請教.在mysql
裡面,select
語句是用得最多,也是最難學的一項,是為重中之重
這個階段,工作流程應該是這樣的
這個階段更多是建模,工作從零碎趨向於一勞永逸,而在這個階段,需要掌握的技能也增加了
在這個階段,會針對大資料進行優化.在更加熟練的掌握了select
之後,需要對你的sql
語句進行調優,也就是跑得更快.
以你的500萬資料為例,在上乙個階段,可能通過寫select
將資料縮小到結果資料的30萬,然後載入到excel
.但是在這個階段,可能是在mysql
裡面寫好指令碼將30萬的資料放入資料庫而不是excel
,再根據具體需要展示的內容進一步縮小資料的行數和列數,可能載入到excel
的最終結果甚至只有1萬行.這時候有4句sql
將會用得最多
delete
from test_table;
insert
into test_table
select..
.
drop
table
ifexists test_table;
create
table test_table
select..
.
這個階段建議的工作流程是
這個階段,你需要考慮全自動化了.這個階段的主力軍是python
,技能差不多如下
仍然按照上乙個階段的流程,我們只是插入了一些"標籤"
python
將整個過程自動化了.只要資料來源穩定**,這乙個流程就可以讓機器自動執行.你要做的,只是看下任務有沒有正常執行,或者進一步,看下有沒有報錯提示.
這個階段,要熟練使用各種工具了.如果到這個階段,可能你更像一位開發工程師.工具都是各種各樣的,所以推薦我們目前在用的如下
工具都是為了幫你更好的實現目的
這個階段是我個人杜撰的,只加入了乙個單詞
這個階段是分析和布局.資料分析師實際上應該是乙個更偏向於分析而不是處理的工作,而大部分理論方法都很難直接套用到現實環境.除了需要了解大部分理論以外,還需要真正做到資料驅動業務,你應當知道你需要什麼樣的分析,更加需要知道你需要怎樣的技術來支撐你的分析.
這是我望塵莫及的階段
共勉?
如何成為乙個優秀的程式設計師
programming achievements how to level up as a developer 翻譯而來。文章內容如下 乙個優秀的程式設計師如何能練就成乙個卓越的程式設計師?先等等,暫時不談卓越,先談談如何成為乙個優秀的程式設計師。從第一步到第n步並沒有明確的路線圖。事實上,第n步到...
如何成為乙個優秀的程式設計師
programming achievements how to level up as a developer 翻譯而來。乙個優秀的程式設計師如何能練就成乙個卓越的程式設計師?先等等,暫時不談卓越,先談談如何成為乙個優秀的程式設計師。從第一步到第n步並沒有明確的路線圖。事實上,第n步到底是什麼還不確...
如何成為乙個優秀的SOA架構師
什麼是soa架構設計師的職責?那什麼是企業級soa架構設計師的具體角色呢?什麼是soa架構設計師與設計和開發人員之間的差別呢?相信這些都是使大家最容易產生迷惑的問題。舉個實際的例子來說,當構建乙個基於soa架構的系統的時候,針對乙個具體的 service,系統設計人員主要應該關注的是這個servic...