数据迁移
最后更新于:2018-09-07 14:52:39
本文档所描述的内容属于神策分析的高级使用功能,涉及较多技术细节,适用于对相关功能有经验的用户参考。如果对文档内容有疑惑,请咨询您的数据咨询顾问获取一对一的协助。
1. 概述
神策分析开始为用户提供数据自助迁移的功能,即通过 API 导出原始神策分析环境中的历史数据,然后通过导入工具把历史数据导入到新建神策分析环境中。
通过 API 导出可以直接用于导入的数据格式,神策分析版本号需大于 1.*.3338 。如果低于此版本的用户仍想自助迁移数据,需联系神策的技术支持人员。
2. 数据导出
使用 查询 API 通过编写 SQL 的方式,导出 users 表(含 Track Signup 数据)和 events 表中的数据,另外需要注意的是,SQL 在执行过程中,默认超过 10 分钟之后会被系统强制杀死,如果希望增大超时时间可以使用参数控制。
使用 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 表中的数据
- 对于
私有部署版
用户,请使用 BatchImporter 进行 users 数据导入; - 对于
云版
用户,请使用 FormatImporter 或 LogAgent 进行 users 数据导入;
请不要将文件内容顺序打乱。
3.2 导入 events 表中的数据
使用任意一种导入工具导入即可。