讓可能超出你的想像– 從Google Analytics到Big query(1)

blank

讓可能超出你的想像-- 從Google Analytics到Big query(1)

最近一直在忙著看球,工作上也一直沒遇到什麼特別有趣的問題。想想不來更新點什麼對不起這六七十的關注。試試來寫一下什麼是Big Query吧。

注意,和本專欄其他所有的文章一樣,我不想寫成一個手把手教大家怎麼做的教程,而是想讓大家對一個方法,一個工具有一個概括的了解;或是只是分享一些工作中遇到到有趣的坑和小技巧們。如果大家繼續感興趣的話,我想Google官網的資料和官方論壇的講解一定會比我的專欄內容詳細豐富的多。

好了,有道是:

連綿陰雨六月天,粽香猶在齒唇間。

龍舟難把遊人渡,何日談笑楊柳邊。

閒話少敘,咱們書歸正傳。

一、 Big Query是什麼

Bigquery是Google推出的一個基於Google雲平台(Google cloud platform)的快速、類SQL的IaaS( Infrastructure as a Service )工具。

Bigquery 的模塊有四個:

  • 管理數據(包括新建,刪除表,導入導出數據)
  • 查詢數據
  • 數據整合(通過API整合你在任意平台的數據)
  • 賬戶管理

相信大家比較關心的是查詢和整合這兩個環節。如果這個文章不爛尾的話我會詳細講一下這兩塊。唯一第一部分,我還是先說一下GA和BQ的關係吧。

1 Google Analytics和Big Query.

這兩個東西在本質上其實是完全獨立,互不影響的。 GA是收集網站/APP數據,生成可視化報告的工具,而BQ是大數據處理平台。然而為什麼我們在談BQ的時候總是離不開GA呢?因為通過BQ,我們可以將GA的能力發揮到最大。

大家莫閒我囉嗦,我先來講一下GA的工作流程。

blank

(微信截圖畫的圖,最近減肥吃的少,畫圖略醜大家見諒)

以網頁為例,

1. 在網頁端,GA需要部署一小段js代碼來收集訊息並將這些訊息以hit(匹配)的形式逐條發送到GA服務器。

hit:包括page view、event、social event、Transaction(舊版)、item(舊版)等。是GA統計數據的最小單元。可以理解成一個用戶動作。

2. 當Google的服務器收集到這些發送來的hit之後會對這些hit進行處理加工。比如講30分鐘以內的hits歸總到一個session,比如在session定義之後定義哪個hit是entrance,哪個hit是exit等。

entrance的問題也挺好玩的,他和landing page是不同的。有興趣的小朋友可以看這裡.別忘了順手給個贊~

3. 在Google對數據進行處理之後,我們就可以在GA的報告裡看到這些數據啦~ 當然在GA報告端我們還有view filter,segment,等一系列需要處理的事情。但是這個時候數據已經被固定了,不會再受到任何影響了。憑藉Google強大的大數據處理能力,我們可以很快地通過上億條訊息在GA界面查詢到我們想要的結果。

那麼,有的小伙伴問了,BQ呢?題目明明是bigquery,墨跡了這麼久GA原理幹嘛,這些我都知道啊!

Google再將收到的hits處理之後發給GA報告之前,其實我們還有一個其他的選項。把他們發給Big Query。 GAP的用戶可以關聯GA賬戶和BQ賬戶,以讓GA的數據可以每八小時自動導入Big Query。非GAP用戶也可以通過API手動每日導入數據到Big Query。

在big Query中,我們的數據是這樣組成的。 (待我有時間一定好好畫圖來給這個更新掉!)

blank

每個session是一行,每個session包含了數個hits,每個hits也有自己的不同屬性。

具體參數請看這裡: Schema

GA很強大,但是還是有一些限制,比如不可以同時cross 多個dimension;比如不能對單一用戶的行為進行有效跟踪(新出的user explorer報告有很多限制,如果有有興趣的同學我們別處再聊);比如不能與其他數據有效結合。

但是在Big Query裡,通過平臺本身提供的類SQL語言,倚靠Google強大的計算能力。你可以輕鬆地在Big Query中實現上述在GA裡很難獲取的結果。

2.為什麼我選用Big Query

這小節名稱起的跟廣告一樣..

Big Query不是免費的不是開源的。但是它:

1.很快

憑藉Google 強大的算法和數據處理能力。他能在幾秒鐘之內查詢幾個G,幾十個G的數據。知乎上有個問題,什麼是大數據。多大才是大數據。我記得我同事聊過這個問題,當我們不再關心這個數據的量有多大的時候才是真的大數據。也就是說,在Big Query裡,計算時間不會隨著數據量的增大而線性增長。

2.很便宜

Big Query的收費模式是pay as you go.

也就是說即使你的數據有50G,當此次查詢只使用了20M的數據時,他也只是收取20M的費用。具體價格這裡有一張表。好像略有變動,不過相差應該不大。而且如果你是GA Premium用戶,每個月還有500刀的BQ免費額度。通常使用強度下這500刀足夠了。

blank

3. 很有用

你可以通過Big Query做很多事,因為你手裡的是raw data,只要你的數據採集是正確且結構良好的,你可以通過BQ玩出很多花樣。比如

  • 跨session的用戶行為分析。
  • 完整的單一用戶行為報告而非聚合報告。
  • 突破GA的關於PII的限制。 (GA不允許明文上傳PII訊息,少年莫玩火。)
  • 將你的線下數據與線上數據整合。
  • 將結果導入到你的其他數據產品中
  • .........

PII:Personally identifiable information,包括但不限於郵箱,電話,住址,姓名,證件號,出生日期等。 GA是不可以明文上傳這樣的訊息到GA服務器的,否則Google 有權刪除你的GA賬號。

3要使用BQ我需要準備什麼

BQ本身是不需要GA的,但是鑑於本文主要是講如何在BQ中分析你的GA數據。所以,一個GA賬戶還是必要的。

SQL和數據庫的基礎知識。嗯。 。還要靈活運用是不是?

下面這個是BQ的基本使用界面(這個是web界面,當然BQ還支持使用命令行操作,限於篇幅--其實是太晚了我餓了- 這裡只簡單介紹一下web ui)

blank

我們可以看到,左側是你的數據庫們,裡面都是一張張可愛或者不可愛的表,右上方是你的查詢語句,查詢語句寫完之後會預估此次查詢會調用的多少數據(也就是你要花幾分錢)。當點擊那個紅色的“run query”按鈕後,就會在下面看到查詢結果。例如此次查詢使用了2.6秒,查詢了3.49GB的數據。

*這是一個Google的公共例子。

第一篇就寫到這裡了。不知道大家是不是會對big query有個整體的印象。

如果我最近有時間的話盡量會把這個主題完成,接下來會介紹一下BG具體的使用方法以及一些例子。

好久不碼字了,寫了這些還挺累的。

是不是這裡也應該有一順口溜呼應?

What do you think?

Written by marketer

blank

做數據分析有前景嗎?

blank

關於大數據最常見的10個問題