跳转至

数据导出

概要

数据导出是将正在导入 Hive Analytics 的事件数据按小时提取并上传到云存储的功能。

数据导出提供的是事件原始(raw)数据,您可以直接构建数据库,或加工成所需形式后用于分析。

数据的文件转换和传输由 Hive Analytics 提供,但云存储本身需要注册到您正在使用的云服务中。

Note

数据按事件提供,不支持按项目分拆传输。


可以做什么?

数据分析师

  • 可以将 Hive Analytics 收集的数据直接导入自家数据库,按所需形式加工并进行深度分析。
  • 可以将原始数据接入自有 BI 工具或分析环境,构建自定义仪表板。

开发者

  • 可以将 Hive 事件数据自动导入自有数据管道。
  • 可以与 AWS S3 或 GCP Cloud Storage 集成,按小时从云存储直接使用最新事件数据。

快速开始

首次设置数据导出时,请按以下步骤完成云存储集成。

  1. 在要使用的云存储(AWS S3 或 GCP Cloud Storage)中创建用于数据导出的专用 bucket,并准备认证密钥。
  2. 访问 Analytics 控制台 > 数据 > 数据导出 设置页面。
  3. 选择要提取的事件(日志)。(最多 10 个)
  4. 选择存储(AWS S3 / GCP Cloud Storage)并输入 bucket 名称。
  5. 选择数据类型(CSV / JSON)。
  6. 注册认证密钥。

Note

有关各云存储的 bucket 创建和认证密钥发放方法,请参考 全部功能


全部功能

数据导出逻辑

data_export_01.png 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'

数据导出设置

data_export_02.png

选择事件

选择要提取的事件(日志)。

  • 可通过填写部分事件名进行搜索和选择。
  • 最多可选择 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 的数据。
  • 完成时间可能因文件数量和上传容量而异。

注册认证密钥

上传到云存储需要权限。请注册具有数据保存权限的认证密钥或认证密钥文件。不同云服务的认证密钥注册方式不同。

  • S3 — 注册 ACCESS_KEY、ACCESS_SECRET_KEY 值 data_export_03.png
  • GCS — 注册认证密钥文件 data_export_04.png

云存储设置

GCP - Google Cloud Storage

要向 Google Cloud 导出数据,需要进行如下设置。

  1. 在 Google Cloud 控制台页面中进入 Cloud Storage

    data_export_05.png 2. 创建专用于数据导出的 bucket。 - bucket 名称一旦设置无法更改,如有需要必须删除现有 bucket 后重新创建。 - 建议创建为数据导出专用 bucket。 3. 创建要提供给数据导出的服务密钥,并为 bucket 授予写入权限。 1. 在控制台页面中进入 IAM 与管理员 → 服务账号菜单。 2. 点击 创建服务账号 创建新账号。 - 账号使用的 ID 可按需要命名。(例如:hive_data_transfer_account@projectId.iam.gserviceaccount.comdata_export_06.png - 创建账号后,进入密钥选项卡创建服务用密钥。 - 通过“添加密钥 → 创建新密钥”生成 JSON 格式的密钥文件。 - 下载生成的密钥文件后妥善保管。 3. 返回 Cloud Storage,进入创建的 bucket 的权限选项卡。 data_export_07.png - 在权限选项卡中,通过授予访问权限 → 添加主体,输入新创建的服务账号 ID。 - 在角色指定中选择 Cloud Storage → 存储对象创建者、存储对象查看者 两项权限后点击确认。 4. 完成所有设置后,在 Hive Analytics 的数据导出设置页面注册服务用密钥文件。

AWS - S3

要向 AWS 导出数据,需要进行如下设置。

  1. 在 AWS 控制台页面中进入 存储S3data_export_08.png
  2. 创建用于数据导出的 bucket
    • bucket 名称一旦设置无法更改,如有需要必须删除现有 bucket 后重新创建。
    • 建议仅作为数据导出专用 bucket 使用。
  3. 需要创建用于数据导出的账号。
    • 此用户应仅作为数据导出的专用账号使用。请新建 IAM user
  4. 为创建的账号生成访问密钥。相关信息可在 IAM 用户的访问密钥管理 - 创建访问密钥 中确认。
    • 请将访问密钥妥善保管。
  5. 为创建的账号添加 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/*"]
    }
  ]
}
  1. 完成所有操作后,将保管的访问密钥添加到 [Analytics 控制台 > 数据 > 数据导出] 设置中。

文件保存格式

数据保存目录结构

一般文件路径格式:

withhive/data_export/构建类型/YYYY/MM/DD/事件名/事件名_YYYY_MM_DD_UUID.文件扩展名
  • 构建类型:有 sandboxlive 两种值。在 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% 的文件。