Skip to content

Support CSV files with more than 512 columns #3825

Description

@Ma77Ball

Summary

When parsing wide CSV files (e.g., 1000+ columns), Univocity throws an ArrayIndexOutOfBoundsException due to a hard limit of 512 columns. This prevents the ingestion of valid datasets with more columns.

How to Reproduce

  1. Create a CSV file with >512 columns (e.g., 1000 columns × 100 rows).
  2. Run the workflow using the CSV Scan Operator.
  3. Observe the error in the result panel (shown below)
Image

Activity

  1. chenlica commented on Oct 4, 2025

    @chenlica
    Contributor

    @Yicong-Huang How to follow the new "type protocol" for this issue?

  2. Yicong-Huang commented on Oct 4, 2025

    @Yicong-Huang
    Contributor

    @Ma77Ball can you try use the bug template to create it?

  3. Ma77Ball commented on Oct 4, 2025

    @Ma77Ball
    ContributorAuthor

    @Yicong-Huang, I can recreate it using the bug template. I was wondering if this would be considered a bug or a new feature, as I think the goal is to allow the admin to set the maximum number of columns allowed to prevent memory issues, which is similar to why Univocity caps it at 512 by default.

  4. Yicong-Huang commented on Oct 4, 2025

    @Yicong-Huang
    Contributor

    I see. It is indeed more of a feature request. Then let's keep it as it is. I will later introduce a feature template. You can ignore the comments regarding bug template.

  5. Ma77Ball commented on Oct 4, 2025

    @Ma77Ball
    ContributorAuthor

    Currently, the engine can process that many columns when the limit is increased on Univocity (as shown below).

    Image

    However, if the output is not passed to an operator that reduces the number of columns, the frontend will crash. Or if the view results are put on an operator that has not reduced the number of columns, it also crashes (as shown below)

    Image

    I'm examining two key potential issues: the result panel is not optimized for this task, and the schema propagation step currently uses 100 rows to evaluate the schema, which may be excessive, especially with larger datasets (1 million columns).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions