跳转至

导出数据

大纲

数据导出是每小时提取加载到 Hive 分析中的事件数据并将其上传到云存储的功能。

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

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

Note

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


你能做什么?

数据分析师

  • 您可以将从Hive分析中收集的数据直接加载到您公司的DB中,将其处理成所需的形式,并进行深入分析。
  • 您可以通过将原始数据链接到您自己的BI工具或分析环境来构建自定义仪表板。

开发者

  • 您可以自动将 Hive 事件数据加载到您自己的数据管道中。
  • 通过与AWS S3或GCP Cloud Storage链接,您可以直接从云存储中利用每小时的最新事件数据。

快速上手

如果您是首次设置数据导出,请按照以下步骤完成云存储集成。

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

Note

有关如何为每个云存储创建存储桶和颁发身份验证密钥的信息,请参阅所有功能。


全功能

数据导出逻辑

data_export_01.png

BigQuery中存储的事件数据按照每小时的数据导出周期转换为文件并上传到注册的云存储。

基于数据

  • 搜索选定的事件数据并将文件传输到云存储。
  • 基于UTC的每小时传输周期提取数据。
    • 示例)根据2023年9月1日00:00:00至00:59:59(UTC)的数据,于2023年9月1日01:00(UTC)提取并传输
    • dateTime 属性的分区标准设置为查看日期 -1 day。
    • 示例)根据 2023 年 9 月 1 日 00:00:00 至 00:59:59 (UTC)、2023 年 8 月 30 日 00:00:00 的数据提取时
    • 如果datetime的值小于观看时间-1 day,则不会包含在导出数据中。
  • 根据数据输入 Big Query 的时间搜索数据。
    • 基于 bigqueryRegistTimestamp 属性
    • 数据提取 sample Query
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

选择事件

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

  • 您可以通过输入活动名称的一部分来搜索和选择。
  • 最多可以选择 30 个事件。

选择存储库

您应该使用云存储作为存储数据的存储库。

支持的云:

  • AWS S3
  • GCP Google Cloud Storage

位置(存储桶名称)

输入存储桶 (bucket) 名称。

  • AWS S3 如果存储桶名称为 s3://s3_bucket_name → 仅输入 s3_bucket_name
  • Google Cloud Storage 如果存储桶名称为gs://google_bucket_name → 仅输入google_bucket_name

数据类型

提供了两种数据类型。

  • CSV
  • JSON
  • 所有文件均使用 UTF-8 进行编码。

文件上传周期

每小时提取并上传每小时范围内的数据。

  • 根据bigqueryRegistTimestamp属性值提取时间。 (基于UTC)
    • 示例)数据提取和上传从 15:00 开始(基于 UTC):从 05:00:00 到 05:59:59 的数据从 bigqueryRegistTimestamp 属性中提取。
  • 完成时间可能会因文件数量和上传容量而异。

注册认证密钥

将数据上传到云存储需要许可。您必须注册具有数据存储权限的认证密钥或认证密钥文件。认证密钥注册方法因云服务而异。

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

云存储设置

GCP - Google Cloud Storage

要将数据导出到 Google Cloud,需要进行以下设置。

  1. 在 Google Cloud Console 页面上,转到 Cloud Storage。

    data_export_05.png

  2. 创建桶(bucket)专用于数据导出。

    • 存储桶名称一旦设置就无法更改,如有必要,必须删除现有存储桶并创建新存储桶。
    • 建议创建专门用于数据导出的Bucket。
  3. 您必须创建服务密钥以提供数据导出并授予存储桶写入权限。

    1. 在控制台页面上,转至 IAM 和管理员 → 服务帐户菜单。
    2. 单击创建服务帐户 创建新帐户。
      • 您可以使用任何您想要的名称为您的帐户创建ID。 (示例:hive_data_transfer_account@projectId.iam.gserviceaccount.com) data_export_06.png
      • 创建帐户后,转到“密钥”选项卡并为服务创建密钥。
      • 通过添加密钥→创建新密钥来创建JSON形式的密钥文件。
      • 下载后请妥善保管创建的密钥文件。
    3. 返回到 Cloud Storage 并在您创建的 存储桶(bucket) 中,转到权限选项卡。 data_export_07.png
      • 在“权限”选项卡中,在“授予访问权限”→“添加主要成员”中输入新创建的服务帐户 ID。
      • 在角色分配中,添加两个权限 Cloud Storage → 存储对象创建者、存储对象查看者,然后单击确定。
  4. 完成所有设置后,在Hive Analytics的数据导出设置页面注册服务的密钥文件。

AWS - S3

要将数据导出到AWS,需要进行以下设置。

  1. 在 AWS 控制台页面上,导航至 存储 → S3。 data_export_08.png
  2. 创建专用于数据导出的存储桶(bucket)。
    • 存储桶名称一旦设置就无法更改,如有必要,必须删除现有存储桶并创建新存储桶。
    • 建议仅用作数据导出的存储桶。
  3. 您需要创建一个帐户才能导出数据。
    • 该用户只能用作数据导出的专用帐户。创建一个新的 IAM user。
  4. 为您创建的帐户生成访问密钥。相关信息可参见IAM用户访问密钥管理-访问密钥生成。
    • 将您的访问密钥存放在安全的地方。
  5. 为您创建的帐户添加 inline policy。
    • 请参阅包含用户组的内联策略(控制台)并创建策略。
    • 选择JSON选项卡创建policy,并粘贴以下JSON代码。
    • YOUR-BUCKET-NAME-HERE 项指定创建的桶名称。
{
  "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.文件扩展名
  • 构建类型:有两个值:sandbox 和 live。设置为 sandbox 时,将保存为 sandbox。
  • YYYY/MM/DD:提取数据的标准年/月/日。 (基于UTC)
  • UUID:随机值,以防止由于重复文件名而覆盖。
  • 文件扩展名:取决于所选的文件类型。
文件类型 是否压缩 最终文件名
json V withhive/data_export/buildType/YYYY/MM/DD/eventName/eventName_YYYY_MM_DD_UUID.json.gzip
csv V withhive/data_export/buildType/YYYY/MM/DD/eventName/eventName_YYYY_MM_DD_UUID.csv.gzip

文件扩展名

  • csv.gzip:由数据组成的文件,字段之间用逗号 (,) 分隔。压缩文件时无法进行加密设置(不支持)。
  • json.gzip: Javascript 由以对象语法构造的数据字符组成的文件。它以行分隔,是将json文件压缩为gzip的文件。压缩文件时无法进行加密设置(不支持)。

注意事项 & Tips

  • 过去的数据无法追溯:数据导出从注册时开始进行。注册前收集的历史数据将不会追溯转移。
  • 最大事件数量限制:可选择的最大事件数量为 30。
  • 限制每个事件提取的数据总量:提取数据时,如果超过500Mbytes,将被排除在传输之外。实际传输的数据是大约15%的压缩文件。

相关菜单

  • Event — 定义要导出的事件和属性
  • MMP 集成 — 与外部工具集成并检查数据收集状态