首页 > 代码库 > 入門級大數據分析:Google BigQuery

入門級大數據分析:Google BigQuery

大數據項目挺嚇人的,尤其是如果包含了設置和管理Hadoop集群。如果你更習慣於SQL,而不是MapReduce,但是發現關係型資料庫不符合分析需求,Google BigQuery值得一看。Google BigQuery提供了大數據分析入門級方法。

BigQuery減少了分析大型數據集面臨的一些實現挑戰。價格模型促進了統計分析技能的發掘,因此可以從數據樣品中導出有用的信息,而不是針對全部數據集進行蠻力分析。

有時,要用大數據工作意味著處理速度的精確。比如,如果想要確定操作同一網站的兩個不同的客戶群組是否不同,應該分析網站上與所有這些客戶活動相關每一個登錄日誌。或者,可以取出一部分客戶子集樣例,分析這些樣例之間的不同。基礎統計提供了工具,可以幫助理解這種類型分析的錯誤率,只要錯誤在可接受範圍內,結果對於決策制定就是有效的。

在TOP功能中可以看到這種交換,通過grouping和sorting操作返回頂行發現。可能返回近似的結果,但是這個函數通常比使用「group by」、「order by」和「"limit」的組合語句更快速。

Google BigQuery操作特性

BigQuery旨在分析數十億行近似的數據,使用類SQL語法。它並不是完全符合SQL資料庫的替代,並不適用於交易處理應用。BigQuery支持分析交互風格。使用SELECT命令構建查詢,對於任何SQL開發者都應該很熟悉。

查詢語言包括支持標準操作,比如joining、sorting和grouping,以及內嵌數據結構。正如我們所期望的大數據分析服務,可以支持統計函數,比如count、sum、average、variance和standard deviation(標準偏差)。Grouping函數和描述性統計的結合相當直接的在兩個總體中比較平均數和變異數。

入門級大數據分析:Google BigQuery
入門級大數據分析:Google BigQuery

聯接是標準化數據模型必要的操作,但是計算昂貴。BigQuery函數中的JOIN運算符類似於SQL join,但是在聯接兩個表時,其中一個表必須是8MB或者壓縮到更小。這種類型的限制可以進行更加有效的聯接操作,因為更小的表可以有效高速緩存,聯接到更大的表。如果必須聯接兩個大型表,可以使用JOIN EACH操作,但是性能就會更慢。

可以使用簡單的瀏覽器界面同BigQuery進行交互操作。瀏覽器工具保留查詢歷史,提供了構造查詢的工作局域。這是一種基本的工具;並不具備SQL開發者工具中全面的功能,比如MySQL Workbench和DBVisualizer。也可以通過命令行界面工作。


通過訪問Google的雲資源,你可能想知道為什麼你要為查詢樣例或者近似結果操心,畢竟,你可以在這個問題上投入更多的硬體不是嗎?對,你可以,但是BigQuery基於你分析了多少數據來收費。

Google的價格模型基於存儲和分析的數據總量。存儲費用是每月0.12GB美元。交互查詢為每處理1GB 0.035美元,包查詢費用為0.02美元/GB。為了限制處理的數據量,可以限制分析的行數,包括你實際需要結果的列。BigQuery使用柱狀數據存儲,因此並不是所有的行數據,在一個或者更多列查詢時回復。

數據存入BigQuery,使用負載工作,可以同Google Cloud Storage的數據工作,或者使用POST請求本地文件系統中的數據。文件可以格式化成為CSV或者JSON格式。壓縮文件限制到1GB,但是非壓縮文件能到1TB。負載工作包括多達一萬個文件,但是所有文件的大小總和不能超過1TB。由於每天每個表可以擁有多達1000個負載工作,這些定額對於大多數項目不見得有實際的影響。

FineReport報表免費下載——零編碼做報表、多維圖表、多源填報、許可權管理,完美兼容excel官網:http://www.finereport.com/tw/

入門級大數據分析:Google BigQuery