概述
业务场景
在很多使用场景下,都有批量导出和导入数据的需求,典型的使用场景:
保留字段检查
请检查您环境里事件属性、用户属性是否有神策保留字段,如果包含保留字段,请联系神策值班同学处理,否则会出现保留字段入库失败的情况。系统保留字段参考:保留字段
检查字段可见性
为了保证有完整的用户关联标识的完整性,请确保如下字段可以通过 sql 接口查到
$identity_anonymous_id, $identity_login_id, $identity_distinct_id
# 进入 mysql
metadb_cli -usc_dba -Dhorizon_db
select project_id,schema_id,name,is_visible from sdh_meta_field where name in ('$identity_login_id','$identity_anonymous_id','$identity_distinct_id') and project_id = 1;
确保 is_visiable 都是 1
如果有值为 0 的,请使用以下 OPEN API 修改
请求示例:
curl -X POST 'http://{host}:8107/api/v3/horizon/v1/schema/field/update' \ -H 'Content-Type: application/json' \ -H 'api-key: xxxxx’ \ -H 'sensorsdata-project: {projectName}' \ -d '{ "schema_name": "users", "field": { "name": "$identity_anonymous_id", "visible": true }, "update_mask": "visible" }'
数据导出
数据导出支持的方式:数据导出
数据导入
数据导入支持的方式:数据导入
场景解决方案
跨神策集群迁移数据
方案 1:seatunnel 导出 + 标准神策 JSON 导入 (推荐)
1、使用 seatunnel 导出老集群的用户和事件数据到文件
2、将文件拷贝到新集群,并且使用 标准神策 JSON 格式数据导入
方案 2:Query API 导出 + 标准神策 JSON 导入
1、使用 Query API 导出老集群的用户和事件数据到文件
2、将文件拷贝到新集群,并且使用 标准神策 JSON 格式数据导入
同集群的数据清洗
1、备份用户和事件表
2、创建新的自定义表,保存数据清洗后的用户和事件表
3、使用 从神策的 impala 表导入 将数据导入到清洗后需要导入的项目
新客户导入历史数据
1、客户提供可访问的 hive,按照 从其他外部数据源导入 ,选择 hive 数据源导入
2、客户只能提供文件,根据文件格式选择 标准神策 JSON 格式数据导入 或者 parquet 或 csv /text 格式文件导入
附录:常用工具与链接
通过以上步骤,可完整实现神策数据的导出、清洗、导入全流程操作。非技术人员可重点关注 “准备工作”“结果验证” 和 “异常处理” 环节,技术细节部分建议与开发团队或神策技术支持协同完成,确保数据迁移的准确性和稳定性。