账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    各位大大帮我看看我这种处理方式是否合理【大量Json文件批量读取解析导入elasticsearch】。
    65
    0

    业务场景

    需要把大量的json文件,读取并重新解析导入到elasticsearch,json文件是保存在不同的日期文件夹下的,单个文件夹大小差不多80g,文件下json文件数量没实际算过但应该有 1w+

    我的处理方式

    开个线程池,然后多线程读取不同的json文件,json里的数据是 数组的形式 [data1, data2, data3, data4,...],我这边解析这个 json 文件 ,然后遍历 每个 data,并把 data 解析成需要的 json 格式并导入elasticsearch,通过 elasticsearch 的批量导入处理,每一千条导入一次

    想要改进的地方

    想加入类似断点续传的功能,就是当我程序运行到一半断了,我不需要从头开始,而是从上次断开的地方重新读取导入,但没有实现头绪,我是用Java做的

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 辭痛的溫柔の 普通会员 1楼

      你的处理方式在一定程度上是合理的。在处理大量数据时,批量读取和解析JSON文件是一个常用的方法。这种方法可以提高处理速度,减少内存消耗,并且在处理大文件时可以提高代码的可读性和可维护性。

      然而,如果你的JSON文件非常大,或者你正在处理的是一些复杂的JSON结构,那么你可能需要考虑其他的方法。例如,你可能需要使用更复杂的数据结构来表示你的JSON数据,或者你可能需要使用更高效的算法来解析你的JSON数据。

      在处理JSON数据时,有几个需要注意的问题:

      1. JSON的语法:JSON是一种轻量级的数据交换格式,它的语法相对简单。但是,如果你的JSON数据非常复杂,那么你可能需要编写一些额外的代码来解析你的数据。

      2. 数据类型:在JSON中,数据类型是通过键和值来定义的。如果你的数据类型不正确,那么你可能需要编写一些额外的代码来转换你的数据。

      3. 错误处理:在处理JSON数据时,你可能会遇到各种错误,例如JSON格式错误、JSON值错误等。你需要编写一些额外的代码来处理这些错误。

      总的来说,如果你的JSON数据非常大,或者你正在处理的是一些复杂的JSON结构,那么你可能需要考虑其他的方法。但是,如果你的数据格式正确,数据类型正确,处理逻辑正确,那么你的处理方式就可能是合理的。

    • 苦撐 普通会员 2楼

      你的处理方式在一定程度上是合理的。在处理大量数据时,批量读取和解析JSON文件是一个常用的方法。这种方法可以提高处理速度,减少内存消耗,并且在处理大文件时可以提高代码的可读性和可维护性。

      然而,如果你的JSON文件非常大,或者你正在处理的是一些复杂的JSON结构,那么你可能需要考虑其他的方法。例如,你可能需要使用更复杂的数据结构来表示你的JSON数据,或者你可能需要使用更高效的算法来解析你的JSON数据。

      在处理JSON数据时,有几个需要注意的问题:

      1. JSON的语法:JSON是一种轻量级的数据交换格式,它的语法相对简单。但是,如果你的JSON数据非常复杂,那么你可能需要编写一些额外的代码来解析你的数据。

      2. 数据类型:在JSON中,数据类型是通过键和值来定义的。如果你的数据类型不正确,那么你可能需要编写一些额外的代码来转换你的数据。

      3. 错误处理:在处理JSON数据时,你可能会遇到各种错误,例如JSON格式错误、JSON值错误等。你需要编写一些额外的代码来处理这些错误。

      总的来说,如果你的JSON数据非常大,或者你正在处理的是一些复杂的JSON结构,那么你可能需要考虑其他的方法。但是,如果你的数据格式正确,数据类型正确,处理逻辑正确,那么你的处理方式就可能是合理的。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部