Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HDDS-11947. [Docs] [User Guide] Impala Integration. #7584

Merged
merged 8 commits into from
Jan 11, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions hadoop-hdds/docs/content/integration/Impala.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
title: Impala
weight: 4
menu:
main:
parent: "Application Integrations"
---
<!---
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

Starting with version 4.2.0, Apache Impala provides full support for querying data stored in Apache Ozone. To utilize this functionality, ensure that your Ozone version is 1.4.0 or later.

## Supported Access Protocols
errose28 marked this conversation as resolved.
Show resolved Hide resolved

Impala supports the following protocols for accessing Ozone data:

* ofs
* s3a

Note: The o3fs protocol is **NOT** supported by Impala.

## Supported Replication Types

Impala is compatible with Ozone buckets configured with either:

* RATIS (Replication)
* Erasure Coding
adoroszlai marked this conversation as resolved.
Show resolved Hide resolved

## Querying Ozone Data with Impala

Impala provides two approaches to interact with Ozone:

* Managed Tables
* External Tables

### Managed Tables

If the Hive Warehouse Directory is located in Ozone, you can execute Impala queries without any changes, treating the Ozone file system like HDFS. For example:

```sql
CREATE DATABASE d1;
```

```sql
CREATE TABLE t1 (x INT, s STRING);
```

The data will be stored under the Hive Warehouse Directory path in Ozone.

#### Specifying a Custom Ozone Path

You can create managed databases, tables, or partitions at a specific Ozone path using the `LOCATION` clause. Example:

```sql
CREATE DATABASE d1 LOCATION 'ofs://ozone1/vol1/bucket1/d1.db';
```

```sql
CREATE TABLE t1 LOCATION 'ofs://ozone1/vol1/bucket1/table1';
```

### External Tables

You can create an external table in Impala to query Ozone data. For example:

```sql
CREATE EXTERNAL TABLE external_table (
id INT,
name STRING
)
LOCATION 'ofs://ozone1/vol1/bucket1/table1';
```

* With external tables, the data is expected to be created and managed by another tool.
* Impala queries the data as-is.
* The metadata is stored under the external warehouse directory.
* Note: Dropping an external table in Impala does not delete the associated data.


## Using the S3A Protocol

In addition to ofs, Impala can access Ozone via the S3 Gateway using the S3A file system. For more details, refer to
* The [S3 Protocol]({{< ref "interface/S3.md">}})
* The [Hadoop S3A](https://hadoop.apache.org/docs/current/hadoop-aws/tools/hadoop-aws/index.html) documentation.

For additional information, consult the Apache Impala User Documentation
[Using Impala with Apache Ozone Storage](https://impala.apache.org/docs/build/html/topics/impala_ozone.html).
Loading