prqlc (with examples)
Interactive mode
prqlc compile
Motivation:
Running the prqlc
command without any arguments launches the compiler in interactive mode. This mode allows users to enter PRQL code line by line and see the compiled SQL code immediately.
Explanation:
By simply running prqlc compile
, the user is prompted to enter their PRQL code interactively. They can enter one line at a time and press enter to compile each line. The compiled SQL code will be displayed on the console after each successful compilation.
Example Output:
Enter PRQL code (press CTRL+D to finish):
from employees | filter has_dog | select salary
> SELECT salary FROM employees WHERE has_dog = true;
Compile a specific file to stdout
prqlc compile path/to/file.prql
Motivation:
Sometimes, users may want to compile a specific .prql
file and see the compiled SQL code on the console without saving the output to a file.
Explanation:
With the prqlc compile
command followed by the path to the PRQL file, users can compile the file and see the output on the console. The compiled SQL code will be displayed immediately after execution.
Example Output:
> SELECT salary FROM employees WHERE has_dog = true;
Compile a PRQL file to a SQL file
prqlc compile path/to/source.prql path/to/target.sql
Motivation:
Users may often want to compile a PRQL file and save the compiled SQL code to a separate file for further use or integration into their data processing pipelines.
Explanation:
By providing the paths to both the source PRQL file and the target SQL file, the prqlc compile
command compiles the PRQL code and saves the output to the specified SQL file.
Example Output:
The compiled SQL code will be saved to path/to/target.sql
file.
Compile a query using echo and pipes
echo "from employees | filter has_dog | select salary" | prqlc compile
Motivation:
This method allows users to compile PRQL queries without saving them to a file. It is useful for quick ad-hoc data transformations.
Explanation:
In this case, the PRQL query is passed as input through the echo
command and piped into prqlc compile
. The PRQL code is compiled immediately, and the resulting SQL code is displayed on the console.
Example Output:
> SELECT salary FROM employees WHERE has_dog = true;
Watch a directory and compile on file modification
prqlc watch path/to/directory
Motivation:
This feature enables users to automatically compile PRQL files within a specified directory whenever they are modified. It is useful for continuous data transformation tasks.
Explanation:
Running the prqlc watch
command followed by the path to a directory starts a file watcher. The tool constantly monitors the directory for any file modifications, and when a change is detected, it automatically recompiles the PRQL file to the corresponding SQL file.
Example Output:
Whenever a PRQL file within path/to/directory
is modified, the corresponding SQL file will be updated with the compiled SQL code. This output will not be displayed on the console, but the SQL file will be updated in the background.