9 releases

new 0.4.5 Jan 12, 2025
0.4.4 Jan 4, 2025
0.4.3 Dec 23, 2024
0.4.1 Nov 10, 2024
0.2.1 Sep 6, 2024

#1376 in Database interfaces

Download history 209/week @ 2024-09-18 45/week @ 2024-09-25 167/week @ 2024-10-02 18/week @ 2024-10-09 8/week @ 2024-10-16 10/week @ 2024-10-23 6/week @ 2024-10-30 92/week @ 2024-11-06 25/week @ 2024-11-13 13/week @ 2024-11-20 6/week @ 2024-11-27 2/week @ 2024-12-04 5/week @ 2024-12-11 202/week @ 2024-12-18 40/week @ 2024-12-25 135/week @ 2025-01-01

384 downloads per month

Apache-2.0

180KB
4K SLoC

DataFusion Flight SQL Server

The datafusion-flight-sql-server is a Flight SQL server that implements the necessary endpoints to use DataFusion as the query engine.

Getting Started

To use datafusion-flight-sql-server in your Rust project, run:

$ cargo add datafusion-flight-sql-server

Example

Here's a basic example of setting up a Flight SQL server:

use datafusion_flight_sql_server::service::FlightSqlService;
use datafusion::{
    execution::{
        context::SessionContext,
        options::CsvReadOptions,
    },
};

async {
    let dsn: String = "0.0.0.0:50051".to_string();
    let remote_ctx = SessionContext::new();
    remote_ctx
        .register_csv("test", "./examples/test.csv", CsvReadOptions::new())
        .await.expect("Register csv");

    FlightSqlService::new(remote_ctx.state()).serve(dsn.clone())
        .await
        .expect("Run flight sql service");

};

This example sets up a Flight SQL server listening on 127.0.0.1:50051.

Dependencies

~84MB
~1.5M SLoC