This crate includes several examples of how to use various DataFusion APIs and help you on your way.
Run git submodule update --init to init test files.
To run the examples, use the cargo run command, such as:
git clone https://github.com/apache/arrow-datafusion cd arrow-datafusion # Download test data git submodule update --init # Run the `csv_sql` example: # ... use the equivalent for other examples cargo run --example csv_sql
avro_sql.rs: Build and run a query plan from a SQL statement against a local AVRO filecsv_sql.rs: Build and run a query plan from a SQL statement against a local CSV filecatalog.rs: Register the table into a custom catalogcustom_datasource.rs: Run queries against a custom datasource (TableProvider)dataframe.rs: Run a query using a DataFrame against a local parquet filedataframe-to-s3.rs: Run a query using a DataFrame against a parquet file from s3dataframe_in_memory.rs: Run a query using a DataFrame against data in memorydeserialize_to_struct.rs: Convert query results into rust structs using serdeexpr_api.rs: Create, execute, simplify and anaylze Exprsflight_sql_server.rs: Run DataFusion as a standalone process and execute SQL queries from JDBC clientsmemtable.rs: Create an query data in memory using SQL and RecordBatchesparquet_sql.rs: Build and run a query plan from a SQL statement against a local Parquet fileparquet_sql_multiple_files.rs: Build and run a query plan from a SQL statement against multiple local Parquet filesquery-aws-s3.rs: Configure object_store and run a query against files stored in AWS S3query-http-csv.rs: Configure object_store and run a query against files vi HTTPrewrite_expr.rs: Define and invoke a custom Query Optimizer passsimple_udaf.rs: Define and invoke a User Defined Aggregate Function (UDAF)simple_udf.rs: Define and invoke a User Defined (scalar) Function (UDF)simple_udfw.rs: Define and invoke a User Defined Window Function (UDWF)flight_client.rs and flight_server.rs: Run DataFusion as a standalone process and execute SQL queries from a client using the Flight protocol.