This VS Code extension allows you to navigate and execute SQL statements against Apache Pinot and StarTree cloud. Administrative features will be available in the future.
Features
Table Navigation - See below for requirements for connecting to your Pinot instance.
View Table - Click on any table in the tree view to see schema and table details.
Preview table - Previews the selected table.
SQL Execution - create a .sql file and enter your SQL. Run shift+command+P and select Pinot: execute SQL.
Add Schema - Run shift+command+P and select Pinot: Add schema. This will search for files with a .json extension. Select your schema file and hit enter.
Add Table Config - Run shift+command+P and select Pinot: Add table config. This will search for files with a .json extension. Select your table configuration file and hit enter.
Delete Table and Schema - In the Pinotdb navigation tree, right-click on the table node and select Delete table and schema. A confirmation will pop up to confirm deletion.
Run A Job - Runs a job to batch upload data into Pinot via Docker. You will need to install Docker for this feature to work. Create a jobspec.yaml, shift+command+P, and select Pinot: Ingest data into table. See below for details.
Requirements
You will need VSCode ^1.91.0.
This extension requires a .env file in the root of your project to hold the following security information. If you don't have one, PinotDB will default to localhost. If you add a .env file, clicking on 🔄 will refresh the PinotDB connection, and the extension will load your properties.
If you don't provide a .env file, the extension will default to unsecured Pinot at localhost:9000.
Creating a JobSpec
Running an ingestion job requires installing Docker. The extension will pull the apachepinot/pinot:1.1.0, generate segments, then load them into Pinot.
For CSV, create a jobspec.yaml file and copy and paste the contents below.
Replace my_workspace.my_table with your workspace (optional) and table name.
Replace my.pinot.controller.startree.cloud with your controller URL.