You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@impala.apache.org by Vibhath Ileperuma <vi...@gmail.com> on 2021/11/09 14:09:29 UTC
Clarification on impala databases
Hi All,
We are currently using Impala's "default" database for keeping tables. When
querying through JDBC or ODBC connections, we don't mention the database
name explicitly with the table name since they are directed to the
'default' database by default. Now we are planning to enable Ranger
Authentication in impala.
1. Is there any speciality in the "default" database in contrast to the
custom databases? Will there be any issues if authentication is enabled for
the "default" database?
2. If it is required to use a custom database for enabling
authentication, is there a way to configure impala to use that custom db
when the db name is not explicitly mentioned in queries?
I would be grateful if you could clarify the above two points.
Thank You.
Best regards,
Vibhath
Re: Clarification on impala databases
Posted by Joe McDonnell <jo...@cloudera.com>.
Hi Vibhath,
Ranger doesn't treat the default database specially, and it is capable of
authorizing access to the default database just like any other. For
example, Ranger can grant privileges on individual tables inside the
default database.
However, depending on the use case, it can be useful to have a database
without restrictions and the "default" database is often used that way. The
scenario that we mention in the documentation is that if a user is going to
drop a database, it can be useful to be able to switch to the default
database before executing the "DROP DATABASE" statement. This isn't a
requirement for using Ranger, but it might be easier to administer.
http://impala.apache.org/docs/build/html/topics/impala_authorization.html
When connecting via JDBC/ODBC, the database can be specified in the connect
string and the session would arrive in the custom database just like it
currently arrives in the default database. It is equivalent to running "USE
{database_name}" as the first statement after connecting, and the tables in
the database can be accessed without explicitly specifying the database in
the statements. The connection string syntax varies depending on which JDBC
driver is being used.
Thanks,
Joe
On Tue, Nov 9, 2021 at 6:09 AM Vibhath Ileperuma <
vibhatharunapriya@gmail.com> wrote:
> Hi All,
>
> We are currently using Impala's "default" database for keeping tables.
> When querying through JDBC or ODBC connections, we don't mention the
> database name explicitly with the table name since they are directed to the
> 'default' database by default. Now we are planning to enable Ranger
> Authentication in impala.
>
> 1. Is there any speciality in the "default" database in contrast to
> the custom databases? Will there be any issues if authentication is enabled
> for the "default" database?
> 2. If it is required to use a custom database for enabling
> authentication, is there a way to configure impala to use that custom db
> when the db name is not explicitly mentioned in queries?
>
> I would be grateful if you could clarify the above two points.
>
> Thank You.
> Best regards,
> Vibhath
>
>
>