**Summary:**
We are pleased to announce the release of dbt-maxcompute version 1.8.0-a7, which represents the first planned version of the MC dbt connector. This release successfully passes 10 basic tests as defined by dbt, covering key user scenarios. Please note that the current version does not support specific features of MaxCompute, such as partitioning, clustering, or tiered storage capabilities.
**Links:**
- [GitHub Repository](https://github.com/aliyun/dbt-maxcompute)
- [Python Package Index](https://pypi.org/project/dbt-maxcompute/1.8.0a7/)
Detailed Description
The Basic Tests included in this release encompass the following key scenarios:
- Validation of dbt’s ability to create and transform data under simple materialization settings while ensuring consistency.
- Verification of dbt's handling of simple SQL tests (both successful and failed) to confirm expected outcomes.
- Testing of ephemeral models along with their related SQL testing files to ensure correct creation, execution, and validation.
- Assessment of dbt's effect when running with the `--empty` parameter.
- Validation of outputs from running ephemeral models, including table data, documentation directory, and manifest file results.
- Confirmation of dbt's expected behavior when modifying data within incremental model tables.
- Utilization of pytest's fixture functionality in dbt to validate operations such as seed, run, and test.
- Testing of dbt snapshot functionality, verifying successful creation of snapshots using `run_dbt(["snapshot"])`, and checking the row counts against expectations using `check_relation_rows`.
- Ensuring the correctness of snapshot functions under various data change scenarios.
- Dynamic generation and execution of SQL files, along with validation of consistency in the actual data within MaxCompute.
Usage Limitations
Please be aware of the following limitations in this version:
- Does not support the creation and use of MaxCompute partitioned tables, clustered tables, external tables, or Delta tables.
- For data updates that modify existing records within a table, the tables involved must be transactional tables.
- A new definition for creating transactional tables has been introduced in dbt-maxcompute, as shown below:
sql
{{ config(
materialized='table',
transactional=true
) }}
select c_custkey as customer_id,
c_name as customer_name,
c_phone as customer_phone
from BIGDATA_PUBLIC_DATASET.tpch_10g.customer
We encourage you to try out the new features and provide feedback to help us improve the connector further!