Start with knowledge you already have
Datus Agent helps gather candidate definitions from existing SQL, business documents, and warehouse structure. Your team reviews the model before agents reuse it.
Keep Snowflake as your data warehouse and query engine. Give agents reviewed business definitions they can reuse, then let DOSI compile supported metric requests into native Snowflake SQL.
Already use Snowflake Semantic Views? See how this fits.DOSI plans the query; your configured Snowflake warehouse executes it.
Semantic Views define business meaning as native Snowflake objects. Datus uses a separate, team-reviewed Apache Ossie model that DOSI makes available to agents and applications. The two approaches can coexist; this workflow does not automatically import or replace Snowflake Semantic Views.
Snowflake stores the definition and executes the query.
DOSI uses a separate model; Snowflake executes the SQL.
Datus Agent helps gather candidate definitions from existing SQL, business documents, and warehouse structure. Your team reviews the model before agents reuse it.
Apache Ossie (incubating) is an open specification. DOSI can execute compatible models for Snowflake and other supported SQL dialects, without binding every agent to one warehouse-native semantic object.
DOSI turns a supported metric request into Snowflake SQL. Review the definition, generated SQL, and lineage; the configured Snowflake warehouse executes the query.
A compact example of the execution path: an Apache Ossie definition, SQL produced by DOSI, and a Snowflake connection profile.
Name a metric and map it to source fields. The example uses an orders model; your team owns the business logic and reviews changes before reuse.
semantic_model:
- name: orders_model
datasets:
- name: orders
source: main.orders
# Fields and relationships omitted.
metrics:
- name: revenue
expression:
dialects:
- dialect: ANSI_SQL
expression: SUM(orders.amount)DOSI compiles the selected metric and dimension into Snowflake SQL. Inspect the query before using an execution-enabled connection.
SELECT
orders.status AS status,
SUM(orders.amount) AS revenue
FROM main.orders AS orders
GROUP BY orders.statusSelect the account, warehouse, database, and schema explicitly. The DOSI connector uses key-pair authentication through the Snowflake SQL API.
datasources:
snowflake:
type: snowflake
account: ${SNOWFLAKE_ACCOUNT}
username: ${SNOWFLAKE_USER}
warehouse: COMPUTE_WH
database: ANALYTICS
schema: MAIN
private_key_file: /path/to/snowflake_key.p8SQL generated locally with DOSI from the linked model. No Snowflake query runs on this page. The YAML excerpt omits fields and relationships; download the full model to use the command.
dosi query --model orders-model.yaml \
--metrics revenue --group-by orders.status \
--dialect snowflakeStart in Studio for a team workspace, or configure DOSI directly for semantic execution. These setup steps describe the standalone DOSI connector.
Choose a Snowflake user and grant access to the warehouse and data needed for your workload. Register a key pair for that user; keep the private key and passphrase out of shared source files.
Set the account, user, warehouse, and data namespace. Point private_key_file at a PKCS#8 private key. Store secrets using environment variables or your approved secret-management process.
Compile a model and inspect the SQL first. With the connector enabled, use --execute --connection snowflake to submit a supported query to your warehouse.
Execution depends on the connector included in your DOSI build and the permissions of the configured Snowflake user. Current limits include large multi-partition results and some window calculations; check the connector reference before adopting a workload.
Choose the interface that fits the work. Keep shared definitions and inspectable execution underneath.
Bring files, SQL, results, and Agent conversations together in Studio. Use Datus Agent for data engineering and analysis, with semantic modeling as one of its capabilities.
Explore Datus StudioUse supported DOSI MCP, API, and CLI interfaces to discover models and request metrics. Snowflake executes the supported SQL; your application decides how to present the result.
Explore agent accessWhat connects, where queries run, and how the pieces fit.
It connects tables and fields to shared business definitions: metrics, dimensions, calculations, and relationships. Datus helps teams review that context and make it available to agents. DOSI compiles compatible Apache Ossie definitions into native SQL for Snowflake.
For the standalone DOSI Snowflake connector, DOSI submits native SQL through Snowflake’s SQL API. The configured Snowflake warehouse runs the query. DOSI handles planning and normalizes the returned result; this is not a claim that query results never leave Snowflake.
This workflow does not automatically import, query, or publish Snowflake Semantic Views. They are native Snowflake objects; Datus uses a separate Apache Ossie model that DOSI compiles into Snowflake SQL. Teams can compare and review definitions when deciding how to use both approaches.
The documented standalone Snowflake connector uses key-pair JWT authentication with a PKCS#8 private key. Its connection profile includes account, username, and private_key_file, with optional warehouse, database, schema, role, and key passphrase settings. The Datus Agent adapter has separate setup documentation.
Open refers to the Apache Ossie specification and reviewable, reusable definitions. DOSI uses Elastic License 2.0. Datus Agent is the open-source data Agent; the runtime and Agent have different licenses.
Yes. Requests use the configured Snowflake identity and its access. The DOSI connector documents limitations, including large multi-partition result sets and certain window operations. Reusing a model across data sources does not imply unrestricted cross-warehouse federated queries.
Start in Datus Studio, or connect the standalone DOSI runtime to your warehouse.