SQRL is a data compiler. It's mostly SQL so don't worry, you don't have to learn much.
IMPORT
Imports come from either the repository, built in to datasqrl,
or are custom table connectors or functions that you've written yourself. Try to let us know the
timestamp column of your data stream, but we'll do our best to infer it.
DISTINCT
Distinct statements will create distinct records of your stream or static dataset based on a key and a timestamp.
QUERIES
Queries are your standard SQL query language with some minor enhancements.
- DOT (.) pathing
- `@` referring to 'this' current relation for nested queries
- Additional join types such as TEMPORAL and INTERVAL
If your data sources are stream,
be sure to include the time window in your aggregations so we can optimize your plan. We have some helper time functions
to get you going.
JOIN DECLARATIONS
Join declarations let us know how tables are joined. They make pathing using the DOT (.) operator easier.
They are cheap so use them often.
If you don't know about GraphQL, read about it here. It lets you build a data API for your applications.
Changes here will globally optimize your use case. Everything is changable either here or the SQRL script, we're not opinionated.
What you can change here:
- Nullability on types
- Nullability on parameters
- Type names
- Type fields
- Type parameters