csv格式导入
1.介绍说明
多线程的方式,读取指定目录下json格式文件,导入程序分别将事件数据导入方舟事件数据Topic、用户数据导入方舟用户数据Topic;
已经读取完成的文件不会重复读取;
自动解析csv表头,作为字段属性名称;
可以对导入字段做字段名映射。
1、单个文件同时只能由一个线程读取。
2、文档中都是以集群版为例切换机器或连接服务,如果是单机版,将对应的ark2/ark3改为ark1即可。
3、导入文件需要以event_和profile_开头。
4、csv文件内第一行必须为表头。
建议:为保证正式项目数据导入的准确性,在数据导入正式项目前,建议先创建一个测试项目,将测试数据导入测试项目中,测试数据导入完成并且数据校验无误后,即可删除测试项目,将正式数据导入到正式项目,进而保证了数据导入的准确性。
2.运行环境
导入工具需要在JAVA环境中运行,单机版和集群版都可以使用。
1、导入工具需要在方舟部署服务器/可访问方舟服务器上的机器上使用;
2、为了避免网络异常、数据传输速度等造成数据导入慢等问题,建议数据导入工作在方舟部署的任一服务器上使用。
3.使用方法
csv文导入工具通过父命令+子命令的形式直接启动。
3.1.参数说明
参数名称 | 参数示例 | 参数说明 | 是否必传 |
-k | 31abd9593e9983ec | 项目appKey | 是 |
-d | /data/tmp | 需要导入的csv文件的导入目录 | 是 |
-c | /data/tmp/csv_import.properties | 指定配置文件绝对路径, 配置文件名为csv_import.properties | 否 |
--help/-h | 无 | 显示csv文件导入帮助文档 | 否 |
如果csv文件列已经包含了xwho,xwhen,xwhat,可以不用指定配置文件直接导入,如果数据中不含这3个字段,则需要添加配置文件。
3.2.配置文件参数说明
参数名称 | 参数示例 | 参数说明 | 是否必传 |
event.attr.mapping | user_id:xwho,update:xwhen | 将csv事件字段列名映射成方舟的字段名,字段映射中间用冒号分隔,多个字段映射中间用逗号分隔 | 否 |
profile.attr.mapping | user_id:xwho,update:xwhen | 将csv用户字段列名映射成方舟的字段名,字段映射中间用冒号分隔,多个字段映射中间用逗号分隔 | 否 |
event.attr.to.number | height,length | 将csv事件文件的指定列转换成数值类型,多个字段用逗号分隔 | 否 |
profile.attr.to.number | age,grade | 将csv用户文件的指定列转换成数值类型,多个字段用逗号分隔 | 否 |
kafka.metadata.broker.list | ark1:9092,ark2:9092,ark3:9092 | kafka的主机名和端口号 | 否 |
is.login.data | true | 导入数据是否属于登录数据 | 否 |
3.3.示例展示
将/data/tmp/20201027/csv_import/文件夹下的事件数据导入项目test123321。
最后更新于