資料匯出¶
概要¶
資料匯出是將匯入到 Hive Analytics 的事件資料每小時抽取後,上傳到雲端儲存空間的功能。
資料匯出提供的是事件原始(raw)資料,可直接建立資料庫,或依需求加工成想要的形式,以供分析使用。
資料的檔案轉換與傳送由 Hive Analytics 提供,但雲端儲存空間仍需在您使用的雲端服務中完成註冊。
Note
資料依事件提供,不支援依專案分割傳送。
可以做什麼?¶
資料分析師¶
- 可將 Hive Analytics 收集的資料直接匯入自家 DB,加工成需要的形式並進行深度分析。
- 可將原始資料與內部 BI 工具或分析環境整合,建立自訂儀表板。
開發者¶
- 可將 Hive 事件資料自動匯入自家資料管線。
- 可與 AWS S3 或 GCP Cloud Storage 整合,讓每小時最新的事件資料可直接在雲端儲存空間中使用。
快速開始¶
如果是第一次設定資料匯出,請依照以下步驟完成雲端儲存空間整合。
- 在要使用的雲端儲存空間(AWS S3 或 GCP Cloud Storage)中建立資料匯出專用 bucket,並準備驗證金鑰。
- 進入 Analytics 控制台 > 資料 > 資料匯出 設定頁面。
- 選擇要抽取的事件(日誌)。(最多 10 個)
- 選擇儲存空間(AWS S3 / GCP Cloud Storage)並輸入 bucket 名稱。
- 選擇資料類型(CSV / JSON)。
- 註冊驗證金鑰。
Note
各雲端儲存空間的 bucket 建立與驗證金鑰發行方式,請參考 全部功能。
全部功能¶
資料匯出邏輯¶
將已儲存在 BigQuery 的事件資料,依照資料匯出週期每小時轉換成檔案後,上傳至已註冊的雲端儲存空間。
資料基準¶
- 查詢所選事件資料並傳送檔案到雲端儲存空間。
- 資料會以 UTC 為基準,依每小時傳送週期抽取。
- 例) 2023 年 9 月 1 日 01:00 (UTC) 時,會以 2023 年 9 月 1 日 00:00:00 ~ 00:59:59 (UTC) 的資料為基準進行抽取與傳送
- 分區基準會針對 dateTime 屬性設定為查詢日 -1 day。
- 例) 以 2023 年 9 月 1 日 00:00:00 ~ 00:59:59(UTC) 的資料為基準抽取時,會設定為 2023 年 8 月 30 日 00:00:00
- datetime 值若小於查詢時間 -1 day,則不會包含在匯出資料中。
- 會依資料寫入 BigQuery 的時間進行查詢。
bigqueryRegistTimestamp屬性基準- 資料抽取範例查詢
SELECT *
FROM bigquery_table
WHERE bigqueryRegistTimestamp BETWEEN '2023-09-01 00:00:00' and '2023-09-01 00:59:59'
and dateTime >= '2023-08-31 00:00:00'
資料匯出設定¶
選擇事件¶
選擇要抽取的事件(日誌)。
- 可輸入部分事件名稱進行搜尋與選擇。
- 最多可選 10 個事件。
選擇儲存空間¶
儲存資料時必須使用雲端儲存空間。
支援雲端:
- AWS S3
- GCP Google Cloud Storage
位置(bucket 名)¶
輸入儲存空間的 bucket 名稱。
- 若 AWS S3 bucket 名稱為
s3://s3_bucket_name→ 只需輸入s3_bucket_name - 若 Google Cloud Storage bucket 名稱為
gs://google_bucket_name→ 只需輸入google_bucket_name
資料類型¶
提供兩種資料類型。
- CSV
- JSON
- 所有檔案都會以 UTF-8 編碼。
檔案上傳週期¶
每小時會抽取一小時範圍的資料並進行上傳。
- 時間會以
bigqueryRegistTimestamp屬性值為基準抽取。(UTC 基準)- 例) 15 點開始進行資料抽取與上傳(UTC 基準): 會抽取
bigqueryRegistTimestamp屬性中 05:00:00 ~ 05:59:59 的資料。
- 例) 15 點開始進行資料抽取與上傳(UTC 基準): 會抽取
- 完成時間會因檔案數量與上傳容量而有所不同。
註冊驗證金鑰¶
上傳資料到雲端儲存空間需要權限。必須註冊具備資料儲存權限的驗證金鑰或驗證金鑰檔案。依雲端服務不同,驗證金鑰的註冊方式也不同。
雲端儲存空間設定¶
GCP - Google Cloud Storage¶
若要匯出資料到 Google Cloud,需進行以下設定。
-
在 Google Cloud 控制台頁面中移至 Cloud Storage。
2. 建立專門用於資料匯出的 bucket。 - bucket 名稱一旦設定就無法變更,必要時必須刪除既有 bucket 再重新建立。 - 建議建立為資料匯出專用 bucket。 3. 建立要提供給資料匯出的服務金鑰,並授予 bucket 寫入權限。 1. 在控制台頁面移至 IAM 與管理員 → 服務帳號選單。 2. 點擊 建立服務帳號 以建立新帳號。 - 帳號使用的 ID 可依需求自行建立。(例:hive_data_transfer_account@projectId.iam.gserviceaccount.com)
- 帳號建立後移至金鑰分頁並建立服務用金鑰。 - 透過新增金鑰 → 建立新金鑰,建立 JSON 格式的金鑰檔案。 - 建立後請下載並妥善保管金鑰檔案。 3. 再次移至 Cloud Storage,在建立的 bucket 中移至權限分頁。
- 在權限分頁中,於授予存取權 → 新增主要對象輸入剛建立的服務帳號 ID。 - 在角色指定中,於 Cloud Storage → Storage Object Creator、Storage Object Viewer 兩項權限後點擊確認。 4. 所有設定完成後,將服務用金鑰檔案註冊到 Hive Analytics 的資料匯出設定頁面。
AWS - S3¶
若要匯出資料到 AWS,需進行以下設定。
- 在 AWS 控制台頁面中移至 儲存 → S3。

- 建立資料匯出專用 bucket。
- bucket 名稱一旦設定就無法變更,必要時必須刪除既有 bucket 再重新建立。
- 建議僅作為資料匯出專用 bucket 使用。
- 必須建立用於資料匯出的帳號。
- 這個使用者只能作為資料匯出的專用帳號使用。請新建 IAM user。
- 為已建立的帳號建立存取金鑰。相關資訊可在 管理 IAM 使用者的存取金鑰 - 建立存取金鑰 中確認。
- 請將存取金鑰妥善保存在安全位置。
- 為已建立的帳號新增 inline policy。
- 若要包含使用者群組的內嵌政策,請參考相關項目建立 policy。
- 選擇 JSON 分頁建立 policy,並貼上以下 JSON 程式碼。
YOUR-BUCKET-NAME-HERE項目請填入已建立的 bucket 名稱。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetBucketLocation", "s3:ListBucket"],
"Resource": ["arn:aws:s3:::YOUR-BUCKET-NAME-HERE"]
},
{
"Effect": "Allow",
"Action": ["s3:PutObject"],
"Resource": ["arn:aws:s3:::YOUR-BUCKET-NAME-HERE/*"]
}
]
}
- 完成所有作業後,將保管的存取金鑰加入 [Analytics 控制台 > 資料 > 資料匯出] 設定。
檔案儲存格式¶
資料儲存目錄結構¶
一般檔案路徑格式:
- 建置類型: 具有
sandbox與live兩種值。若在 sandbox 設定,會儲存到 sandbox。 - YYYY/MM/DD: 資料抽取的基準年/月/日。(UTC 基準)
- UUID: 用於避免因檔名重複而覆寫的隨機值。
- 副檔名: 會依所選檔案類型而不同。
| 檔案類型 | 是否壓縮 | 最終檔名 |
|---|---|---|
| json | V | withhive/data_export/建置類型/YYYY/MM/DD/事件名稱/事件名稱_YYYY_MM_DD_UUID.json.gzip |
| csv | V | withhive/data_export/建置類型/YYYY/MM/DD/事件名稱/事件名稱_YYYY_MM_DD_UUID.csv.gzip |
副檔名¶
- csv.gzip: 由以逗號( , )分隔欄位的資料所構成的檔案。檔案壓縮時無法設定加密(不支援)。
- json.gzip: 由以 Javascript 物件語法結構化的資料字串所構成的檔案。以行為單位區分,且是將 json 檔壓縮為 gzip 的檔案。檔案壓縮時無法設定加密(不支援)。
注意事項 & Tips¶
- 無法補傳過去資料:資料匯出會自註冊時點開始運作。註冊前收集的過去資料不會回溯傳送。
- 最大事件數限制:可選擇的事件數最多為 10 個。
- 每個事件的抽取資料總容量限制:資料抽取時若超過 500Mbytes,將會從傳送中排除。實際傳送的資料約會壓縮為 15% 左右的檔案。


