Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-5999

Have executemany leverage ExecuteBatchRequest

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: queryserver-6.0.0
    • Component/s: python
    • Labels:
      None

      Description

      After some testing years ago, I wrote ExecuteBatch bindings for avatica. The observation was that we spent more time executing the HTTP call and parsing the tiny protobuf than we did in sending the update to HBase.

      ExecuteBatch was a dirt-simple idea in that instead of sending one row's worth of parameters to bind to a statement, send many row's worth.

      e.g. before we would do:

      execute(stmt, ['a', 'b']); execute(stmt, ['b', 'c']), ... 

      but with executeBatch we can do

      executeBatch(stmt, [['a', 'b'], ['b', 'c'], ...]) 

      and send exactly one http call instead of multiple. Obviously this is a huge saving.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                stoty Istvan Toth
                Reporter:
                elserj Josh Elser
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: