Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Connecting Rust and Dremio with ADBC

Instructions

This example uses Dremio, a data lakehouse platform that supports Arrow Flight SQL.

Tip

If you already have a Dremio instance running, skip the steps to set up Dremio.

Prerequisites

  1. Install Rust

  2. Install dbc

Set up Dremio

  1. Sign up for Dremio Cloud or follow the instructions to set up Dremio Community.

Connect to Dremio

  1. Install the Flight SQL ADBC driver:

    dbc install flightsql
  2. Customize src/main.rs as needed

    • Change the connection arguments in opts

      • OptionDatabase::Uri is the URI of your Dremio instance. The host and port will depend on your installation (the default port is 32010). The protocol scheme should be grpc or grpc+tcp if your Dremio instance is not using TLS (e.g. if you are using Dremio Community) and should be grpc+tls otherwise (e.g. when using Dremio Cloud).

      • OptionDatabase::Username and OptionDatabase::Password are the username and password of your Dremio account. (If you are using Dremio Community, these were set during the installation instructions.)

      • For Dremio Cloud, don't use username and password; instead create a personal access token (PAT), store it in a string variable token in main(), and set the options to:

        let opts = [
             (
                 OptionDatabase::Uri,
                 "grpc+tls://data.dremio.cloud:443".into(), // for US region
                 //"grpc+tls://data.eu.dremio.cloud:443".into(), // for Europe region
             ),
             (
                 OptionDatabase::Other("adbc.flight.sql.authorization_header".to_string()),
                 format!("Bearer {}", token).into(),
             ),
        ];
    • If you changed OptionDatabase::Uri to point to a different Flight SQL server, also change the SQL SELECT statement in statement.set_sql_query()

  3. Run the Rust program:

    cargo run