[GH-ISSUE #3934] Add Apache Impala JDBC Driver Support #1349

Closed
opened 2026-03-07 21:02:43 +03:00 by kerem · 3 comments
Owner

Originally created by @salomaolopes on GitHub (Nov 24, 2025).
Original GitHub issue: https://github.com/dbeaver/cloudbeaver/issues/3934

Yes. I need to connect to Apache Impala (Cloudera Impala) clusters through CloudBeaver Community Edition for data analysis and querying. Currently, there is no native Impala driver available in CloudBeaver CE.

Describe the solution you'd like

Add native support for Apache Impala JDBC driver in CloudBeaver Community Edition, similar to the existing support for Kyuubi, Trino, and other big data databases.

Driver Details:

  • Driver Name: Cloudera Impala JDBC Driver
  • Driver Class: com.cloudera.impala.jdbc.Driver
  • URL Pattern: jdbc:impala://{host}:{port}/{database}
  • Default Port: 21050
  • Download Source: Cloudera/Apache Impala official repositories

Describe alternatives you've considered

Currently using Apache Kyuubi driver as a workaround since it uses a similar Thrift protocol. However, native Impala support would provide:

  • Better compatibility
  • Full feature support
  • Proper error handling
  • Optimized performance

Additional context

  • Impala is widely used for big data analytics
  • DBeaver Desktop already supports Impala natively
  • This would complement CloudBeaver's existing big data database support (Hive, Spark, Kyuubi)
  • This feature would benefit the open-source community

Would greatly appreciate if this could be considered for a future release. Thank you!

Originally created by @salomaolopes on GitHub (Nov 24, 2025). Original GitHub issue: https://github.com/dbeaver/cloudbeaver/issues/3934 ### Is your feature request related to a problem? Yes. I need to connect to Apache Impala (Cloudera Impala) clusters through CloudBeaver Community Edition for data analysis and querying. Currently, there is no native Impala driver available in CloudBeaver CE. ### Describe the solution you'd like Add native support for Apache Impala JDBC driver in CloudBeaver Community Edition, similar to the existing support for Kyuubi, Trino, and other big data databases. **Driver Details:** - **Driver Name:** Cloudera Impala JDBC Driver - **Driver Class:** `com.cloudera.impala.jdbc.Driver` - **URL Pattern:** `jdbc:impala://{host}:{port}/{database}` - **Default Port:** 21050 - **Download Source:** Cloudera/Apache Impala official repositories ### Describe alternatives you've considered Currently using Apache Kyuubi driver as a workaround since it uses a similar Thrift protocol. However, native Impala support would provide: - Better compatibility - Full feature support - Proper error handling - Optimized performance ### Additional context - Impala is widely used for big data analytics - DBeaver Desktop already supports Impala natively - This would complement CloudBeaver's existing big data database support (Hive, Spark, Kyuubi) - This feature would benefit the open-source community Would greatly appreciate if this could be considered for a future release. Thank you!
kerem 2026-03-07 21:02:43 +03:00
Author
Owner

@dariamarutkina commented on GitHub (Nov 25, 2025):

Hello @salomaolopes !

Thank you for your request and for the detailed explanation! 🦫

CloudBeaver Community Edition does not include the Impala JDBC driver out-of-the-box. However, you can add it manually using the built-in driver management. Here is the documentation describing how to add a custom JDBC driver:
https://github.com/dbeaver/cloudbeaver/wiki/Adding-new-database-drivers

Currently, we avoid bundling additional JDBC drivers into the default CE image, as this noticeably increases the image size and affects startup time and updates for all users. Because of that, we only include the most commonly used drivers by default, and all others can be added manually when needed.

We understand the importance of Impala support and appreciate you sharing your use case. We’ll keep this request in mind when planning future improvements.

Thanks again for your feedback! 💙

<!-- gh-comment-id:3575243123 --> @dariamarutkina commented on GitHub (Nov 25, 2025): Hello @salomaolopes ! Thank you for your request and for the detailed explanation! 🦫 CloudBeaver Community Edition does not include the Impala JDBC driver out-of-the-box. However, you can add it manually using the built-in driver management. Here is the documentation describing how to add a custom JDBC driver: https://github.com/dbeaver/cloudbeaver/wiki/Adding-new-database-drivers Currently, we avoid bundling additional JDBC drivers into the default CE image, as this noticeably increases the image size and affects startup time and updates for all users. Because of that, we only include the most commonly used drivers by default, and all others can be added manually when needed. We understand the importance of Impala support and appreciate you sharing your use case. We’ll keep this request in mind when planning future improvements. Thanks again for your feedback! 💙
Author
Owner

@salomaolopes commented on GitHub (Nov 25, 2025):

Hello @dariamarutkina!

Thank you so much for the quick response and for pointing me to the documentation! 🙏

I really appreciate you keeping this request in mind for future improvements. I completely understand the reasoning behind not bundling all drivers by default to keep the image size manageable.

I will follow the documentation you provided to add the Impala driver manually.

Thanks again for your help.

<!-- gh-comment-id:3576773189 --> @salomaolopes commented on GitHub (Nov 25, 2025): Hello @dariamarutkina! Thank you so much for the quick response and for pointing me to the documentation! 🙏 I really appreciate you keeping this request in mind for future improvements. I completely understand the reasoning behind not bundling all drivers by default to keep the image size manageable. I will follow the documentation you provided to add the Impala driver manually. Thanks again for your help.
Author
Owner

@panda0120 commented on GitHub (Dec 18, 2025):

server/bundles/io.cloudbeaver.resources.drivers.base/plugin.xml

<?xml version="1.0" encoding="UTF-8"?>
<plugin>
    <!-- Resource mappings -->
    <extension point="org.jkiss.dbeaver.resources">
        <resource name="drivers/db2"/>
        <resource name="drivers/db2-jt400"/>
        <resource name="drivers/duckdb"/>
        <resource name="drivers/mysql/mysql8"/>
        <resource name="drivers/mariadb"/>
        <resource name="drivers/oracle"/>
        <resource name="drivers/postgresql"/>
        <resource name="drivers/clickhouse"/>
        <resource name="drivers/clickhouse_com"/>
        <resource name="drivers/jaybird"/>
        <resource name="drivers/h2"/>
        <resource name="drivers/h2_v2"/>
        <resource name="drivers/sqlite/xerial"/>
        <resource name="drivers/mssql/new"/>
        <resource name="drivers/trino"/>
        <resource name="drivers/kyuubi"/>
        <resource name="drivers/databend"/>
        <resource name="drivers/cloudera_impala"/>
    </extension>

    <!-- Bundles  -->
    <extension point="org.jkiss.dbeaver.product.bundles">
        <bundle id="drivers.db2" label="DB2 drivers"/>
        <bundle id="drivers.duckdb" label="DuckDB drivers"/>
        <bundle id="drivers.jt400" label="DB2 iSeries drivers"/>
        <bundle id="drivers.mysql" label="MySQL drivers"/>
        <bundle id="drivers.mariadb" label="MariaDB drivers"/>
        <bundle id="drivers.oracle" label="Oracle drivers"/>
        <bundle id="drivers.postgresql" label="PostgreSQL drivers"/>
        <bundle id="drivers.clickhouse" label="Clickhouse (legacy) drivers"/>
        <bundle id="drivers.clickhouse_com" label="Clickhouse drivers"/>
        <bundle id="drivers.firebird" label="Firebird drivers"/>
        <bundle id="drivers.h2" label="H2 drivers"/>
        <bundle id="drivers.h2_v2" label="H2 v2 drivers"/>
        <bundle id="drivers.sqlite.xerial" label="SQLite drivers"/>
        <bundle id="drivers.mssql.new" label="SQL Server drivers"/>
        <bundle id="drivers.trino" label="Trino drivers"/>
        <bundle id="drivers.kyuubi" label="Apache Kyuubi drivers"/>
        <bundle id="drivers.databend" label="Databend drivers"/>
        <bundle id="drivers.cloudera_impala" label="cloudera impala"/>
    </extension>

    <!-- Enabled drivers -->
    <extension point="io.cloudbeaver.driver">
        <driver id="db2:db2"/>
        <driver id="db2_i:db2_iseries"/>
        <driver id="mysql:mysql8"/>
        <driver id="mysql:mariaDB"/>
        <driver id="oracle:oracle_thin"/>
        <driver id="postgresql:postgres-jdbc"/>
        <driver id="jaybird:jaybird"/>
        <driver id="clickhouse:yandex_clickhouse"/>
        <driver id="clickhouse:com_clickhouse"/>
        <driver id="h2:h2_embedded"/>
        <driver id="h2:h2_embedded_v2"/>
        <driver id="sqlite:sqlite_jdbc"/>
        <driver id="sqlite:libsql_jdbc"/>
        <driver id="sqlserver:microsoft"/>
        <driver id="generic:trino_jdbc"/>
        <driver id="generic:duckdb_jdbc"/>
        <driver id="generic:kyuubi_hive"/>
        <driver id="databend:databend"/>
        <driver id="generic:cloudera_impala"/>
    </extension>


</plugin>

server/drivers/cloudera_impala/pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <artifactId>drivers.cloudera_impala</artifactId>
    <version>1.0.0</version>
    <parent>
        <groupId>io.cloudbeaver</groupId>
        <artifactId>drivers</artifactId>
        <version>1.0.0</version>
        <relativePath>../</relativePath>
    </parent>

    <properties>
        <deps.output.dir>cloudera_impala</deps.output.dir>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.cloudera.impala</groupId> <!-- 自定义 groupId -->
            <artifactId>impala-jdbc</artifactId>   <!-- 自定义 artifactId -->
            <version>2.6.25</version>              <!-- 驱动版本号(根据实际版本填写) -->
            <scope>system</scope>
            <!-- 指向本地 JAR 路径(相对当前 pom.xml 的位置) -->
            <systemPath>${project.basedir}/ImpalaJDBC42.jar</systemPath>
        </dependency>
    </dependencies>

</project>

server/drivers/pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>io.cloudbeaver</groupId>
        <artifactId>cloudbeaver</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <relativePath>../</relativePath>
    </parent>
    <artifactId>drivers</artifactId>
    <version>1.0.0</version>
    <packaging>pom</packaging>

    <properties>
        <deps.output.dir>output</deps.output.dir>
    </properties>

    <modules>
        <module>clickhouse_com</module>
        <module>databend</module>
        <module>db2</module>
        <module>db2-jt400</module>
        <module>duckdb</module>
        <module>h2</module>
        <module>h2_v2</module>
        <module>jaybird</module>
        <module>kyuubi</module>
        <module>mysql</module>
        <module>mariadb</module>
        <module>oracle</module>
        <module>postgresql</module>
        <module>sqlite</module>
        <module>sqlserver</module>
        <module>trino</module>
        <module>cloudera_impala</module>
    </modules>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.8</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <useSubDirectoryPerArtifact>false</useSubDirectoryPerArtifact>
                            <outputDirectory>../../../deploy/drivers/${deps.output.dir}</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>

</project>

@dariamarutkina @salomaolopes Could you please help me figure out why I still can't see the cloud_impala option on the interface despite the above configurations?

I think there’s an issue with this document—it fails to mention that CloudBeaver automatically downloads DBeaver’s source code and packages dependencies on them. I’ve been confused about why the document instructs modifying DBeaver’s source code files.

I test the driver of oceanbase and netezza , it is work well, but why only cloudera_impala can't be success. Is the categories="hadoop" can not be supported?

<!-- gh-comment-id:3668089492 --> @panda0120 commented on GitHub (Dec 18, 2025): server/bundles/io.cloudbeaver.resources.drivers.base/plugin.xml ``` <?xml version="1.0" encoding="UTF-8"?> <plugin> <!-- Resource mappings --> <extension point="org.jkiss.dbeaver.resources"> <resource name="drivers/db2"/> <resource name="drivers/db2-jt400"/> <resource name="drivers/duckdb"/> <resource name="drivers/mysql/mysql8"/> <resource name="drivers/mariadb"/> <resource name="drivers/oracle"/> <resource name="drivers/postgresql"/> <resource name="drivers/clickhouse"/> <resource name="drivers/clickhouse_com"/> <resource name="drivers/jaybird"/> <resource name="drivers/h2"/> <resource name="drivers/h2_v2"/> <resource name="drivers/sqlite/xerial"/> <resource name="drivers/mssql/new"/> <resource name="drivers/trino"/> <resource name="drivers/kyuubi"/> <resource name="drivers/databend"/> <resource name="drivers/cloudera_impala"/> </extension> <!-- Bundles --> <extension point="org.jkiss.dbeaver.product.bundles"> <bundle id="drivers.db2" label="DB2 drivers"/> <bundle id="drivers.duckdb" label="DuckDB drivers"/> <bundle id="drivers.jt400" label="DB2 iSeries drivers"/> <bundle id="drivers.mysql" label="MySQL drivers"/> <bundle id="drivers.mariadb" label="MariaDB drivers"/> <bundle id="drivers.oracle" label="Oracle drivers"/> <bundle id="drivers.postgresql" label="PostgreSQL drivers"/> <bundle id="drivers.clickhouse" label="Clickhouse (legacy) drivers"/> <bundle id="drivers.clickhouse_com" label="Clickhouse drivers"/> <bundle id="drivers.firebird" label="Firebird drivers"/> <bundle id="drivers.h2" label="H2 drivers"/> <bundle id="drivers.h2_v2" label="H2 v2 drivers"/> <bundle id="drivers.sqlite.xerial" label="SQLite drivers"/> <bundle id="drivers.mssql.new" label="SQL Server drivers"/> <bundle id="drivers.trino" label="Trino drivers"/> <bundle id="drivers.kyuubi" label="Apache Kyuubi drivers"/> <bundle id="drivers.databend" label="Databend drivers"/> <bundle id="drivers.cloudera_impala" label="cloudera impala"/> </extension> <!-- Enabled drivers --> <extension point="io.cloudbeaver.driver"> <driver id="db2:db2"/> <driver id="db2_i:db2_iseries"/> <driver id="mysql:mysql8"/> <driver id="mysql:mariaDB"/> <driver id="oracle:oracle_thin"/> <driver id="postgresql:postgres-jdbc"/> <driver id="jaybird:jaybird"/> <driver id="clickhouse:yandex_clickhouse"/> <driver id="clickhouse:com_clickhouse"/> <driver id="h2:h2_embedded"/> <driver id="h2:h2_embedded_v2"/> <driver id="sqlite:sqlite_jdbc"/> <driver id="sqlite:libsql_jdbc"/> <driver id="sqlserver:microsoft"/> <driver id="generic:trino_jdbc"/> <driver id="generic:duckdb_jdbc"/> <driver id="generic:kyuubi_hive"/> <driver id="databend:databend"/> <driver id="generic:cloudera_impala"/> </extension> </plugin> ``` server/drivers/cloudera_impala/pom.xml ``` <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <artifactId>drivers.cloudera_impala</artifactId> <version>1.0.0</version> <parent> <groupId>io.cloudbeaver</groupId> <artifactId>drivers</artifactId> <version>1.0.0</version> <relativePath>../</relativePath> </parent> <properties> <deps.output.dir>cloudera_impala</deps.output.dir> </properties> <dependencies> <dependency> <groupId>com.cloudera.impala</groupId> <!-- 自定义 groupId --> <artifactId>impala-jdbc</artifactId> <!-- 自定义 artifactId --> <version>2.6.25</version> <!-- 驱动版本号(根据实际版本填写) --> <scope>system</scope> <!-- 指向本地 JAR 路径(相对当前 pom.xml 的位置) --> <systemPath>${project.basedir}/ImpalaJDBC42.jar</systemPath> </dependency> </dependencies> </project> ``` server/drivers/pom.xml ``` <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>io.cloudbeaver</groupId> <artifactId>cloudbeaver</artifactId> <version>1.0.0-SNAPSHOT</version> <relativePath>../</relativePath> </parent> <artifactId>drivers</artifactId> <version>1.0.0</version> <packaging>pom</packaging> <properties> <deps.output.dir>output</deps.output.dir> </properties> <modules> <module>clickhouse_com</module> <module>databend</module> <module>db2</module> <module>db2-jt400</module> <module>duckdb</module> <module>h2</module> <module>h2_v2</module> <module>jaybird</module> <module>kyuubi</module> <module>mysql</module> <module>mariadb</module> <module>oracle</module> <module>postgresql</module> <module>sqlite</module> <module>sqlserver</module> <module>trino</module> <module>cloudera_impala</module> </modules> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.8</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <useSubDirectoryPerArtifact>false</useSubDirectoryPerArtifact> <outputDirectory>../../../deploy/drivers/${deps.output.dir}</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build> </project> ``` @dariamarutkina @salomaolopes Could you please help me figure out why I still can't see the cloud_impala option on the interface despite the above configurations? I think there’s an issue with this [document](https://github.com/dbeaver/cloudbeaver/wiki/Adding-new-database-drivers)—it fails to mention that CloudBeaver automatically downloads DBeaver’s source code and packages dependencies on them. I’ve been confused about why the document instructs modifying DBeaver’s source code files. I test the driver of oceanbase and netezza , it is work well, but why only cloudera_impala can't be success. Is the categories="hadoop" can not be supported?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cloudbeaver#1349
No description provided.