数据导出¶
概要¶
数据导出是将正在导入 Hive Analytics 的事件数据按小时提取并上传到云存储的功能。
数据导出提供的是事件原始(raw)数据,您可以直接构建数据库,或加工成所需形式后用于分析。
数据的文件转换和传输由 Hive Analytics 提供,但云存储本身需要注册到您正在使用的云服务中。
Note
数据按事件提供,不支持按项目分拆传输。
可以做什么?¶
数据分析师¶
- 可以将 Hive Analytics 收集的数据直接导入自家数据库,按所需形式加工并进行深度分析。
- 可以将原始数据接入自有 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 → 存储对象创建者、存储对象查看者 两项权限后点击确认。 4. 完成所有设置后,在 Hive Analytics 的数据导出设置页面注册服务用密钥文件。
AWS - S3¶
要向 AWS 导出数据,需要进行如下设置。
- 在 AWS 控制台页面中进入 存储 → S3。

- 创建用于数据导出的 bucket。
- bucket 名称一旦设置无法更改,如有需要必须删除现有 bucket 后重新创建。
- 建议仅作为数据导出专用 bucket 使用。
- 需要创建用于数据导出的账号。
- 此用户应仅作为数据导出的专用账号使用。请新建 IAM user。
- 为创建的账号生成访问密钥。相关信息可在 IAM 用户的访问密钥管理 - 创建访问密钥 中确认。
- 请将访问密钥妥善保管。
- 为创建的账号添加 inline 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% 的文件。


