Google 中的 BigQuery 數據結構:如何開始使用雲存儲
已發表: 2022-04-12Google BigQuery 是一種雲存儲服務,可讓您在一個系統中收集所有數據,並使用 SQL 查詢輕鬆對其進行分析。 為了方便使用數據,它的結構應該正確。 在本文中,我們將解釋如何創建表和數據集以上傳到 Google BigQuery。
目錄
- 數據集:它們是什麼以及如何創建一個
- 如何添加表以將數據加載到 Google BigQuery
- 如何更改表架構
- 從/向 Google BigQuery 導出和導入數據
- 使用來自 OWOX BI 的插件導出和導入數據
- 為什麼要在 Google BigQuery 中收集數據?


最佳 OWOX BI 營銷案例
下載數據集:它們是什麼以及如何創建一個
要使用 Google BigQuery,您需要在 Google Cloud Platform (GCP) 中創建一個項目。 註冊後,您將可以在免費試用期內訪問所有 Cloud Platform 產品,並在接下來的 12 個月內花費 300 美元購買這些產品。

在 Google Cloud Platform 中創建項目後,您需要向 Google BigQuery 添加至少一個數據集。
數據集是用於組織和控制對數據的訪問的頂級容器。 簡單來說,它是一種文件夾,您的信息以表格和視圖的形式存儲在其中。
在 GCP 中打開您的項目,轉到BigQuery標籤,然後單擊Create Dataset :

在打開的窗口中,指定數據集的名稱和表的保質期。 如果您希望自動刪除包含數據的表,請指定確切的時間。 或者保留默認的Perpetual 選項,以便只能手動刪除表。

處理站點字段是可選的。 默認情況下,它設置為美國多區域。 您可以在幫助部分找到有關用於存儲數據的區域的更多信息。
如何添加表以將數據加載到 Google BigQuery
創建數據集後,您需要添加要收集數據的表。 表是一組行。 每行由列組成,也稱為字段。 根據數據源,有多種方法可以在 BigQuery 中創建表:
- 手動創建一個空表並為其設置數據架構
- 使用先前計算的 SQL 查詢的結果創建表
- 從您的計算機上傳文件(CSV、AVRO、JSON、Parquet、ORC 或 Google 表格格式)
- 您可以創建一個引用外部源的表,而不是下載或流式傳輸數據:Cloud Bigtable、Cloud Storage 或 Google Drive。
在本文中,我們將仔細研究第一種方法:手動創建表。
步驟 1 。 選擇要添加表的數據集,然後單擊Create Table :

步驟 2.在 Source 字段中,選擇Empty Table ,並在Table Type字段中,選擇目標對象本機格式的 Table。 想出一個表的名字。
重要提示:數據集、表和字段的名稱必須是拉丁字符,並且只能包含字母、數字和下劃線。

步驟 3 。 指定表架構。 模式由四個組件組成:兩個必需的(列名和數據類型)和兩個可選的(列模式和描述)。 正確選擇類型和字段模式將有助於處理數據。
BigQuery 中的示例架構:

列名
在列名中,需要指定每列負責的參數:日期、user_id、產品等。標題只能包含拉丁字母、數字和下劃線(最多128個字符)。 不允許使用相同的字段名稱,即使它們的大小寫不同。
數據類型
在 BigQuery 中創建表時,您可以使用以下字段類型:
模式
BigQuery 支持以下表格列模式:
注意:不需要填寫模式字段。 如果未指定模式,則默認列為 NULLABLE。
列說明
如果您願意,您可以為表格中的每一列添加簡短描述(不超過 1024 個字符),以解釋特定參數的含義。
在 BigQuery 中創建空表時,您需要手動設置架構。 這可以通過兩種方式完成:
1. 單擊添加字段按鈕並為每列填寫名稱、類型和模式。
2. 使用Edit as text開關將表模式輸入為 JSON 數組。
此外,當從 CSV 和 JSON 文件加載數據時,Google BigQuery 可以使用自動架構檢測。
此選項的工作原理如下:BigQuery 從您指定的源中選擇一個隨機文件,掃描其中最多 100 行數據,並將結果用作代表性樣本。 然後它會檢查上傳文件中的每個字段,並嘗試根據樣本中的值為其分配數據類型。
加載 Google 文件時,BigQuery 可以更改列的名稱以使其與自己的 SQL 語法兼容。 因此,我們建議您上傳帶有英文字段名的表格; 例如,如果名稱是俄語,系統將自動重命名它們。 例如:

如果在加載數據時列名輸入錯誤,或者您想更改現有表中列的名稱和類型,您可以手動執行此操作。 我們會告訴你怎麼做。
如何更改表架構
將數據加載到 Google BigQuery 後,表格佈局可能與原始表格略有不同。 例如,字段名稱可能因 BigQuery 不支持的字符而發生更改,或者字段類型可能是 INTEGER 而不是 STRING。 在這種情況下,您可以手動調整架構。
如何更改列名
使用 SQL 查詢,選擇表中的所有列並為要重命名的列指定一個新名稱。 在這種情況下,您可以覆蓋現有表或創建一個新表。 請求示例:
#legacySQL Select date, order_id, order___________ as order_type, -- new field name product_id from [project_name:dataset_name.owoxbi_sessions_20190314]
#legacySQL Select date, order_id, order___________ as order_type, -- new field name product_id from [project_name:dataset_name.owoxbi_sessions_20190314]
#standardSQL Select * EXCEPT (orotp, ddat), orotp as order_id, ddat as date from `project_name.dataset_name.owoxbi_sessions_20190314`
#standardSQL Select * EXCEPT (orotp, ddat), orotp as order_id, ddat as date from `project_name.dataset_name.owoxbi_sessions_20190314`
如何更改架構中的數據類型
使用 SQL 查詢,從表中選擇所有數據並將相應的列轉換為不同的數據類型。 您可以使用查詢結果覆蓋現有表或創建新表。 請求示例:

#standardSQL Select CAST (order_id as STRING) as order_id, CAST (date as TIMESTAMP) as date from `project_name.dataset_name.owoxbi_sessions_20190314`
#standardSQL Select CAST (order_id as STRING) as order_id, CAST (date as TIMESTAMP) as date from `project_name.dataset_name.owoxbi_sessions_20190314`
如何更改列模式
您可以按照幫助文檔中的說明將列模式從 REQUIRED 更改為 NULLABLE。 第二個選項是將數據導出到 Cloud Storage,然後從那里以所有列的正確模式將其返回到 BigQuery。
如何從數據架構中刪除列
使用 SELECT * EXCEPT 查詢排除一列(或多列),然後將查詢結果寫入舊表或創建新表。 請求示例:
#standardSQL Select * EXCEPT (order_id) from `project_name.dataset_name.owoxbi_sessions_20190314`
#standardSQL Select * EXCEPT (order_id) from `project_name.dataset_name.owoxbi_sessions_20190314`
此外,還有第二種方法可以更改適用於上述所有任務的架構:導出數據並將其加載到新表中。 要重命名列,您可以將數據從 BigQuery 上傳到 Cloud Storage,然後將其從 Cloud Storage 導出到新表中的 BigQuery,或者使用高級參數覆蓋舊表中的數據:

您可以在 Google Cloud Platform 幫助文檔中了解更改表結構的其他方法。
從/向 Google BigQuery 導出和導入數據
您可以通過界面或 OWOX BI 的特殊插件從 BigQuery 下載數據並將數據上傳到 BigQuery,而無需開發人員的幫助。 讓我們詳細考慮每種方法。
通過 Google BigQuery 界面導入數據
要將必要的信息(例如有關用戶和離線訂單的數據)上傳到存儲中,請打開您的數據集,單擊創建表,然後選擇數據源:Cloud Storage、您的計算機、Google Drive 或 Cloud Bigtable。 指定文件的路徑、其格式以及將加載數據的表的名稱:

單擊創建表後,數據集中將出現一個表。
通過 Google BigQuery 界面導出數據
還可以從 BigQuery 上傳處理過的數據——例如,通過系統界面創建報告。 為此,請打開包含數據的所需表,然後單擊導出按鈕:

該系統將提供兩個選項:在 Google Data Studio 中查看數據或將其上傳到 Google Cloud Storage。 如果您選擇第一個選項,您將立即轉到數據洞察,您可以在其中保存報告。
選擇導出到 Google Cloud Storage 將打開一個新窗口。 在其中,您需要指定保存數據的位置和格式。
使用來自 OWOX BI 的插件導出和導入數據
免費的 OWOX BI BigQuery Reports 插件可讓您快速方便地將數據直接從 Google BigQuery 傳輸到 Google Sheets,反之亦然。 因此,您無需準備 CSV 文件或使用付費的第三方服務。
例如,假設您想將離線訂單數據上傳到 BigQuery 以構建 ROPO 報告。 為此,您需要:
- 在瀏覽器中安裝 BigQuery Reports 插件。
- 在 Google 表格中打開您的數據文件,然後在選項卡Add-ons中,選擇OWOX BI BigQuery Reports → Upload data to BigQuery。
- 在打開的窗口中,在 BigQuery 中選擇您的項目和數據集,然後輸入所需的表名稱。 此外,選擇要加載其值的字段。 默認情況下,所有字段的類型都是 STRING,但我們建議根據上下文選擇數據類型(例如,對於具有數字標識符的字段,選擇 INTEGER;對於價格,選擇 FLOAT):

- 點擊開始上傳按鈕,您的數據將被加載到 Google BigQuery
您還可以使用此插件將數據從 BigQuery 導出到 Google 表格 - 例如,將數據可視化或與無權訪問 BigQuery 的同事共享。 為了這:
- 打開谷歌表格。 在Add-ons選項卡中,選擇OWOX BI BigQuery Reports → Add a new report:

- 然後在 Google BigQuery 中輸入您的項目並選擇添加新查詢。
- 在新窗口中,插入您的 SQL 查詢。 這可能是將數據從表上傳到 BigQuery 的查詢,也可能是提取和計算必要數據的查詢。
- 重命名查詢,以便通過單擊“保存並運行”按鈕輕鬆查找和啟動它。

要定期將數據從 BigQuery 上傳到 Google 表格,您可以啟用計劃的數據更新:
- 在Add-ons選項卡中,選擇OWOX BI BigQuery Reports → Schedule report :

- 在打開的窗口中,設置報告更新的時間和頻率,然後點擊保存:

為什麼要在 Google BigQuery 中收集數據?
如果您還沒有體會到 Google BigQuery 雲存儲的好處,我們建議您嘗試一下。 在 OWOX BI 的幫助下,您可以將來自您的網站、廣告來源和內部 CRM 系統的數據合併到 BigQuery 中,以便:
- 設置端到端分析並找出營銷的真正回報,同時考慮線下訂單、退貨以及購買途中的所有用戶步驟;
- 使用任何參數和指標創建完整的非抽樣數據報告;
- 使用群組分析評估客戶獲取渠道;
- 了解您的在線廣告如何影響線下銷售;
- 降低廣告費用的份額,延長客戶的生命週期,整體提升您客戶群的LTV;
- 根據客戶的活動對客戶進行細分,並與他們進行個性化的交流。
OWOX BI 有一個免費試用期,在此期間您可以試用該服務的所有功能。