You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Istvan Toth (Jira)" <ji...@apache.org> on 2020/07/17 13:22:00 UTC

[jira] [Assigned] (PHOENIX-5999) Have executemany leverage ExecuteBatchRequest

     [ https://issues.apache.org/jira/browse/PHOENIX-5999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Istvan Toth reassigned PHOENIX-5999:
------------------------------------

    Assignee: Istvan Toth  (was: Josh Elser)

> Have executemany leverage ExecuteBatchRequest
> ---------------------------------------------
>
>                 Key: PHOENIX-5999
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5999
>             Project: Phoenix
>          Issue Type: Improvement
>          Components: python
>            Reporter: Josh Elser
>            Assignee: Istvan Toth
>            Priority: Major
>
> 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:
> {noformat}
> execute(stmt, ['a', 'b']); execute(stmt, ['b', 'c']), ... {noformat}
> but with executeBatch we can do
> {noformat}
> executeBatch(stmt, [['a', 'b'], ['b', 'c'], ...]) {noformat}
> and send exactly one http call instead of multiple. Obviously this is a huge saving.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)