数据迁移

最后更新于:2019-11-13 14:39:54

本文档所描述的内容属于神策分析的高级使用功能,涉及较多技术细节,适用于对相关功能有经验的用户参考。如果对文档内容有疑惑,请咨询您的数据咨询顾问获取一对一的协助。

1. 概述

神策分析开始为用户提供数据自助迁移的功能,即通过 API 导出原始神策分析环境中的历史数据,然后通过导入工具把历史数据导入到新建神策分析环境中。

通过 API 导出可以直接用于导入的数据格式,神策分析版本号需大于 1.*.3338 。如果低于此版本的用户仍想自助迁移数据,需联系神策的技术支持人员。

2. 数据导出

使用 查询 API 通过编写 SQL 的方式,导出 users 表(含 Track Signup 数据)和 events 表中的数据,另外需要注意的是,SQL 在执行过程中,默认超过 10 分钟 之后会被系统强制杀死, 如果希望增大超时时间可以在 SQL 语句之后添加 MAX_QUERY_EXECUTION_TIME 参数控制(时间单位为秒, 建议最大超时时长不要超过 1800,以免影响查询性能 )。

使用 curl 导出 users 表的例子如下:

curl 'https://saasdemo.cloud.sensorsdata.cn/api/sql/query?token=******&project=default' \
-X POST \
--data-urlencode "q=SELECT * FROM users /*MAX_QUERY_EXECUTION_TIME=1800*/" \
--data-urlencode "format=profile_json" \
>> profile.json

在导出 events 表数据时,建议通过 date 字段按天导出,这样可以提高 SQL 的查询速度。

使用 curl 导出 events 表的例子如下:

curl 'https://saasdemo.cloud.sensorsdata.cn/api/sql/query?token=******&project=default' \
-X POST \
--data-urlencode "q=SELECT * FROM events where date = '2017-01-01' /*MAX_QUERY_EXECUTION_TIME=1800*/" \
--data-urlencode "format=event_json" \
>> event.json

3. 数据导入

在导入数据的过程中,应遵循以下步骤,否则会导致 Track Signup 逻辑混乱。

  • 先导入 users 表中的数据
  • 再导入 events 表中的数据

3.1 导入 users 表中的数据

请不要将文件内容顺序打乱。

3.2 导入 events 表中的数据

使用任意一种导入工具导入即可。