1. excel數據太大(上百兆)怎麼導出數據
EXCEL裡面的數據過多導致文件過大,出現這種情況,最好的辦法是將數據分類並切割成N個文件,沒有特別好的辦法。因為你即使把文件從xls(2003版本)格式保存為xlsx格式(2007版本),但是下次打開時候電腦巨慢,我之前碰到過。
2. 如何進行大數據分析及處理
1.可視化分析
大數據分析的使用者有大數據分析專家,同時還有普通用戶,但是他們二者對於大數據分析最基本的要求就是可視化分析,因為可視化分析能夠直觀的呈現大數據特點,同時能夠非常容易被讀者所接受,就如同看圖說話一樣簡單明了。
2. 數據挖掘演算法
大數據分析的理論核心就是數據挖掘演算法,各種數據挖掘的演算法基於不同的數據類型和格式才能更加科學的呈現出數據本身具備的特點,也正是因為這些被全世界統計 學家所公認的各種統計方法(可以稱之為真理)才能深入數據內部,挖掘出公認的價值。
另外一個方面也是因為有這些數據挖掘的演算法才能更快速的處理大數據,如 果一個演算法得花上好幾年才能得出結論,那大數據的價值也就無從說起了。
3. 預測性分析
大數據分析最終要的應用領域之一就是預測性分析,從大數據中挖掘出特點,通過科學的建立模型,之後便可以通過模型帶入新的數據,從而預測未來的數據。
4. 語義引擎
非結構化數據的多元化給數據分析帶來新的挑戰,我們需要一套工具系統的去分析,提煉數據。
語義引擎需要設計到有足夠的人工智慧以足以從數據中主動地提取信息。
5.數據質量和數據管理。
大數據分析離不開數據質量和數據管理,高質量的數據和有效的數據管理,無論是在學術研究還是在商業應用領域,都能夠保證分析結果的真實和有價值。
大數據分析的基礎就是以上五個方面,當然更加深入大數據分析的話,還有很多很多更加有特點的、更加深入的、更加專業的大數據分析方法。
大數據的技術
數據採集: ETL工具負責將分布的、異構數據源中的數據如關系數據、平面數據文件等抽取到臨時中間層後進行清洗、轉換、集成,最後載入到數據倉庫或數據集市中,成為聯機分析處理、數據挖掘的基礎。
數據存取: 關系資料庫、NOSQL、SQL等。
基礎架構: 雲存儲、分布式文件存儲等。
數據處理: 自然語言處理(NLP,Natural Language Processing)是研究人與計算機交互的語言問題的一門學科。
處理自然語言的關鍵是要讓計算機」理解」自然語言,所以自然語言處理又叫做自然語言理解也稱為計算語言學。
一方面它是語言信息處理的一個分支,另一方面它是人工智慧的核心課題之一。
統計分析: 假設檢驗、顯著性檢驗、差異分析、相關分析、T檢驗、 方差分析 、 卡方分析、偏相關分析、距離分析、回歸分析、簡單回歸分析、多元回歸分析、逐步回歸、回歸預測與殘差分析、嶺回歸、logistic回歸分析、曲線估計、 因子分析、聚類分析、主成分分析、因子分析、快速聚類法與聚類法、判別分析、對應分析、多元對應分析(最優尺度分析)、bootstrap技術等等。
數據挖掘: 分類 (Classification)、估計(Estimation)、預測(Prediction)、相關性分組或關聯規則(Affinity grouping or association rules)、聚類(Clustering)、描述和可視化、Description and Visualization)、復雜數據類型挖掘(Text, Web ,圖形圖像,視頻,音頻等)
模型預測 :預測模型、機器學習、建模模擬。
結果呈現: 雲計算、標簽雲、關系圖等。
大數據的處理
1. 大數據處理之一:採集
大數據的採集是指利用多個資料庫來接收發自客戶端(Web、App或者感測器形式等)的 數據,並且用戶可以通過這些資料庫來進行簡單的查詢和處理工作。
比如,電商會使用傳統的關系型資料庫MySQL和Oracle等來存儲每一筆事務數據,除 此之外,Redis和MongoDB這樣的NoSQL資料庫也常用於數據的採集。
在大數據的採集過程中,其主要特點和挑戰是並發數高,因為同時有可能會有成千上萬的用戶 來進行訪問和操作,比如火車票售票網站和淘寶,它們並發的訪問量在峰值時達到上百萬,所以需要在採集端部署大量資料庫才能支撐。
並且如何在這些資料庫之間 進行負載均衡和分片的確是需要深入的思考和設計。
2. 大數據處理之二:導入/預處理
雖然採集端本身會有很多資料庫,但是如果要對這些海量數據進行有效的分析,還是應該將這 些來自前端的數據導入到一個集中的大型分布式資料庫,或者分布式存儲集群,並且可以在導入基礎上做一些簡單的清洗和預處理工作。
也有一些用戶會在導入時使 用來自Twitter的Storm來對數據進行流式計算,來滿足部分業務的實時計算需求。
導入與預處理過程的特點和挑戰主要是導入的數據量大,每秒鍾的導入量經常會達到百兆,甚至千兆級別。
3. 大數據處理之三:統計/分析
統計與分析主要利用分布式資料庫,或者分布式計算集群來對存儲於其內的海量數據進行普通 的分析和分類匯總等,以滿足大多數常見的分析需求,在這方面,一些實時性需求會用到EMC的GreenPlum、Oracle的Exadata,以及基於 MySQL的列式存儲Infobright等,而一些批處理,或者基於半結構化數據的需求可以使用Hadoop。
統計與分析這部分的主要特點和挑戰是分析涉及的數據量大,其對系統資源,特別是I/O會有極大的佔用。
4. 大數據處理之四:挖掘
與前面統計和分析過程不同的是,數據挖掘一般沒有什麼預先設定好的主題,主要是在現有數 據上面進行基於各種演算法的計算,從而起到預測(Predict)的效果,從而實現一些高級別數據分析的需求。
比較典型演算法有用於聚類的Kmeans、用於 統計學習的SVM和用於分類的NaiveBayes,主要使用的工具有Hadoop的Mahout等。
該過程的特點和挑戰主要是用於挖掘的演算法很復雜,並 且計算涉及的數據量和計算量都很大,常用數據挖掘演算法都以單線程為主。
整個大數據處理的普遍流程至少應該滿足這四個方面的步驟,才能算得上是一個比較完整的大數據處理。
3. excel數據量太大經常沒反應怎麼辦
第一部分:如何給Excel工作簿減肥
除了工作簿本身有宏病毒(關於如何識別宏病毒,本文的結束處有說明)外,有下列的幾個原因可能導致工作簿異常膨脹
一。工作表中的格式過於復雜(如多種字體,多種顏色,條件格式等等)
我們都知道,一個工作表有65536*256個單元格,這個非常大的一個范圍。我們在應用一些格式設置時,往往為了方便,直接在整行,或整列,或者在多行和多列中應用,這樣其實是不妥當的。我相信很少有人會用滿整列,或者整行。大量的沒有用到的單元格被加上了一些格式後,Excel並不總是知道這個單元格是不需要用的,而往往在計算時會包括這些單元格。另外,格式的多樣性(包括字體,顏色等),勢必是要造成Excel文件體積變大,這是不難理解的。
用盡量少的格式樣式,如字體和顏色,畢竟Excel的優勢不是在於文書,版面的展示(那是Word,PowerPoint等的強項)
刪除「空白」的單元格。找到工作表中最右下角的單元格(請注意:除非你有自信,請不要過分依賴Excel 的"定位"=>"最後一個單元格"所給你的結果),我是說你可以手工找到這個單元格。然後選中這個單元格右邊所有的列,然後執行菜單命令:"編輯"=〉"清除"=〉"全部",接下來,選中這個單元格下面所有的行,同樣執行菜單命令:"編輯"=〉"清除"=〉"全部",然後保存
二。圖片或者其他繪圖圖形較多,或者圖片選擇了不恰當的格式
選擇適當的圖片格式
在文檔中引用的圖片格式一般有三種,BMP、JPG、GIF。BMP格式保存的圖片保真度較高,但大小往往是其它兩種格式的幾倍至幾十倍,而照片、掃描圖片等用GIF格式保存則失真非常嚴重,因此建議圖片先採用JPG格式保存,然後再引入到文檔中,這種格式的圖片大小不僅比BMP格式小很多,而且往往也比GIF的格式小,而保真度與BMP格式則相差無幾。
利用「插入」引入圖片
插入圖片有兩種方法,第一種是將圖片保存為一個JPG格式的文件,選擇「插入→圖片→來自文件」,打開「插入圖片」對話框,選中所需插入的圖片文件,點擊「插入」即可。另一種是用「畫圖」、「Microsoft照片編輯器」等打開這個JPG文件,選中並復制,然後在文檔中點擊「粘貼」即可插入。強烈建議大家採用第一種方法,雖然兩種方法得到的圖片質量是一樣的,但第一種方法所形成的文檔的大小可能會比第二種小幾十倍!
徹底清除圖形對象:例如我們自己畫的一些圖形,比如你現在不要用它們了,你選擇行或者列范圍刪除,清除都是清除不掉了,他們只是可能縮小了。這個時候,就可以用到本版"流浪的風"提到過的一個方法
1.先找到其中的一個文本框(找不到就自己添加一個)
2.選中這個文本框,按F5--->定位條件--->對象-->確定
3.按Delete清除
4.保存關閉
5.看看現在文件有多大,打開看看速度還慢不慢
三。公式和名稱較多或者公式,名稱,數據透視表等所引用的單元格範圍過大
由於和第二點類似的原因,我們在定義名稱,編寫公式,指定數據透視表的數據源時往往圖一時方便,而指定了過大的單元格範圍。例如在A列中有包括標題在內的10個數據(A1:A10),標題為「姓名」,我們現在要定義一個名稱,例如"姓名",很多人會用 插入=〉名稱=〉指定=〉首行,這當然是方便的,但這樣的話「姓名」這個名稱就引用了A2:A65536,而不是實際的A2:A10。你能想像到兩者的差別嗎?
這時候,有的朋友要說:我這樣做的原因是因為我的數據是在不斷增加的呀,我可不想每次在變動的時候都去改這個名稱。
當然,你是對的,誰會願意這樣做呢?
當我確信我定義的這個名稱所引用的范圍不可能是固定的時候,我採用了一個方法就是「動態命名」。聽起來有點耳熟對嗎?請看這個例子:為簡單起見,我們假設數據都是連續地在A10後面開始添加,也就是說我們希望當我們添加到A15時,這個"姓名"就如我所願地指向A2:A15,而這一切都是自動完成的。那麼你可以在"插入"=〉"名稱"=>"定義"對話框中,找到"姓名",然後修改引用位置為=OFFSET($A$2,0,0,COUNTA($A:$A)-1,1),然後點擊"添加"。請留步,先不要急著關閉這個對話框。你現在可以將滑鼠放在"引用位置"的這個框裡面,由此來驗證你要的結果。看到了嗎?工作表中那一閃一閃的區域就表示了目前"姓名"所引用的單元格範圍。
這只是一個簡單的示範,利用這種技巧,可能讓我們用最經濟的方式得到我們需要的結果。
在公式引用中,在指定數據透視表的數據源時,都可以運用類似的技巧。當然,我不會推薦你寫類似這樣的公式=CountA(OFFSET($A$2,0,0,COUNTA($A:$A)-1,1)),而是推薦你先定義好這個名稱,然後這樣寫公式:=CountA(姓名)
這種效果在數組公式中更明顯,除非你有足夠的耐心和勇氣,請不要在數組公式用引用過大的單元格範圍,特別是那些不必要的單元格。
請注意,以上的檢查應該是針對工作簿中的所有工作表,包括隱藏的
四。VBA代碼,尤其是用戶窗體的影響
現在很多朋友都已經學會了用VBE來構建自己的工程,這是多麼令人振奮的一件事!但今天我們要討論的是如何處理VBA工程可能帶來一些副作用以及如何壓縮它?
有很多測試證明,用戶窗體會是增加文件大小的比較突出的原因之一。而反復地改寫工程中模塊的代碼,也或多或少地會增加文件的大小(我們可以這樣理解:反復地改寫工程代碼,總是會留下一些痕跡和碎片)
對於這個問題,可以考慮將所有模塊,窗體,都導出為文件,然後保存,然後再依次導入。
關於用戶窗體,作為開發者應該考慮的是:是否真的有必要用某個窗體?舉個簡單的例子,如果只是接收用戶輸入數值,就完全可以用InputBox方法或者屬性,而不需專門用一個窗體。同時,工作表本身可以用來做用戶交互的界面,應該充分利用。
五。外部鏈接(特別是死鏈接)的影響
有的時候,我們的工作簿中可能包含了一些外部引用,這樣我們可以共享其他工作簿的一些信息。如果你的工作簿中包含外部鏈接,你可以通過"編輯"=>"鏈接"對話框中查看到。默認情況下,文件在打開時,總是嘗試去鏈接源文件,以刷新數據。在保存時,會紀錄鏈接的變化情況。
當源文件的位置或者內容發生變化時,就可能產生死鏈接。
我個人非常不主張用鏈接方式來實現不同文件間數據的共享,這既不是最方便的方法,而且在文件分發過程中會遇到一些問題。我當然知道數據共享是有意義的,但我經常會嘗試用其他的途徑來實現。
六。關於自動保存選項的考量
選中這個選項時,每次進行保存文檔的操作則只保存文檔的修改部分,保存速度較快,但文檔的大小也會增加,即使是對文檔進行刪減操作也是如此。目前計算機的速度較快,因此開啟這項功能所帶來速度的增加毫不明顯,但付出的代價是文檔的大小急劇膨脹,建議不要選中這個選項。試著關閉這個選項,再對文檔稍作修改,然後保存,你會驚奇地發現文檔的大小會大幅度縮小!
七。文件異常退出(或者其他不可預見的原因)造成的工作簿內工作表結構方面的損壞
有時候,由於一些不可預見的原因(例如停電),Excel被迫異常退出。雖然目前沒有專門的工具可以檢測這種情況對工作簿內部可能造成的損壞程度,但是有理由相信多少是有影響的。
如果你的文件中不存在前面提到的幾個問題,同時你還是確信文件體積不正常,你可以嘗試如下的方法
新建一個工作簿,把現有文件中的工作表一一剪切到新的工作簿中。請注意這里用的是「剪切」方法,不是「移動或復制工作表」,也不是「復制」。沒錯,就是先選中工作表中的內容,然後「剪切」,游標移動到目標工作表,然後「粘貼」。這樣做唯一不足的地方就是,目標工作表的行和列格式可能要稍微調整一下。
第二部分:如何給Excel加速
可能影響Excel的運行速度的幾個方面
1。設備的配置是否合理?特別是Office 2003,功能的確是很強大了,但相應的對硬體的要求也提高了。一般用戶都用Windows Xp系統,然後裝Office 2003 ,當然還有其他的軟體了,這樣的情況,我推薦的配置是:CPU P4 1G及以上,內存256MB及以上,硬碟40G及以上。根據自己的計算機的配置情況,你也可能選擇只安裝部分(而不一定是全部)Office組件和工具。
2。載入宏。Excel內置了幾個載入宏程序,可以幫助我們實現一些高級功能。另外,我們自己也可以編寫,或者在網上也可以找到更多的各式各樣的載入宏程序。在使用載入宏時我可以給出的建議有:首先一定要確認載入宏的來源是否正當?下載後,安裝前,強烈推薦要先殺毒。其次,要用的時候再載入它,而不主張一直把所有的載入宏都載入上。
3。自動重算,自動保存選項的考量。這兩個選項在一定程度上給我們的工作帶來了便利。但在有些時候(例如是公式比較多的時候),特別是自動重算,可能導致運行速度變慢。前面提到:自動保存選項也是可能導致文件增大的一個因素。有選擇性地在操作一些文件時關閉這兩個選項,可能會對運行速度有幫助。
4。迭代計算選項的考量。出於某種特殊的需求,我們可能會允許工作簿進行迭代計算,也就是循環引用(這種有目的的循環引用可以被用到解聯立方程等一些特殊的場合)。但是這種循環引用會導致工作表頻繁地被計算,當工作表任何地方發生變化時,就被重新計算一次。所以,這一點也是影響Excel速度的原因之一。建議不要勾上這個選項。
5。文件不正常(主要是本文第一部分所提到的一些情況)。這一項的解決不再贅述。
6。不恰當地使用了其他一些外部工具可能導致的問題。例如一些測試版的軟體,就好比目前的VSTO 2005 BETA2 ,這裡面有一些針對Excel進行編程的工具。有的朋友(請注意:只是可能)就會發現,安裝了這個工具後,或者即使後來卸載了這個工具後,Excel在讀文件,特別是內部有宏的文件時非常奇怪地「吃」內存,具體地說就是Excel會瘋狂地佔用內存,以致根本就無法正常工作。對於這種情況,有一個比較簡便的方法就是使用:幫助=〉檢測與修復 ,有兩個選項:修復時恢復快捷方式;放棄自定義設置並恢復默認設置。如果兩個選項都選上了,或者至少第二個選項選上了的話,執行修復完後一般都能解決這個問題。請注意:在執行這個操作之前,請確定你已經清楚這樣操作可能導致的一些問題(例如Outlook的個人數據文件可能需要重新指定:文件不會丟失,但修復完重新開Outlook前,請到控制面板=〉郵件 對話框中指定你的個人數據文件)。強烈建議你要先閱讀相應的幫助文檔。
第三部分:如何識別宏病毒?
在VBE(Visual Basic編輯器)中,激活工程資源管理器,並定位到你要檢查的工作簿。 檢查工作簿中所有模塊(包括ThisWorkBook模塊)中的代碼,查看是否有你不熟悉的VBA代碼。病毒代碼往往格式混亂並且含有大量奇怪的變數名稱。另一個選擇是使用市售的查毒軟體。
為保證安全,建議將OFFICE 的宏安全性級別設置為中級後者以上(請注意:如果設置為高級的話,你將不會收到任何的通知,Excel自動禁止所有宏運行)
第四部分:結語
1。正如我不止一次在新聞組中提到的一樣,Excel並不是設計用來存儲數據的。所以我不推薦在Excel中存放太多的數據。雖然Excel工作簿所允許的工作表數量並沒有什麼具體的限制(Excel2003),但我推薦的工作表數量不要超過10個。上次有個朋友說他有一個文件足有81MB,這是在是令人擔憂的。即使前三部分提到的一些問題都解決好了,而數據量如此之大的話,速度還肯定是慢的。
2。以上為個人經驗,僅供參考和研究交流之用
3。在你決定按照以上提到的一些方法進行操作之前,建議你保留一份文件備份到安全的地方。
這里補充一點:
數據透視表是可以解決相關的問題點,請問有沒有樣板,即數組與透視表對比的兩個文件貼上來看一下,以便學習.
數組公式、VBA威力巨大,在某些情形下提高效率非常明顯,但各有其弱點。數組公式在大數據的時候,運行速度慢得無法忍受。比如,我日常需要編製得幾個報表,原始數據有4-8萬行,20——30列,用數組根本無法操作。倒是利用數據透視表及其他一些組合功能,可謂神速。而VBA主要適用與日常比較固定的一些工作,對於一些臨時性工作而言,缺乏靈活性,有殺雞用牛刀之嫌疑。因此,根據我個人多年工作經驗的體會,能熟練地靈活運用EXCEL基本功能和常用函數,就可以高效地完成大部分日常工作。
我比較常用地東西有:數據透視表,數據——有效性,ctrl+enter,index ,match,indirect,offset,if,vlookup,下拉列表框,絕對引用與相對引用,編輯——選擇性粘貼(數值、乘除、轉置等),圖表,條件格式,定義名稱,分列,填充等。
相反觀點:數據透視表的計算是excel中內置的,同樣的計算次數速度與數組公式是一樣的,數組公式計算慢有兩個因素,一是公式的編寫不合理,另一個主要的原因是數組公式要對所有的引用數據進行計算,不管這些數據是否有效。
VBA應該是最靈活的,在VBA中結合數組公式是可以達到最佳目的的,可用VBA先分析出數組公式要用的有效引用區域,在輔助表中進行數組計算(這個速度比用VBA直接分析計算要快得多),再將結果記入需要的單元格中,然後刪除輔助表。
其實你說的那些基本操作均可用VBA來做的,速度比手工做要快
4. SQL資料庫太大怎麼辦
我有個大的 SQL 文件要回放,需要馬上做,但又怕壓死業務,怎麼辦?
先來建一個測試庫:
可以看到 CPU 已經非常冷靜,並且緩慢的處理數據。
💡小貼士:pv 工具既可以用於顯示文件流的進度,也可以用於文件流的限速。在本實驗中,我們用 PV 來限制 SQL 文件發到 MySQL client 的速度,從而限制 SQL 的回放速度,達到不影響其他業務的效果。