Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-7059

[Python] Reading parquet file with many columns is much slower in 0.15.x versus 0.14.x

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.15.1
    • 0.16.0
    • Python

    Description

      Reading Parquet files with large number of columns still seems to be very slow in 0.15.1 compared to 0.14.1. I using the same test used inĀ ARROW-6876 except I set use_threads=False to make for an apples-to-apples comparison with respect to # of CPUs.

      import numpy as np
      import pyarrow as pa
      import pyarrow.parquet as pq
      table = pa.table(\{'c' + str(i): np.random.randn(10) for i in range(10000)})
      pq.write_table(table, "test_wide.parquet")
      res = pq.read_table("test_wide.parquet")
      print(pa.__version__)
      %time res = pq.read_table("test_wide.parquet", use_threads=False)
      

      In 0.14.1 with use_threads=False:

      0.14.1
      CPU times: user 515 ms, sys: 9.3 ms, total: 524 ms
      Wall time: 525 ms
      **

      In 0.15.1 with use_threads=False:

      0.15.1
      CPU times: user 9.89 s, sys: 37.8 ms, total: 9.93 s
      Wall time: 9.93 s

      Attachments

        1. image-2019-11-06-08-18-42-783.png
          4 kB
          Eric Kisslinger
        2. image-2019-11-06-08-19-11-662.png
          105 kB
          Eric Kisslinger
        3. image-2019-11-06-08-23-18-897.png
          96 kB
          Eric Kisslinger
        4. image-2019-11-06-08-25-05-885.png
          109 kB
          Eric Kisslinger
        5. image-2019-11-06-09-23-54-372.png
          32 kB
          Eric Kisslinger
        6. image-2019-11-06-13-16-05-102.png
          26 kB
          Eric Kisslinger

        Issue Links

          Activity

            People

              wesm Wes McKinney
              ekisslinger Eric Kisslinger
              Votes:
              0 Vote for this issue
              Watchers:
              10 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 - 1h
                  1h