神策分析提供几种不同的工具,方便用户将各种形式的数据导入系统中。可以根据运行的环境、源数据的格式以及导入数据量的大小,确认使用哪种导入工具
导入工具 | 运行环境要求 | 适用场景及数据类型 | 优势 | 劣势 |
---|---|---|---|---|
FormatImporter | Python 3 运行环境即可。 | 用于导入 CSV、MySQL 、Oracle、Nginx 日志、符合神策 json 格式的日志文件。 | 灵活,只要装了 python 3 就能运行;可以作为格式转换器使用,不作为导入工具使用,节省了数据清洗的工作。 | 导入数据慢,实际是用 Python SDK 的 BatchConsumer 导入数据的。 |
BatchImporter | 运行在部署神策系统的服务器上,可以用于单机版和集群版,无法在云版上使用。 | 一般用于批量的导入历史数据,符合神策 JSON 格式的日志文件,一行一个 JSON。 | 导入速度较 FormatImporter 和 LogAgent 要快。 | 只能运行在单机版和集群版,无法在云版上使用。 |
HdfsImporter | 运行在部署神策系统的服务器上,只能用于集群版。 | 适用于集群版的海量数据导入,符合神策 JSON 格式的日志文件,一行一个 JSON。 | 导入速度最快,数据直接进入 HDFS 。 | 只能运行在神策集群环境上,无法在云版和单机环境上使用。 |
LogAgent | 一般用在客户的业务服务器或生产日志服务器。 | 用于导入实时数据,符合神策 JSON 格式的日志文件,一行一个 JSON,一般配合神策后端 SDK 的 fileConsumer 来使用。 | 实时、不重不丢,有进度管理、断点续传,可以读取同一个文件新追加的内容。 | Java 程序,耗费系统资源较多;不适用于容器的场景。 |
Fliebeat+Logstash | 一般用在客户的业务服务器或生产日志服务器,支持容器化部署。 | 符合神策 JSON 格式的日志文件,一行一个 JSON,一般用于上报容器化部署的服务端实时数据。 | Fliebeat+Logstash 成熟的开源工具组合,配置丰富,可以接收多种输入,针对文件型输入,一个组件可同时采集多个目录下的日志,filebeat 相比 LogAgent 更轻,并且与服务端之间无耦合。 | 需要对工具有一定的理解,使用的方式五花八门,出现问题不易排查。 |