hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zoltan Haindrich (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-16354) Make hive internal parts more private - avoid exposing them for jdbc/metastore api users
Date Tue, 18 Jul 2017 08:16:00 GMT

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

Zoltan Haindrich updated HIVE-16354:
------------------------------------
    Description: 
This would enable:

* to *not* ship unneeded things for the api users...the jdbcdriver contains a hiveserver2
with the full hive runtime and a metastore with the orm...all these are not neccessary
* make it easier for the api users to integrate with hive, because it wouldnt pull in transitively
garbage
* would make it clear that where is the line...by enforcing the usage of these modules internally
- it would make the external api for the users really usable - this is especcialy true for
metastore; which currently have deep ties with the ql module.

in HIVE-16214 I've identified some pieces which might be good to move to new modules...since
that I've looked into it a bit more what could be done in this aspect...and to prevent going
backward in this path; or get stuck at some point - I would like to be able to propose smaller
changes prior to creating any modules...

The goal here is to remove the unneeded dependencies from the modules which doesn't necessarily
need them: the biggest fish in this tank is the {{jdbc}} module, which currently ships with
full hiveserver server side + all of the ql codes + the whole metastore (including the jpa
persistence libs) - this makes the jdbc driver a really fat jar...

These changes will also reduce the hive binary distribution size; introducing service-client
have reduce it by 20% percent alone.


  was:
in HIVE-16214 I've identified some pieces which might be good to move to new modules...since
that I've looked into it a bit more what could be done in this aspect...and to prevent going
backward in this path; or get stuck at some point - I would like to be able to propose smaller
changes prior to creating any modules...

The goal here is to remove the unneeded dependencies from the modules which doesn't necessarily
need them: the biggest fish in this tank is the {{jdbc}} module, which currently ships with
full hiveserver server side + all of the ql codes + the whole metastore (including the jpa
persistence libs) - this makes the jdbc driver a really fat jar...

These changes will also reduce the hive binary distribution size; introducing service-client
have reduce it by 20% percent alone.



> Make hive internal parts more private - avoid exposing them for jdbc/metastore api users
> ----------------------------------------------------------------------------------------
>
>                 Key: HIVE-16354
>                 URL: https://issues.apache.org/jira/browse/HIVE-16354
>             Project: Hive
>          Issue Type: Improvement
>          Components: Metastore, Server Infrastructure
>            Reporter: Zoltan Haindrich
>         Attachments: allinwonder.1.patch, allinwonder.2.patch, allinwonder.3.patch, allinwonder.4.patch
>
>
> This would enable:
> * to *not* ship unneeded things for the api users...the jdbcdriver contains a hiveserver2
with the full hive runtime and a metastore with the orm...all these are not neccessary
> * make it easier for the api users to integrate with hive, because it wouldnt pull in
transitively garbage
> * would make it clear that where is the line...by enforcing the usage of these modules
internally - it would make the external api for the users really usable - this is especcialy
true for metastore; which currently have deep ties with the ql module.
> in HIVE-16214 I've identified some pieces which might be good to move to new modules...since
that I've looked into it a bit more what could be done in this aspect...and to prevent going
backward in this path; or get stuck at some point - I would like to be able to propose smaller
changes prior to creating any modules...
> The goal here is to remove the unneeded dependencies from the modules which doesn't necessarily
need them: the biggest fish in this tank is the {{jdbc}} module, which currently ships with
full hiveserver server side + all of the ql codes + the whole metastore (including the jpa
persistence libs) - this makes the jdbc driver a really fat jar...
> These changes will also reduce the hive binary distribution size; introducing service-client
have reduce it by 20% percent alone.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message