Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-7080

Add support of lazy load to csv data format

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.12.3, 2.13.0
    • Component/s: None
    • Labels:
      None
    • Patch Info:
      Patch Available
    • Estimated Complexity:
      Unknown

      Description

      CsvDataFormat uses greedy loading from a stream. This is not applicable for huge files i.e. all rows cannot fit into available memory.

      I added an option to create a row iterator instead list.
      Csv format is not line oriented so split("\n") workaround doesn't work always. This patch adds ability to Camel to process infinite csv files with multiline rows.

      Pull request:
      https://github.com/yaitskov/camel/commits/csv-iterator

      P.S.
      1) I found that Bindy does similar work related with parsing csv file into list of why. And I don't see any clue why it doesn't delegate this job to csv file format. Roughly speaking there is code duplication.

      2) I didn't find camel-csv component on the ticket form.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                njiang Willem Jiang
                Reporter:
                d.yaitskov Daneel S. Yaitskov
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: