TcaplusDB分析型文本导出
分析型文本导出是指用户可以将存在tcaplus中的数据以表为单位导出为文本格式的数据,这样文本格式数据可视化强,一般做数据分析使用。这些数据会最后scp到用户的机器上去,所以需要提供用户的机器密码,相应的存放目录也必须创建,以防没有创建目录的权限。
功能的入口为:
进入后,点击“新增”即可进入分析型文本导出配置页面:
分析型文本导出配置页面:
所有的项目在页面上均有解释,需要按需求填写或者勾选。分析型文本一天导出一次,每天固定时间导出。注:由于凌晨在做冷备,这里时间不能选择0-3点。
新增分析型文本导出后,需要管理员审核,审核通过方可使用。同时还支持对已经配置好的分析型文本导出配置进行修改、删除、启动、禁用等操作(第一次配置需要审批,后续修改不用审批)。所有的页面分析型文本导出配置页面可以操作:
点击具体的右边的"查看导出结果"可以查看到每天的导出结果:
分析型文本导出功能的限制(重要)
1、导出的数据源为每天早上1点的冷备数据,并不是实时数据。
2、由于tcaplus为分布式存储系统,所以每台存储机器的冷备时间不是绝对一致的。可能A存储机器是01:00做的冷备,B存储机器是01:02分做的冷备。所有用户的导出数据在时间上并非绝对一致。
3、由于分析型文本导出实际上使用Tcaplus备份存储机器空闲算力来实现的。假如备份存储机器不可用的情况下(机器故障、机器裁撤、冷备缺失等),这样会导致该机器当天的分析型文本导出失败。所以该功能并不能作为业务的关键路径,要能容忍导出数据失败的情况。
4、由于分析型文本导出是直接读取存储引擎中的数据,所以在发生数据迁移的过程中或者迁移完成尚未删除脏数据的情况下,可能会有两个存储引擎中有相同key的情况。这样的导出的结果中会有脏数据存在,处理完成后第二天导出的结果就会正确。
5、导出的数据字段是可选的,但是只能选择一级字段。
6、如果业务需要二级以上的多级字段中的数据,那么只能把整个一级字段都导出来(一般选择base64编码),然后业务自己解析出多级数据。
7、有的业务想导出多张表的数据,聚合成一张总表。该功能只能导出多张表的数据,并无聚合数据功能。需要业务自行聚合。
使用该功能的特别注意事项: 1、请确保导出结果机器用户名、密码的正确性,配置完成后目标机的账号及密码不要更改,一旦更改会导致后续任务失败,因为root密码可能被自动修改,所以不建议配置目标机器的root账号和密码。
2、导出结果机器信息的端口默认值给36000,请保证机器36000端口打开。
3、导出结果的文本中, 如果字符串类型的字段里面含有换行(\n)或者竖线(|), 将会自动替换为空格.应删除string 类型里面的换行符和分隔符。
4、本功能现支持导出使用SetData接口或者SetKey&SetValue两种TcaplusServiceApi接口写入的数据。请务必选择正确的接口,否则会导致导出数据有异常。一般开发中会默认使用SetData接口,如果不清楚请咨询项目开发人员。
5、解析base64编码的复杂结构字段(struct、union、数组等),首先要base64 decode,如果数据是使用SetData接口写入的,那么前两个字节为版本号,后续才是业务真正的数据。