Crates.io | datafusion-tui |
lib.rs | datafusion-tui |
version | 0.1.0 |
source | src |
created_at | 2022-05-29 03:40:55.861048 |
updated_at | 2022-05-29 03:40:55.861048 |
description | Terminal based, extensible, interactive data analysis tool using SQL |
homepage | https://github.com/datafusion-contrib/datafusion-tui |
repository | https://github.com/datafusion-contrib/datafusion-tui |
max_upload_size | |
id | 596259 |
size | 2,462,299 |
DataFusion-tui provides an extensible terminal based data analysis tool that uses DataFusion (single node) and Ballista (distributed) as query execution engines. It has drawn inspiration and several features from datafusion-cli
. In contrast to datafusion-cli
a focus of dft
is to provide an interface for leveraging DataFusions extensibility (for example connecting to ObjectStore
s or querying custom TableProvider
s).
The objective of dft
is to provide users with the experience of having their own local database that allows them to query and join data from disparate data sources all from the terminal.
https://user-images.githubusercontent.com/622789/161690194-c7c1e1b0-e432-43ab-9e44-f7673868b9cb.mp4
Some of the current and planned features are:
dft
and DataFusion
ObjectStore
Support
ObjectStore
explorer. I.e. able to list files in ObjectStore
ObjectStore
interface that would come with bindings to S3, ADLS, and GCP. I am monitoring this and plan on updating to use that interface when it is available.TableProvider
data sources
~/.datafusion/.datafusionrc
for local database available on startupTo have the best experience with dft
it is highly recommended to define all of your DDL in ~/.datafusion/.datafusionrc
so that any tables you wish to query are available at startup. Additionally, now that DataFusion supports CREATE VIEW
via sql you can also make a VIEW
based on these tables.
The interface is split into several tabs so that relevant information can be viewed and controlled in a clean and organized manner. When not writing a SQL query keys can be entered to navigate and control the interface.
q
=> quit datafusion-tuie
=> start editing SQL Editor in Edit modec
=> clear contents of SQL EditorEnter
=> execute queryesc
to exit Edit mode and go back to Normal model
load ~/.datafusion/.datafusionrc
into editorr
rerun ~/.datafusion/.datafusionrc
w
write editor contents to ~/.datafusion/.datafusionrc
ObjectStore
--features=s3
~/.aws/credentials
will automatically be picked up.s3.json
configuration file in ~/.datafusion/object_stores/
with the fields endpoint
, access_key_id
, and secret_access_key
.