Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-2040

Create adapter for Apache Arrow

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.37.0
    • None

    Description

      Create an adapter for Apache Arrow. This would allow people to execute SQL statements, via JDBC or ODBC, on data stored in Arrow in-memory format.

      Since Arrow is an in-memory format, it is not as straightforward as reading, say, CSV files using the file adapter: an Arrow data set does not have a URL. (Unless we use Arrow's Feather format, or use an in-memory file system such as Alluxio.) So we would need to devise a way of addressing Arrow data sets.

      Also, since Arrow is an extremely efficient format for processing data, it would also be good to have Arrow as a calling convention. That is, implementations of relational operators such as Filter, Project, Aggregate in addition to just TableScan.

      Lastly, when we have an Arrow convention, if we build adapters for file formats (for instance the bioinformatics formats SAM, VCF, FASTQ discussed in CALCITE-2025) it would make a lot of sense to translate those formats directly into Arrow (applying simple projects and filters first if applicable). Those adapters would belong as a "contrib" module in the Arrow project better than in Calcite.

      Attachments

        1. arrow_data.py
          2 kB
          Michael Mior

        Issue Links

          Activity

            People

              hongyuguo hongyu guo
              julianhyde Julian Hyde
              Votes:
              0 Vote for this issue
              Watchers:
              17 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1.5h
                  1.5h