diff --git a/i18n/es/docusaurus-plugin-content-docs-quickstarts/current/vantagecloud-lake/vantagecloud-lake-compute-cluster-airflow.md b/i18n/es/docusaurus-plugin-content-docs-quickstarts/current/vantagecloud-lake/vantagecloud-lake-compute-cluster-airflow.md
index e932cf9dae5..5f9bb7af6d9 100644
--- a/i18n/es/docusaurus-plugin-content-docs-quickstarts/current/vantagecloud-lake/vantagecloud-lake-compute-cluster-airflow.md
+++ b/i18n/es/docusaurus-plugin-content-docs-quickstarts/current/vantagecloud-lake/vantagecloud-lake-compute-cluster-airflow.md
@@ -85,7 +85,7 @@ Use [The Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/wi
## Create a database
:::note
-A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-vantage-connection-in-dbeaver.html) can be used for this purpose.
+A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-connection-in-dbeaver.html) can be used for this purpose.
:::
Let's create the `jaffle_shop` database in the VantageCloud Lake instance with TD_OFSSTORAGE as default.
@@ -100,7 +100,7 @@ PERMANENT = 120e6, -- 120MB
## Create a database user
:::note
-A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-vantage-connection-in-dbeaver.html) can be used to execute `CREATE USER` query.
+A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-connection-in-dbeaver.html) can be used to execute `CREATE USER` query.
:::
Let's create a `lake_user` user in the VantageCloud Lake instance.
@@ -115,7 +115,7 @@ DEFAULT DATABASE = jaffle_shop;
## Grant access to user
:::note
-A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-vantage-connection-in-dbeaver.html) can be used to execute `GRANT ACCESS` queries.
+A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-connection-in-dbeaver.html) can be used to execute `GRANT ACCESS` queries.
:::
Let's provide the required privileges to the user `lake_user` to manage compute clusters.
diff --git a/i18n/ja/docusaurus-plugin-content-docs-quickstarts/current/vantagecloud-lake/vantagecloud-lake-compute-cluster-airflow.md b/i18n/ja/docusaurus-plugin-content-docs-quickstarts/current/vantagecloud-lake/vantagecloud-lake-compute-cluster-airflow.md
index e932cf9dae5..5f9bb7af6d9 100644
--- a/i18n/ja/docusaurus-plugin-content-docs-quickstarts/current/vantagecloud-lake/vantagecloud-lake-compute-cluster-airflow.md
+++ b/i18n/ja/docusaurus-plugin-content-docs-quickstarts/current/vantagecloud-lake/vantagecloud-lake-compute-cluster-airflow.md
@@ -85,7 +85,7 @@ Use [The Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/wi
## Create a database
:::note
-A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-vantage-connection-in-dbeaver.html) can be used for this purpose.
+A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-connection-in-dbeaver.html) can be used for this purpose.
:::
Let's create the `jaffle_shop` database in the VantageCloud Lake instance with TD_OFSSTORAGE as default.
@@ -100,7 +100,7 @@ PERMANENT = 120e6, -- 120MB
## Create a database user
:::note
-A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-vantage-connection-in-dbeaver.html) can be used to execute `CREATE USER` query.
+A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-connection-in-dbeaver.html) can be used to execute `CREATE USER` query.
:::
Let's create a `lake_user` user in the VantageCloud Lake instance.
@@ -115,7 +115,7 @@ DEFAULT DATABASE = jaffle_shop;
## Grant access to user
:::note
-A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-vantage-connection-in-dbeaver.html) can be used to execute `GRANT ACCESS` queries.
+A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-connection-in-dbeaver.html) can be used to execute `GRANT ACCESS` queries.
:::
Let's provide the required privileges to the user `lake_user` to manage compute clusters.
diff --git a/quickstarts/analyze-data/ml.md b/quickstarts/analyze-data/ml.md
index 9ff70a2d41d..42b7d9dc025 100644
--- a/quickstarts/analyze-data/ml.md
+++ b/quickstarts/analyze-data/ml.md
@@ -1,270 +1,300 @@
---
sidebar_position: 3
id: ml
-title: Train ML models in Vantage using Database Analytic Functions
-author: Krutik Pathak
-email: krutik.pathak@teradata.com
-page_last_update: November 21st, 2023
-description: Train an ML model without leaving Teradata Vantage - use Vantage Database Analytic Functions to create ML models.
-keywords: [data warehouses, database analytic functions, compute storage separation, teradata, vantage, cloud data platform, object storage, business intelligence, enterprise analytics, AI/ML]
+title: Train ML models in Teradata using In-Database Analytic Functions
+author: Krutik Pathak, Vidhan Bhonsle
+email: developer.relations@teradata.com
+page_last_update: July 2nd, 2026
+description: Train an ML model without leaving Teradata - use Teradata In-Database Analytic Functions to create ML models.
+keywords: [data warehouses, in-database analytic functions, compute storage separation, teradata, cloud data platform, object storage, business intelligence, enterprise analytics, AI/ML]
---
import TrialDocsNote from '../_partials/teradata_trial.mdx'
-import CommunityLink from '../_partials/community_link.mdx'
-# Train ML models in Vantage using Database Analytic Functions
+# Train ML models in Teradata using In-Database Analytic Functions
## Overview
-There are situations when you want to quickly validate a machine learning model idea. You have a model type in mind. You don't want to operationalize with an ML pipeline just yet. You just want to test out if the relationship you had in mind exists. Also, sometimes even your production deployment doesn't require constant relearning with MLops. In such cases, you can use Database Analytic Functions for feature engineering, train different ML models, score your models, and evaluate your model on different model evaluation functions.
+There are situations where you want to quickly validate a machine learning model idea. You may have a model type in mind, but you may not want to operationalize it with an ML pipeline yet. You just want to test whether the relationship you have in mind exists. In some cases, even a production deployment may not require constant retraining with MLOps.
+
+In such cases, you can use In-Database Analytic Functions for feature engineering, training different ML models, scoring models, and evaluating model performance.
## Prerequisites
-You need access to a Teradata Vantage instance.
+You need access to a Teradata instance.
+
## Load the sample data
-Here in this example we will be using the sample data from `val` database. We will use the `accounts`, `customer`, and `transactions` tables. We will be creating some tables in the process and you might face some issues while creating tables in `val` database, so let's create our own database `td_analytics_functions_demo`.
+In this example, we use sample data from the `val` database. We use the `accounts`, `customer`, and `transactions` tables. Since we will create tables during this process, and you might face issues creating tables directly in the `val` database, let's create our own database, `td_analytics_functions_demo`.
-```
+```sql
CREATE DATABASE td_analytics_functions_demo
AS PERMANENT = 110e6;
```
:::note
-You must have CREATE TABLE permissions on the Database where you want to use Database Analytics Functions.
+You must have `CREATE TABLE` permissions on the database where you want to use In-Database Analytic Functions.
:::
-Let's now create `accounts`, `customer` and `transactions` tables in our database `td_analytics_functions_demo` from the corresponding tables in `val` database.
+Let's now create the `accounts`, `customer`, and `transactions` tables in our `td_analytics_functions_demo` database from the corresponding tables in the `val` database.
-```
+:::note
+If you are using DBeaver, run each `CREATE TABLE` statement separately or ensure Auto-commit is enabled. Running multiple DDL statements together may result in the following error: `Only an ET or null statement is legal after a DDL Statement.`
+:::
+
+```sql
DATABASE td_analytics_functions_demo;
CREATE TABLE customer AS (
-SELECT * FROM val.customer
+ SELECT * FROM val.customer
) WITH DATA;
CREATE TABLE accounts AS (
-SELECT * FROM val.accounts
+ SELECT * FROM val.accounts
) WITH DATA;
CREATE TABLE transactions AS (
-SELECT * FROM val.transactions
+ SELECT * FROM val.transactions
) WITH DATA;
```
## Understand the sample data
-Now, that we have our sample tables loaded into `td_analytics_functions_demo`, let's explore the data. It's a simplistic, fictitious dataset of banking customers (700-ish rows), Accounts (1400-ish rows) and Transactions (77K-ish rows). They are related to each other in the following ways:
+Now that we have our sample tables loaded into `td_analytics_functions_demo`, let's explore the data.
+This is a simple, fictitious banking dataset with approximately 700 customer records, 1,400 account records, and 77,000 transaction records. The tables are related to each other as shown below:

-In later parts of this how-to we are going to explore if we can build a model that predicts average monthly balance that a banking customer has on their credit card based on all non-credit card related variables in the tables.
+In the next steps, we will explore whether we can build a model that predicts a banking customer's average monthly credit card balance based on non-credit-card-related variables from the tables.
-## Preparing the Dataset
+## Prepare the dataset
-We have data in three different tables that we want to join and create features. Let's start by creating a joined table.
+We have data in three tables that we want to join and use to create features. Let's start by creating a joined table.
-```
--- Create a consolidated joined_table from customer, accounts and transactions table
+```sql
+-- Create a consolidated joined_table from customer, accounts, and transactions
CREATE TABLE td_analytics_functions_demo.joined_table AS (
- SELECT
- T1.cust_id AS cust_id
- ,MIN(T1.income) AS tot_income
- ,MIN(T1.age) AS tot_age
- ,MIN(T1.years_with_bank) AS tot_cust_years
- ,MIN(T1.nbr_children) AS tot_children
- ,MIN(T1.marital_status)AS marital_status
- ,MIN(T1.gender) AS gender
- ,MAX(T1.state_code) AS state_code
- ,AVG(CASE WHEN T2.acct_type = 'CK' THEN T2.starting_balance+T2.ending_balance ELSE 0 END) AS ck_avg_bal
- ,AVG(CASE WHEN T2.acct_type = 'SV' THEN T2.starting_balance+T2.ending_balance ELSE 0 END) AS sv_avg_bal
- ,AVG(CASE WHEN T2.acct_type = 'CC' THEN T2.starting_balance+T2.ending_balance ELSE 0 END) AS cc_avg_bal
- ,AVG(CASE WHEN T2.acct_type = 'CK' THEN T3.principal_amt+T3.interest_amt ELSE 0 END) AS ck_avg_tran_amt
- ,AVG(CASE WHEN T2.acct_type = 'SV' THEN T3.principal_amt+T3.interest_amt ELSE 0 END) AS sv_avg_tran_amt
- ,AVG(CASE WHEN T2.acct_type = 'CC' THEN T3.principal_amt+T3.interest_amt ELSE 0 END) AS cc_avg_tran_amt
- ,COUNT(CASE WHEN ((EXTRACT(MONTH FROM T3.tran_date) + 2) / 3) = 1 THEN T3.tran_id ELSE NULL END) AS q1_trans_cnt
- ,COUNT(CASE WHEN ((EXTRACT(MONTH FROM T3.tran_date) + 2) / 3) = 2 THEN T3.tran_id ELSE NULL END) AS q2_trans_cnt
- ,COUNT(CASE WHEN ((EXTRACT(MONTH FROM T3.tran_date) + 2) / 3) = 3 THEN T3.tran_id ELSE NULL END) AS q3_trans_cnt
- ,COUNT(CASE WHEN ((EXTRACT(MONTH FROM T3.tran_date) + 2) / 3) = 4 THEN T3.tran_id ELSE NULL END) AS q4_trans_cnt
- FROM Customer AS T1
- LEFT OUTER JOIN Accounts AS T2
- ON T1.cust_id = T2.cust_id
- LEFT OUTER JOIN Transactions AS T3
- ON T2.acct_nbr = T3.acct_nbr
-GROUP BY T1.cust_id) WITH DATA UNIQUE PRIMARY INDEX (cust_id);
+ SELECT
+ T1.cust_id AS cust_id,
+ MIN(T1.income) AS tot_income,
+ MIN(T1.age) AS tot_age,
+ MIN(T1.years_with_bank) AS tot_cust_years,
+ MIN(T1.nbr_children) AS tot_children,
+ MIN(T1.marital_status) AS marital_status,
+ MIN(T1.gender) AS gender,
+ MAX(T1.state_code) AS state_code,
+ AVG(CASE WHEN T2.acct_type = 'CK' THEN T2.starting_balance + T2.ending_balance ELSE 0 END) AS ck_avg_bal,
+ AVG(CASE WHEN T2.acct_type = 'SV' THEN T2.starting_balance + T2.ending_balance ELSE 0 END) AS sv_avg_bal,
+ AVG(CASE WHEN T2.acct_type = 'CC' THEN T2.starting_balance + T2.ending_balance ELSE 0 END) AS cc_avg_bal,
+ AVG(CASE WHEN T2.acct_type = 'CK' THEN T3.principal_amt + T3.interest_amt ELSE 0 END) AS ck_avg_tran_amt,
+ AVG(CASE WHEN T2.acct_type = 'SV' THEN T3.principal_amt + T3.interest_amt ELSE 0 END) AS sv_avg_tran_amt,
+ AVG(CASE WHEN T2.acct_type = 'CC' THEN T3.principal_amt + T3.interest_amt ELSE 0 END) AS cc_avg_tran_amt,
+ COUNT(CASE WHEN ((EXTRACT(MONTH FROM T3.tran_date) + 2) / 3) = 1 THEN T3.tran_id ELSE NULL END) AS q1_trans_cnt,
+ COUNT(CASE WHEN ((EXTRACT(MONTH FROM T3.tran_date) + 2) / 3) = 2 THEN T3.tran_id ELSE NULL END) AS q2_trans_cnt,
+ COUNT(CASE WHEN ((EXTRACT(MONTH FROM T3.tran_date) + 2) / 3) = 3 THEN T3.tran_id ELSE NULL END) AS q3_trans_cnt,
+ COUNT(CASE WHEN ((EXTRACT(MONTH FROM T3.tran_date) + 2) / 3) = 4 THEN T3.tran_id ELSE NULL END) AS q4_trans_cnt
+ FROM td_analytics_functions_demo.customer AS T1
+ LEFT OUTER JOIN td_analytics_functions_demo.accounts AS T2
+ ON T1.cust_id = T2.cust_id
+ LEFT OUTER JOIN td_analytics_functions_demo.transactions AS T3
+ ON T2.acct_nbr = T3.acct_nbr
+ GROUP BY T1.cust_id
+) WITH DATA UNIQUE PRIMARY INDEX (cust_id);
```
-Let's now see how our data looks. The dataset has both categorical and continuous features or independent variables. In our case, the dependent variable is `cc_avg_bal` which is customer's average credit card balance.
+Let's now see how our data looks.
+
+```sql
+SELECT TOP 10 *
+FROM td_analytics_functions_demo.joined_table;
+```
+
+The dataset has both categorical and continuous features, or independent variables. In our case, the dependent variable is `cc_avg_bal`, which is the customer's average credit card balance.

-## Feature Engineering
+## Feature engineering
-On looking at the data we see that there are several features that we can take into consideration for predicting the `cc_avg_bal`.
+After looking at the data, we can see that there are several features we can use to predict `cc_avg_bal`.
### TD_OneHotEncodingFit
-As we have some categorical features in our dataset such as `gender`, `marital status` and `state code`. We will leverage the Database Analytics function [TD_OneHotEncodingFit](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Analytic-Functions/Feature-Engineering-Transform-Functions/TD_OneHotEncodingFit) to encode categories to one-hot numeric vectors.
+Our dataset includes categorical features such as `gender`, `marital_status`, and `state_code`. We will use the In-Database Analytic Function [TD_OneHotEncodingFit](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Engine-20-In-Database-Analytic-Functions/Feature-Engineering-Transform-Functions/TD_OneHotEncodingFit) to encode these categories into one-hot numeric vectors.
-```
+```sql
CREATE VIEW td_analytics_functions_demo.one_hot_encoding_joined_table_input AS (
SELECT * FROM TD_OneHotEncodingFit(
ON td_analytics_functions_demo.joined_table AS InputTable
USING
- IsInputDense ('true')
- TargetColumn ('gender','marital_status','state_code')
- CategoryCounts(2,4,33)
-Approach('Auto')
-) AS dt
+ IsInputDense('true')
+ TargetColumn('gender', 'marital_status', 'state_code')
+ CategoryCounts(2, 4, 33)
+ Approach('Auto')
+ ) AS dt
);
```
### TD_ScaleFit
-If we look at the data, some columns like `tot_income`, `tot_age`, `ck_avg_bal` have values in different ranges. For the optimization algorithms like gradient descent it is important to normalize the values to the same scale for faster convergence, scale consistency and enhanced model performance. We will leverage [TD_ScaleFit](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Analytic-Functions/Feature-Engineering-Transform-Functions/TD_ScaleFit) function to normalize values in different scales.
+Some columns, such as `tot_income`, `ck_avg_bal`, and transaction count columns, have values in different ranges. For optimization algorithms like gradient descent, it is important to normalize values to the same scale for faster convergence, scale consistency, and improved model performance.
-```
- CREATE VIEW td_analytics_functions_demo.scale_fit_joined_table_input AS (
+We will use the [TD_ScaleFit](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Engine-20-In-Database-Analytic-Functions/Feature-Engineering-Transform-Functions/TD_ScaleFit) function to normalize values across different scales.
+
+```sql
+CREATE VIEW td_analytics_functions_demo.scale_fit_joined_table_input AS (
SELECT * FROM TD_ScaleFit(
ON td_analytics_functions_demo.joined_table AS InputTable
USING
- TargetColumns('tot_income','q1_trans_cnt','q2_trans_cnt','q3_trans_cnt','q4_trans_cnt','ck_avg_bal','sv_avg_bal','ck_avg_tran_amt', 'sv_avg_tran_amt', 'cc_avg_tran_amt')
+ TargetColumns('tot_income', 'q1_trans_cnt', 'q2_trans_cnt', 'q3_trans_cnt', 'q4_trans_cnt', 'ck_avg_bal', 'sv_avg_bal', 'ck_avg_tran_amt', 'sv_avg_tran_amt', 'cc_avg_tran_amt')
ScaleMethod('RANGE')
-) AS dt
+ ) AS dt
);
```
### TD_ColumnTransformer
-Teradata's Database Analytic Functions typically operate in pairs for data transformations. The first step is dedicated to "fitting" the data. Subsequently, the second function utilizes the parameters derived from the fitting process to execute the actual transformation on the data. The [TD_ColumnTransformer](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Analytic-Functions/Feature-Engineering-Transform-Functions/TD_ColumnTransformer)takes the FIT tables to the function and transforms the input table columns in single operation.
+Teradata In-Database Analytic Functions typically operate in pairs for data transformations. The first function fits the data and generates the required parameters. The second function uses those parameters to transform the input data.
+The [TD_ColumnTransformer](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Engine-20-In-Database-Analytic-Functions/Feature-Engineering-Transform-Functions/TD_ColumnTransformer) function takes the fit tables as input and transforms the input table columns in a single operation.
-```
--- Using a consolidated transform function
+
+```sql
+-- Use a consolidated transform function
CREATE TABLE td_analytics_functions_demo.feature_enriched_accounts_consolidated AS (
-SELECT * FROM TD_ColumnTransformer(
-ON joined_table AS InputTable
-ON one_hot_encoding_joined_table_input AS OneHotEncodingFitTable DIMENSION
-ON scale_fit_joined_table_input AS ScaleFitTable DIMENSION
-) as dt
+ SELECT * FROM TD_ColumnTransformer(
+ ON td_analytics_functions_demo.joined_table AS InputTable
+ ON td_analytics_functions_demo.one_hot_encoding_joined_table_input AS OneHotEncodingFitTable DIMENSION
+ ON td_analytics_functions_demo.scale_fit_joined_table_input AS ScaleFitTable DIMENSION
+ ) AS dt
) WITH DATA;
```
-Once we perform the transformation we can see our categorical columns one-hot encoded and numeric values scaled as can be seen in the image below. For ex: `tot_income` is in the range [0,1], `gender` is one-hot encoded to `gender_0`, `gender_1`, `gender_other`.
+After we perform the transformation, we can see that the categorical columns are one-hot encoded and the numeric values are scaled, as shown in the images below. For example, `tot_income` is in the range `[0, 1]`, and `gender` is one-hot encoded into `gender_0`, `gender_1`, and `gender_other`.
+


-## Train Test Split
+## Train/test split
-As we have our datatset ready with features scaled and encoded, now let's split our dataset into training (75%) and testing (25%) parts. Teradata's Database Analytic Functions provide [TD_TrainTestSplit](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Analytic-Functions/Model-Evaluation-Functions/TD_TrainTestSplit) function that we'll leverage to split our dataset.
+Now that our dataset is ready with scaled and encoded features, let's split it into training and testing datasets. We will use 75% of the data for training and 25% for testing.
-```
--- Train Test Split on Input table
+Teradata In-Database Analytic Functions provide the [TD_TrainTestSplit](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Engine-20-In-Database-Analytic-Functions/Model-Evaluation-Functions/TD_TrainTestSplit) function, which we will use to split our dataset.
+
+```sql
+-- Create a train/test split on the input table
CREATE VIEW td_analytics_functions_demo.train_test_split AS (
-SELECT * FROM TD_TrainTestSplit(
-ON td_analytics_functions_demo.feature_enriched_accounts_consolidated AS InputTable
-USING
-IDColumn('cust_id')
-trainSize(0.75)
-testSize(0.25)
-Seed (42)
-) AS dt
+ SELECT * FROM TD_TrainTestSplit(
+ ON td_analytics_functions_demo.feature_enriched_accounts_consolidated AS InputTable
+ USING
+ IDColumn('cust_id')
+ TrainSize(0.75)
+ TestSize(0.25)
+ Seed(42)
+ ) AS dt
);
```
-As can be seen in the image below, the function adds a new column `TD_IsTrainRow`.
+As shown below, the function adds a new column, `TD_IsTrainRow`, where `1` indicates a training row and `0` indicates a testing row.

-We'll use `TD_IsTrainRow` to create two tables, one for training and other for testing.
+We will use `TD_IsTrainRow` to create two tables: one for training and one for testing.
-```
--- Creating Training Table
+```sql
+-- Create the training table
CREATE TABLE td_analytics_functions_demo.training_table AS (
- SELECT * FROM td_analytics_functions_demo.train_test_split
+ SELECT *
+ FROM td_analytics_functions_demo.train_test_split
WHERE TD_IsTrainRow = 1
) WITH DATA;
+```
--- Creating Testing Table
+```sql
+-- Create the testing table
CREATE TABLE td_analytics_functions_demo.testing_table AS (
- SELECT * FROM td_analytics_functions_demo.train_test_split
+ SELECT *
+ FROM td_analytics_functions_demo.train_test_split
WHERE TD_IsTrainRow = 0
) WITH DATA;
```
-## Training with Generalized Linear Model
+## Training with generalized linear model
-We will now use [TD_GLM](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Analytic-Functions/Model-Training-Functions/TD_GLM) Database Analytic Function to train on our training dataset. The `TD_GLM` function is a generalized linear model (GLM) that performs regression and classification analysis on data sets. Here we have used a bunch of input columns such as `tot_income`, `ck_avg_bal`,`cc_avg_tran_amt`, one-hot encoded values for marital status, gender and states. `cc_avg_bal` is our dependent or response column which is continous and hence is a regression problem. We use `Family` as `Gaussian` for regression and `Binomial` for classification.
+We will now use the [TD_GLM](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Engine-20-In-Database-Analytic-Functions/Model-Training-Functions/TD_GLM) In-Database Analytic Function to train our model on the training dataset. The `TD_GLM` function is a generalized linear model (GLM) that performs regression and classification analysis on datasets.
-The parameter `Tolerance` signifies minimum improvement required in prediction accuracy for model to stop the iterations and `MaxIterNum` signifies the maximum number of iterations allowed. The model concludes training upon whichever condition is met first. For example in the example below the model is `CONVERGED` after 58 iterations.
+In this example, we use input columns such as `tot_income`, `ck_avg_bal`, `cc_avg_tran_amt`, and one-hot encoded values for marital status, gender, and state. The dependent, or response, column is `cc_avg_bal`. Since `cc_avg_bal` is a continuous value, this is a regression problem. We use `Family` as `Gaussian` for regression and `Binomial` for classification.
-```
--- Training the GLM_Model with Training Dataset
+The `Tolerance` parameter specifies the minimum improvement required in prediction accuracy for the model to continue iterating, while `MaxIterNum` specifies the maximum number of iterations allowed. Training stops when either condition is met first. In the example below, the model reaches `CONVERGED` status after 58 iterations.
+
+```sql
+-- Train the GLM model using the training dataset
CREATE TABLE td_analytics_functions_demo.GLM_model_training AS (
-SELECT * FROM TD_GLM (
- ON td_analytics_functions_demo.training_table AS InputTable
- USING
- InputColumns('tot_income','ck_avg_bal','cc_avg_tran_amt','[19:26]')
- ResponseColumn('cc_avg_bal')
- Family ('Gaussian')
- MaxIterNum (300)
- Tolerance (0.001)
- Intercept ('true')
-) AS dt
+ SELECT * FROM TD_GLM(
+ ON td_analytics_functions_demo.training_table AS InputTable
+ USING
+ InputColumns('tot_income', 'ck_avg_bal', 'cc_avg_tran_amt', '[19:26]')
+ ResponseColumn('cc_avg_bal')
+ Family('Gaussian')
+ MaxIterNum(300)
+ Tolerance(0.001)
+ Intercept('true')
+ ) AS dt
) WITH DATA;
```
-
+
-## Scoring on Testing Dataset
+## Scoring on testing dataset
-We will now use our model `GLM_model_training` to score our testing dataset `testing_table` using link:[TD_GLMPredict](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Analytic-Functions/Model-Scoring-Functions/TD_GLMPredict)Database Analytic Function.
+We will now use our model, `GLM_model_training`, to score the testing dataset, `testing_table`, using the [TD_GLMPredict](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Engine-20-In-Database-Analytic-Functions/Model-Scoring-Functions/TD_GLMPredict) In-Database Analytic Function.
```sql
--- Scoring the GLM_Model with Testing Dataset
+-- Score the GLM model on the testing dataset
CREATE TABLE td_analytics_functions_demo.GLM_model_test_prediction AS (
-SELECT * from TD_GLMPredict (
-ON td_analytics_functions_demo.testing_table AS InputTable
-ON td_analytics_functions_demo.GLM_model_training AS ModelTable DIMENSION
-USING
-IDColumn ('cust_id')
-Accumulate('cc_avg_bal')
-) AS dt
+ SELECT * FROM TD_GLMPredict(
+ ON td_analytics_functions_demo.testing_table AS InputTable
+ ON td_analytics_functions_demo.GLM_model_training AS ModelTable DIMENSION
+ USING
+ IDColumn('cust_id')
+ Accumulate('cc_avg_bal')
+ ) AS dt
) WITH DATA;
```

-## Model Evaluation
+## Model evaluation
-Finally, we evaluate our model on the scored results. Here we are using [TD_RegressionEvaluator](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Analytic-Functions/Model-Evaluation-Functions/TD_RegressionEvaluator) function. The model can be evaluated based on parameters such as `R2`, `RMSE`, `F_score`.
+Finally, we evaluate our model on the scored results. We will use the [TD_RegressionEvaluator](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Engine-20-In-Database-Analytic-Functions/Model-Evaluation-Functions/TD_RegressionEvaluator) function for model evaluation. The model can be evaluated using metrics such as `RMSE`, `MAE`, and `R2`.
```sql
--- Evaluating the model
+-- Evaluate the model
SELECT * FROM TD_RegressionEvaluator(
-ON td_analytics_functions_demo.GLM_model_test_prediction AS InputTable
-USING
-ObservationColumn('cc_avg_bal')
-PredictionColumn('prediction')
-Metrics('RMSE','MAE','R2')
+ ON td_analytics_functions_demo.GLM_model_test_prediction AS InputTable
+ USING
+ ObservationColumn('cc_avg_bal')
+ PredictionColumn('prediction')
+ Metrics('RMSE', 'MAE', 'R2')
) AS dt;
```

:::note
-The purpose of this how-to is not to describe feature engineering but to demonstrate how we can leverage different Database Analytic Functions in Vantage. The model results might not be optimal and the process to make the best model is beyond the scope of this article.
+The purpose of this how-to is not to describe feature engineering in detail, but to demonstrate how we can use different In-Database Analytic Functions in Teradata. The model results might not be optimal, and the process of building the best model is beyond the scope of this article.
:::
## Summary
-In this quick start we have learned how to create ML models using Teradata Database Analytic Functions. We built our own database `td_analytics_functions_demo` with `customer`,`accounts`, `transactions` data from `val` database. We performed feature engineering by transforming the columns using `TD_OneHotEncodingFit`, `TD_ScaleFit` and `TD_ColumnTransformer`. We then used `TD_TrainTestSplit` for train test split. We trained our training dataset with `TD_GLM` model and scored our testing dataset. Finally we evaluated our scored results using `TD_RegressionEvaluator` function.
+In this quickstart, we learned how to create ML models using Teradata In-Database Analytic Functions. We created our own database, `td_analytics_functions_demo`, and loaded the `customer`, `accounts`, and `transactions` data from the `val` database.
+
+We performed feature engineering using `TD_OneHotEncodingFit`, `TD_ScaleFit`, and `TD_ColumnTransformer`. We then used `TD_TrainTestSplit` to split the dataset into training and testing tables. Next, we trained a model using `TD_GLM`, scored the testing dataset using `TD_GLMPredict`, and evaluated the scored results using `TD_RegressionEvaluator`.
+
## Further reading
-* [Vantage Database Analytic Functions User Guide](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Analytic-Functions/Introduction-to-Analytics-Database-Analytic-Functions)
-
+* [Teradata In-Database Analytic Functions](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Database-Engine-20-In-Database-Analytic-Functions)
\ No newline at end of file
diff --git a/quickstarts/analyze-data/perform-time-series-analysis-using-teradata.md b/quickstarts/analyze-data/perform-time-series-analysis-using-teradata.md
index 70aa6d8c96a..1e26880dc11 100644
--- a/quickstarts/analyze-data/perform-time-series-analysis-using-teradata.md
+++ b/quickstarts/analyze-data/perform-time-series-analysis-using-teradata.md
@@ -249,5 +249,5 @@ In this quick start we have learnt how easy it is to analyse time series dataset
## Further reading
* [Teradata - Time Series Tables and Operations](https://docs.teradata.com/r/Teradata-VantageTM-Time-Series-Tables-and-Operations/July-2021/Introduction-to-Teradata-Time-Series-Tables-and-Operations)
-* [Query data stored in object storage](../manage-data/nos.md)
+* [Query data stored in object storage](../../manage-data/nos)
* [Teradata - Native Object Store Getting Started Guide](https://docs.teradata.com/r/2mw8ooFr~xX0EaaGFaDW8A/root)
diff --git a/quickstarts/connect-to-vantage/configure-a-teradata-connection-in-dbeaver.md b/quickstarts/connect-to-vantage/configure-a-teradata-connection-in-dbeaver.md
new file mode 100644
index 00000000000..30a8a16a4fa
--- /dev/null
+++ b/quickstarts/connect-to-vantage/configure-a-teradata-connection-in-dbeaver.md
@@ -0,0 +1,75 @@
+---
+sidebar_position: 2
+author: Adam Tworkiewicz, Vidhan Bhonsle
+email: developer.relations@teradata.com
+page_last_update: June 30th, 2026
+description: Configure a Teradata connection in DBeaver.
+keywords: [data warehouses, compute storage separation, teradata, cloud data platform, object storage, business intelligence, enterprise analytics, dbeaver, DBeaver PRO, sql ide]
+---
+
+# Configure a Teradata connection in DBeaver
+
+## Overview
+
+This how-to shows how to create a Teradata connection with DBeaver.
+
+## Prerequisites
+
+import TrialDocsNote from '../_partials/teradata_trial.mdx'
+
+* Access to a Teradata instance.
+
+* DBeaver installed. You can use [DBeaver Community](https://dbeaver.io/download) or one of the [DBeaver PRO editions](https://dbeaver.com/download).
+
+## Add a Teradata connection to DBeaver
+
+1. Start the new connection wizard by clicking the plug icon () in the upper-left corner of the application window, or go to `Database -> New Database Connection`.
+2. On the `Select your database` screen, start typing `teradata` and select the Teradata icon.
+
+3. On the main tab, set the primary connection settings. The required settings are `Host`, `Port`, `Database/Schema`, `Username`, and `Password`.
+ :::tip
+ In Teradata, when a user is created, a corresponding database with the same name is created as well. DBeaver requires you to enter a database or schema. If you do not know which database or schema to connect to, use your username in the `Database/Schema` field.
+ :::
+
+ :::tip
+ With DBeaver PRO editions, you can use the standard ordering of tables or hierarchically link tables to a specific database or user. Expanding and collapsing databases or users helps you navigate from one area to another without cluttering the Database Navigator window. Check the `Show databases and users hierarchically` box to enable this setting.
+ :::
+
+ :::tip
+ In many environments, Teradata can only be accessed using the TLS protocol. In DBeaver PRO editions, check the `Use TLS protocol` option to enable TLS.
+ :::
+
+ 
+
+4. Click `Finish`.
+
+## Optional: Logon Mechanisms
+
+The default logon mechanism for a Teradata connection in DBeaver is `TD2`. To use a different logon mechanism, create a copy of the Teradata driver and update the URL template.
+
+1. Go to `Database -> Driver Manager`.
+2. From the list of driver names, select `Teradata` and click `Copy`.
+ 
+
+3. In the `URL Template` field, define your selected logon mechanism.
+ For example, to use LDAP, enter:
+ ```text
+ jdbc:teradata://{host}/LOGMECH=LDAP,DATABASE={database},DBS_PORT={port}
+ ```
+ 
+
+4. Click "OK".
+5. The copied driver is now available for creating connections with the selected logon mechanism.
+ 
+6. The process for setting up a new connection with the alternative logon mechanism is the same as described above for adding a new connection.
+ 
+
+## Optional: SSH tunneling
+
+If your database cannot be accessed directly, you can use an SSH tunnel. All settings are available on the `SSH` tab. DBeaver supports the following authentication methods: user/password, public key, SSH agent authentication.
+
+
+
+## Summary
+
+This how-to showed you how to create a Teradata connection in DBeaver.
\ No newline at end of file
diff --git a/quickstarts/connect-to-vantage/configure-a-teradata-vantage-connection-in-dbeaver.md b/quickstarts/connect-to-vantage/configure-a-teradata-vantage-connection-in-dbeaver.md
deleted file mode 100644
index 763e035d1af..00000000000
--- a/quickstarts/connect-to-vantage/configure-a-teradata-vantage-connection-in-dbeaver.md
+++ /dev/null
@@ -1,76 +0,0 @@
----
-sidebar_position: 2
-author: Adam Tworkiewicz
-email: adam.tworkiewicz@teradata.com
-page_last_update: March 6th, 2022
-description: Configure a Teradata Vantage connection in DBeaver.
-keywords: [data warehouses, compute storage separation, teradata, vantage, cloud data platform, object storage, business intelligence, enterprise analytics, dbeaver, dbeaver prod, sql ide]
----
-
-# Configure a Teradata Vantage connection in DBeaver
-
-## Overview
-
-This how-to demonstrates how to create a connection to Teradata Vantage with DBeaver.
-
-## Prerequisites
-
-import TrialDocsNote from '../_partials/teradata_trial.mdx'
-
-* Access to a Teradata Vantage instance.
-
-* DBeaver installed. See [DBeaver Community](https://dbeaver.io/download) or [DBeaver PRO](https://dbeaver.com/download) for installation options.
-
-## Add a Teradata connection to DBeaver
-
-1. Start the new connection wizard by clicking on the plug icon () in the upper left corner of the application window or go to `Database -> New Database Connection`.
-2. On `Select your database` screen, start typing `teradata` and select the Teradata icon.
-
-3. On the main tab, you need to set all primary connection settings. The required ones include `Host`, `Port`, `Database`, `Username`, and `Password`.
- :::tip
- In Teradata Vantage, when a user is created a corresponding database with the same is created as well. DBeaver requires that you enter the database. If you don't know what database you want to connect to, use your username in the `database` field.
- :::
-
- :::tip
- With DBeaver PRO, you can not only use the standard ordering of tables but also hierarchically link tables to a specific database or user. Expanding and collapsing the databases or users will help you navigate from one area to another without swamping the Database Navigator window. Check the `Show databases and users hierarchically` box to enable this setting.
- :::
-
- :::tip
- In many environments Teradata Vantage can only be accessed using the TLS protocol. When in DBeaver PRO, check `Use TLS protocol` option to enable TLS.
- :::
-
- 
-
-4. Click on `Finish`.
-
-## Optional: Logon Mechanisms
-
-The default logon mechanism when creating a DBeaver connection is TD2. To add other logon mechanisms, follow the steps below:
-
-1. Navigate to the database menu and click on Driver Manager.
-2. From the list of driver names, select Teradata and click "Copy".
- 
-
-3. In the "URL Template" field, define your selected logon mechanism.
- `jdbc:teradata://\{host}/LOGMECH=LDAP,DATABASE=\{database},DBS_PORT=\{port}`
- 
-
-4. Click "OK".
-5. The new driver is now available to create connections with the selected logon mechanism.
- 
-6. The process for setting up a new connection with the alternative mechanism is the same as described above for adding a new connection.
- 
-
-## Optional: SSH tunneling
-
-If your database cannot be accessed directly, you can use an SSH tunnel. All settings are available on the `SSH` tab. DBeaver supports the following authentication methods: user/password, public key, SSH agent authentication.
-
-
-
-## Summary
-
-This how-to demonstrated how to create a connection to Teradata Vantage with DBeaver.
-
-import CommunityLinkPartial from '../_partials/community_link.mdx';
-
-
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/airbyte_credentials.png b/quickstarts/elt/images/getting-started-with-airbyte/airbyte_credentials.png
new file mode 100644
index 00000000000..5954d327d97
Binary files /dev/null and b/quickstarts/elt/images/getting-started-with-airbyte/airbyte_credentials.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/airbyte_source.png b/quickstarts/elt/images/getting-started-with-airbyte/airbyte_source.png
new file mode 100644
index 00000000000..ff5b6dceb3c
Binary files /dev/null and b/quickstarts/elt/images/getting-started-with-airbyte/airbyte_source.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/asking_for_credentials.png b/quickstarts/elt/images/getting-started-with-airbyte/asking_for_credentials.png
new file mode 100644
index 00000000000..9842db4070c
Binary files /dev/null and b/quickstarts/elt/images/getting-started-with-airbyte/asking_for_credentials.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/close_airbyte_connection.png b/quickstarts/elt/images/getting-started-with-airbyte/close_airbyte_connection.png
index 26c8d4ac748..e229c7aea7b 100644
Binary files a/quickstarts/elt/images/getting-started-with-airbyte/close_airbyte_connection.png and b/quickstarts/elt/images/getting-started-with-airbyte/close_airbyte_connection.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/configure_connection_airbyte.png b/quickstarts/elt/images/getting-started-with-airbyte/configure_connection_airbyte.png
new file mode 100644
index 00000000000..35a697fc812
Binary files /dev/null and b/quickstarts/elt/images/getting-started-with-airbyte/configure_connection_airbyte.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/configuring_destination_teradata_airbyte.png b/quickstarts/elt/images/getting-started-with-airbyte/configuring_destination_teradata_airbyte.png
index 5150ff9bcb3..3af926a6b05 100644
Binary files a/quickstarts/elt/images/getting-started-with-airbyte/configuring_destination_teradata_airbyte.png and b/quickstarts/elt/images/getting-started-with-airbyte/configuring_destination_teradata_airbyte.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/configuring_source_gsheet_airbyte.png b/quickstarts/elt/images/getting-started-with-airbyte/configuring_source_gsheet_airbyte.png
index 35c45ebf2d6..ff725e11f26 100644
Binary files a/quickstarts/elt/images/getting-started-with-airbyte/configuring_source_gsheet_airbyte.png and b/quickstarts/elt/images/getting-started-with-airbyte/configuring_source_gsheet_airbyte.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/create_first_connection.png b/quickstarts/elt/images/getting-started-with-airbyte/create_first_connection.png
index 62630a71eaf..0a5f8514e20 100644
Binary files a/quickstarts/elt/images/getting-started-with-airbyte/create_first_connection.png and b/quickstarts/elt/images/getting-started-with-airbyte/create_first_connection.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/data_sync_summary.png b/quickstarts/elt/images/getting-started-with-airbyte/data_sync_summary.png
index 5af214d377f..4e92ab136af 100644
Binary files a/quickstarts/elt/images/getting-started-with-airbyte/data_sync_summary.png and b/quickstarts/elt/images/getting-started-with-airbyte/data_sync_summary.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/data_sync_validation_in_teradata.png b/quickstarts/elt/images/getting-started-with-airbyte/data_sync_validation_in_teradata.png
index 96930135130..a2bbd66340b 100644
Binary files a/quickstarts/elt/images/getting-started-with-airbyte/data_sync_validation_in_teradata.png and b/quickstarts/elt/images/getting-started-with-airbyte/data_sync_validation_in_teradata.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/define_destination.png b/quickstarts/elt/images/getting-started-with-airbyte/define_destination.png
new file mode 100644
index 00000000000..295f6098a97
Binary files /dev/null and b/quickstarts/elt/images/getting-started-with-airbyte/define_destination.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/delete_airbyte_connection.png b/quickstarts/elt/images/getting-started-with-airbyte/delete_airbyte_connection.png
index bc582218083..f50fc6d04ce 100644
Binary files a/quickstarts/elt/images/getting-started-with-airbyte/delete_airbyte_connection.png and b/quickstarts/elt/images/getting-started-with-airbyte/delete_airbyte_connection.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/sample_employees_payrate_google_sheets.png b/quickstarts/elt/images/getting-started-with-airbyte/sample_employees_payrate_google_sheets.png
index 70fab27a21e..031e1e585fb 100644
Binary files a/quickstarts/elt/images/getting-started-with-airbyte/sample_employees_payrate_google_sheets.png and b/quickstarts/elt/images/getting-started-with-airbyte/sample_employees_payrate_google_sheets.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/select_streams.png b/quickstarts/elt/images/getting-started-with-airbyte/select_streams.png
new file mode 100644
index 00000000000..e64c421b1ce
Binary files /dev/null and b/quickstarts/elt/images/getting-started-with-airbyte/select_streams.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/set_up_destination.png b/quickstarts/elt/images/getting-started-with-airbyte/set_up_destination.png
new file mode 100644
index 00000000000..512b3594325
Binary files /dev/null and b/quickstarts/elt/images/getting-started-with-airbyte/set_up_destination.png differ
diff --git a/quickstarts/elt/images/getting-started-with-airbyte/specify_your_preferences.png b/quickstarts/elt/images/getting-started-with-airbyte/specify_your_preferences.png
new file mode 100644
index 00000000000..8a624585b0e
Binary files /dev/null and b/quickstarts/elt/images/getting-started-with-airbyte/specify_your_preferences.png differ
diff --git a/quickstarts/manage-data/automate-data-movement-and-transformation-with-airflow-airbyte-and-dbt-in-teradata-vantage.md b/quickstarts/manage-data/automate-data-movement-and-transformation-with-airflow-airbyte-and-dbt-in-teradata-vantage.md
index 26d87a10f2f..b05e7f68a5f 100644
--- a/quickstarts/manage-data/automate-data-movement-and-transformation-with-airflow-airbyte-and-dbt-in-teradata-vantage.md
+++ b/quickstarts/manage-data/automate-data-movement-and-transformation-with-airflow-airbyte-and-dbt-in-teradata-vantage.md
@@ -62,7 +62,7 @@ abctl local credentials
```
:::note
-At the moment of writing this quickstart, Airbyte installed with `abctl` performs unauthenticated pulls even if you pass in Docker credentials: https://github.com/airbytehq/airbyte/issues/46309. Since Docker limits unauthenticated pulls you may encounter `429 Too Many Requests` error. If you run into this error, launch Airbyte using `run-ab-platform.sh` script as described in [the Airbyte quickstart](https://developers.teradata.com/quickstarts/manage-data/use-airbyte-to-load-data-from-external-sources-to-teradata-vantage/#airbyte-open-source).
+At the moment of writing this quickstart, Airbyte installed with `abctl` performs unauthenticated pulls even if you pass in Docker credentials: https://github.com/airbytehq/airbyte/issues/46309. Since Docker limits unauthenticated pulls you may encounter `429 Too Many Requests` error. If you run into this error, launch Airbyte using `run-ab-platform.sh` script as described in [the Airbyte quickstart](https://developers.teradata.com/quickstarts/manage-data/use-airbyte-to-load-data-from-external-sources-to-teradata/#airbyte-open-source).
:::

diff --git a/quickstarts/manage-data/ingest-catalog-data-teradata-s3-with-glue.md b/quickstarts/manage-data/ingest-catalog-data-teradata-s3-with-glue.md
index d38ced253f4..b297fd6e9a1 100644
--- a/quickstarts/manage-data/ingest-catalog-data-teradata-s3-with-glue.md
+++ b/quickstarts/manage-data/ingest-catalog-data-teradata-s3-with-glue.md
@@ -24,7 +24,7 @@ import TrialDocsNote from '../_partials/teradata_trial.mdx'
* Access to an [Amazon AWS account](https://aws.amazon.com)
* Access to a Teradata Vantage instance (Teradata Cloud, Teradata Factory, or Teradata Trial)
-* A database [client](../connect-to-vantage/configure-a-teradata-vantage-connection-in-dbeaver.md) to send queries for loading the test data
+* A database [client](../connect-to-vantage/configure-a-teradata-connection-in-dbeaver.md) to send queries for loading the test data
### Loading of test data
* In your favorite database client run the following queries
diff --git a/quickstarts/manage-data/select-the-right-data-ingestion-tools-for-teradata-vantage.md b/quickstarts/manage-data/select-the-right-data-ingestion-tools-for-teradata.md
similarity index 50%
rename from quickstarts/manage-data/select-the-right-data-ingestion-tools-for-teradata-vantage.md
rename to quickstarts/manage-data/select-the-right-data-ingestion-tools-for-teradata.md
index 8d9eed54fb3..18268c30147 100644
--- a/quickstarts/manage-data/select-the-right-data-ingestion-tools-for-teradata-vantage.md
+++ b/quickstarts/manage-data/select-the-right-data-ingestion-tools-for-teradata.md
@@ -1,15 +1,14 @@
---
-id: select-the-right-data-ingestion-tools-for-teradata-vantage
+id: select-the-right-data-ingestion-tools-for-teradata
sidebar_position: 2
-author: Krutik Pathak
-email: krutik.pathak@teradata.com
-page_last_update: February 29th, 2024
-description: Recommendation of data ingestions tools to be used in different use cases for Teradata Vantage
-keywords: [data ingestion, teradata, nos, tpt, bteq, querygrid, airbyte, object store, saas, vantage, apache, spark, presto, oracle, Flow]
+author: Krutik Pathak, Vidhan Bhonsle
+email: developer.relations@teradata.com
+page_last_update: June 23rd, 2026
+description: Recommendation of data ingestion tools to be used in different use cases for Teradata
+keywords: [data ingestion, teradata, nos, tpt, bteq, teradata fabric, airbyte, object store, saas, teradata database, apache, spark, presto, oracle, Flow]
---
-# Select the right data ingestion solution for Teradata Vantage
-
+# Select the right data ingestion solution for Teradata
## Overview
This article outlines different use cases involving data ingestion. It lists available solutions and recommends the optimal solution for each use case.
@@ -17,10 +16,10 @@ This article outlines different use cases involving data ingestion. It lists ava
### High-volume ingestion, including streaming
Available solutions:
-* Use [Teradata Parallel Transporter API](https://docs.teradata.com/r/Teradata-Parallel-Transporter-Application-Programming-Interface-Programmer-Guide-17.20)
-* Stream data to object storage and then ingest using [Teradata Native Object Store (NOS)](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Teradata-VantageTM-Native-Object-Store-Getting-Started-Guide-17.20/Welcome-to-Native-Object-Store).
-* Use the [Teradata Parallel Transporter (TPT)](https://docs.teradata.com/r/Teradata-Parallel-Transporter-User-Guide/June-2022/Introduction-to-Teradata-PT) command line utility.
-* Use [Teradata Query Service](https://docs.teradata.com/r/Teradata-Query-Service-Installation-Configuration-and-Usage-Guide-for-Customers/April-2022/Using-the-Query-Service-APIs/Getting-Started) - REST API to execute SQL statements in the database.
+* Use [Teradata Parallel Transporter API](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/Teradata-Parallel-Transporter-Application-Programming-Interface-Programmer-Guide-20.00)
+* Stream data to object storage and then ingest using [Teradata Native Object Store (NOS)](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Native-Object-Store-Getting-Started-Guide).
+* Use the [Teradata Parallel Transporter (TPT)](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/Teradata-Parallel-Transporter-User-Guide-20.00) command line utility.
+* Use [Teradata Query Service](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Teradata-Query-Service-Installation-Configuration-and-Usage-Guide-for-Customers-4.01.03.01-4.01.07.00) - REST API to execute SQL statements in the database.
* Use Teradata database drivers such as JDBC (Java), teradatasql (Python), Node.js driver, ODBC, .NET Data Provider.
@@ -36,37 +35,36 @@ If your solution can accept higher latency, a good option is to stream events to
Available solutions:
-* [Flow (VantageCloud Lake only)](https://docs.teradata.com/r/Teradata-VantageCloud-Lake/Loading-Data/Introduction-to-Flow)
-* [Teradata Native Object Store (NOS)](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Teradata-VantageTM-Native-Object-Store-Getting-Started-Guide-17.20/Welcome-to-Native-Object-Store)
-* [Teradata Parallel Transporter (TPT)](https://docs.teradata.com/r/Teradata-Parallel-Transporter-User-Guide/June-2022/Introduction-to-Teradata-PT)
+* [Teradata Native Object Store (NOS)](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Native-Object-Store-Getting-Started-Guide)
+* [Teradata Parallel Transporter (TPT)](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/Teradata-Parallel-Transporter-User-Guide-20.00)
-Flow is the recommended ingestion mechanism to bring data from object storage to VantageCloud Lake. For all other Teradata Vantage editions, Teradata NOS is the recommended option. NOS can leverage all Teradata nodes to perform ingestion. Teradata Parallel Transporter (TPT) runs on the client side. It can be used when there is no connectivity from NOS to object storage.
+Teradata NOS is the recommended option for ingesting data from object storage. NOS can leverage all Teradata nodes to perform parallel ingestion, making it suitable for scalable data movement from cloud object stores. Teradata Parallel Transporter (TPT) runs on the client side and can be used when NOS cannot connect to object storage.
### Ingest data from local files
Available solutions:
-* [Teradata Parallel Transporter (TPT)](https://docs.teradata.com/r/Teradata-Parallel-Transporter-User-Guide/June-2022/Introduction-to-Teradata-PT)
-* [BTEQ](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/Basic-Teradata-Query-Reference-17.20/Introduction-to-BTEQ)
+* [Teradata Parallel Transporter (TPT)](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/Teradata-Parallel-Transporter-User-Guide-20.00)
+* [BTEQ](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/Basic-Teradata-Query-Reference-20.00)
-TPT is the recommended option to load data from local files. TPT is optimized for scalability and parallelism, thus it has the best throughput of all available options. BTEQ can be used when an ingestion process requires scripting. It also makes sense to continue using BTEQ if all your other ingestion pipelines run in BTEQ.
+TPT is the recommended option to load data from local files. TPT is optimized for scalability and parallelism, thus it has the best throughput of all available options. BTEQ can be used when an ingestion process requires scripting. It also makes sense to continue using BTEQ if all your other ingestion pipelines run in BTEQ.
### Ingest data from SaaS applications
Available solutions:
* Multiple 3rd party tools such as [Airbyte](https://airbyte.com/), [Precog](https://precog.com/), [Nexla](https://nexla.com/), [Fivetran](https://fivetran.com/)
-* Export from SaaS apps to local files and then ingest using [Teradata Parallel Transporter (TPT)](https://docs.teradata.com/r/Teradata-Parallel-Transporter-User-Guide/June-2022/Introduction-to-Teradata-PT)
-* Export from SaaS apps to object storage and then ingest using [Teradata Native Object Store (NOS)](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Teradata-VantageTM-Native-Object-Store-Getting-Started-Guide-17.20/Welcome-to-Native-Object-Store).
+* Export from SaaS apps to local files and then ingest using [Teradata Parallel Transporter (TPT)](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/Teradata-Parallel-Transporter-User-Guide-20.00)
+* Export from SaaS apps to object storage and then ingest using [Teradata Native Object Store (NOS)](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Native-Object-Store-Getting-Started-Guide).
-3rd party tools are usually a better option to move data from SaaS applications to Teradata Vantage. They offer broad support for data sources and eliminate the need to manage intermediate steps such as exporting and storing exported datasets.
+3rd party tools are usually a better option to move data from SaaS applications to Teradata. They offer broad support for data sources and eliminate the need to manage intermediate steps such as exporting and storing exported datasets.
### Use data stored in other databases for unified query processing
Available solutions:
-* [Teradata QueryGrid](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/QueryGridTM-Installation-and-User-Guide-3.05)
-* Export from other databases to local files and then ingest using [Teradata Parallel Transporter (TPT)](https://docs.teradata.com/r/Teradata-Parallel-Transporter-User-Guide/June-2022/Introduction-to-Teradata-PT)
-* Export from other databases to object storage and then ingest using [Teradata Native Object Store (NOS)](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Teradata-VantageTM-Native-Object-Store-Getting-Started-Guide-17.20/Welcome-to-Native-Object-Store).
+* [Teradata Fabric](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/QueryGrid-Installation-and-User-Guide-3.10)
+* Export from other databases to local files and then ingest using [Teradata Parallel Transporter (TPT)](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/Teradata-Parallel-Transporter-User-Guide-20.00)
+* Export from other databases to object storage and then ingest using [Teradata Native Object Store (NOS)](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Native-Object-Store-Getting-Started-Guide).
-QueryGrid is the recommended option to move limited quantities of data between different systems/platforms. This includes movement within Vantage instances, Apache Spark, Oracle, Presto, etc. It is especially suited to situations when what needs to be synced is described by complex conditions that can be expressed in SQL.
+Teradata Fabric is the recommended option to move limited quantities of data between different systems/platforms. This includes movement within Teradata instances, Apache Spark, Oracle, Presto, etc. It is especially suited to situations when what needs to be synced is described by complex conditions that can be expressed in SQL.
## Summary
In this article, we explored various data ingestion use cases, provided a list of available tools for each use case, and identified the recommended options for different scenarios.
@@ -77,6 +75,6 @@ In this article, we explored various data ingestion use cases, provided a list o
* [Run large bulkloads efficiently with Teradata Parallel Transporter](./run-bulkloads-efficiently-with-teradata-parallel-transporter.md)
-* [Teradata QueryGrid](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/QueryGridTM-Installation-and-User-Guide-3.05)
+* [Teradata Fabric](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/QueryGrid-Installation-and-User-Guide-3.10)
-* [Use Airbyte to load data from external sources to Teradata Vantage](./use-airbyte-to-load-data-from-external-sources-to-teradata-vantage.md)
+* [Use Airbyte to load data from external sources to Teradata](./use-airbyte-to-load-data-from-external-sources-to-teradata.md)
diff --git a/quickstarts/manage-data/terraform-airbyte-provider.md b/quickstarts/manage-data/terraform-airbyte-provider.md
index dc02e921efc..11181e9d5f4 100644
--- a/quickstarts/manage-data/terraform-airbyte-provider.md
+++ b/quickstarts/manage-data/terraform-airbyte-provider.md
@@ -220,7 +220,7 @@ You now have a Source, Destination and Connection on Airbyte Cloud created and m
### Additional Resources
-- [Use Airbyte to load data from external sources to Teradata Vantage](./use-airbyte-to-load-data-from-external-sources-to-teradata-vantage.md)
+- [Use Airbyte to load data from external sources to Teradata Vantage](./use-airbyte-to-load-data-from-external-sources-to-teradata.md)
- [Transform data Loaded with Airbyte using dbt](./transforming-external-data-loaded-via-airbyte-in-teradata-vantage-using-dbt.md)
- [Airbyte API reference documentation](https://reference.airbyte.com/reference/createsource).
- [Terraform Airbyte Provider Docs](https://registry.terraform.io/providers/airbytehq/airbyte/latest/docs/resources/destination_teradata#example-usage)
\ No newline at end of file
diff --git a/quickstarts/manage-data/transforming-external-data-loaded-via-airbyte-in-teradata-vantage-using-dbt.md b/quickstarts/manage-data/transforming-external-data-loaded-via-airbyte-in-teradata-vantage-using-dbt.md
index 82c6197b368..194b2aefe7a 100644
--- a/quickstarts/manage-data/transforming-external-data-loaded-via-airbyte-in-teradata-vantage-using-dbt.md
+++ b/quickstarts/manage-data/transforming-external-data-loaded-via-airbyte-in-teradata-vantage-using-dbt.md
@@ -28,7 +28,7 @@ import TrialDocsNote from '../_partials/teradata_trial.mdx'
* Python 3.7, 3.8, 3.9, 3.10 or 3.11 installed.
## Sample Data Loading
-* Follow the steps in the [Airbyte tutorial](./use-airbyte-to-load-data-from-external-sources-to-teradata-vantage.md). Make sure you load data from the [Jaffle Shop spreadsheet](https://docs.google.com/spreadsheets/d/1-R4F3q8J9KDnFRWpiT3Ysp1RlOoUu3PeQR7xDeLxFts/edit#gid=42273685) and not the default dataset referenced by the Airbyte tutorial. Also, set the `Default Schema` in the Teradata destination to `airbyte_jaffle_shop`.
+* Follow the steps in the [Airbyte tutorial](./use-airbyte-to-load-data-from-external-sources-to-teradata.md). Make sure you load data from the [Jaffle Shop spreadsheet](https://docs.google.com/spreadsheets/d/1-R4F3q8J9KDnFRWpiT3Ysp1RlOoUu3PeQR7xDeLxFts/edit#gid=42273685) and not the default dataset referenced by the Airbyte tutorial. Also, set the `Default Schema` in the Teradata destination to `airbyte_jaffle_shop`.
:::note
When you configure a Teradata destination in Airbyte, it will ask for a `Default Schema`. Set the `Default Schema` to `airbyte_jaffle_shop`.
diff --git a/quickstarts/manage-data/use-airbyte-to-load-data-from-external-sources-to-teradata-vantage.md b/quickstarts/manage-data/use-airbyte-to-load-data-from-external-sources-to-teradata-vantage.md
deleted file mode 100644
index d41537425e7..00000000000
--- a/quickstarts/manage-data/use-airbyte-to-load-data-from-external-sources-to-teradata-vantage.md
+++ /dev/null
@@ -1,207 +0,0 @@
----
-sidebar_position: 8
-author: Krutik Pathak
-email: krutik.pathak@teradata.com
-page_last_update: June 9th, 2023
-description: Use Airbyte with Teradata Vantage.
-keywords: [airbyte, data warehouses, compute storage separation, teradata, vantage, cloud data platform, object storage, data transfer, data extraction, enterprise analytics, elt.]
-
-dir: getting-started-with-airbyte
----
-
-# Use Airbyte to load data from external sources to Teradata Vantage
-
-
-## Overview
-
-This tutorial showcases how to use Airbyte to move data from sources to Teradata Vantage, detailing both the [Airbyte Open Source](https://docs.airbyte.com/using-airbyte/getting-started) and [Airbyte Cloud options](https://airbyte.com). This specific example covers replication from Google Sheets to Teradata Vantage.
-
-* Source: Google Sheets
-* Destination: Teradata Vantage
-
-
-
-## Prerequisites
-
-import TrialDocsNote from '../_partials/teradata_trial.mdx'
-
-* Access to a Teradata Vantage Instance. This will be defined as the destination of the Airbyte connection. You will need a database `Host`, `Username`, and `Password` for Airbyte’s configuration.
-
-
-* [Google Cloud Platform API enabled for your personal or organizational account](https://support.google.com/googleapi/answer/6158841?hl=en). You’ll need to authenticate your Google account via OAuth or via Service Account Key Authenticator. In this example, we use Service Account Key Authenticator.
-
-* Data from the source system. In this case, we use a [sample spreadsheet from google sheets](https://docs.google.com/spreadsheets/d/1XNBYUw3p7xG6ptfwjChqZ-dNXbTuVwPi7ToQfYKgJIE/edit). The sample data is a breakdown of payrate by employee type.
-
-### Airbyte Cloud
-* Create an account on [Airbyte Cloud](https://airbyte.com) and skip to the instructions under the [Airbyte Configuration](#airbyte-configuration) section.
-
-### Airbyte Open Source
-* Install Docker Compose to run [Airbyte Open Source](https://github.com/airbytehq/airbyte) locally. Docker Compose comes with Docker Desktop. Please refer to [docker docs](https://docs.docker.com/compose/install) for more details.
-
-* Clone the Airbyte Open Source repository and go to the airbyte directory.
-
- ``` bash
- git clone --depth 1 https://github.com/airbytehq/airbyte.git
- cd airbyte
- ```
-
-Make Sure to have Docker Desktop running before running the shell script `run-ab-platform`.
-
-* Run the shell script `run-ab-platform` as
-
-
- ``` bash
- ./run-ab-platform.sh
- ```
-
-
- :::note
- You can run the above commands with `git bash` in Windows. Please refer to the [Airbyte Local Deployment](https://docs.airbyte.com/deploying-airbyte/local-deployment) for more details.
- :::
-
-* Log in to the web app http://localhost:8000/ by entering the default credentials found in the `.env` file included in the repository.
-
-
- ``` bash
- BASIC_AUTH_USERNAME=airbyte
- BASIC_AUTH_PASSWORD=password
- ```
-
-
-When logging in for the first time, Airbyte will prompt you to provide your email address and specify your preferences for product improvements. Enter your preferences and click on "Get started."
-
-
-
-Once Airbyte Open Source is launched you will see a connections dashboard. If you launched Airbyte Open Source for the first time, it would not show any connections.
-
-## Airbyte Configuration
-
-### Setting the Source Connection
-* You can either click "Create your first connection" or click on the top right corner to initiate the new connection workflow on Airbyte's Connections dashboard.
-
-
-
-* Airbyte will ask you for the Source, you can select from an existing source (if you have set it up already) or you can set up a new source, in this case we select `Google Sheets`.
-
-* For authentication we are using `Service Account Key Authentication` which uses a service account key in JSON format. Toggle from the default `OAuth` to `Service Account Key Authentication`. To authenticate your Google account via Service Account Key Authentication, enter your [Google Cloud service account key](https://cloud.google.com/iam/docs/keys-create-delete#creating_service_account_keys) in JSON format. +
-Make sure the Service Account has the Project Viewer permission. If your spreadsheet is viewable by anyone with its link, no further action is needed. If not, [give your Service account access to your spreadsheet](https://www.youtube.com/watch?v=GyomEw5a2NQ).
-
-* Add the link to the source spreadsheet as `Spreadsheet Link`.
-
-
-
-
-:::note
-For more details, please refer [Setting Google Sheets as Source Connector in Airbyte Open Source](https://docs.airbyte.com/integrations/sources/google-sheets/#:~:text=For%20Airbyte%20Open%20Source%3A)
-:::
-
-* Click Set up source, if the configuration is correct, you will get the message `All connection tests passed!`
-
-
-### Setting the Destination Connection
-* Assuming you want to create a fresh new connection with `Teradata Vantage`, Select `Teradata Vantage` as the destination type under the "Set up the destination" section.
-* Add the `Host`, `User`, and `Password`. These are the same as the `Host`, `Username`, and `Password` respectively, used by your Clearscape Analytics Environment.
-* Provide a default schema name appropriate to your specific context. Here we have provided `gsheet_airbyte_td`.
-
-:::note
-If you do not provide a `Default Schema`, you will get an error stating "Connector failed while creating schema". Make sure you provide appropriate name in the `Default Schema`.
-:::
-
-
-
-
-
-* Click Set up destination, if the configuration is correct, you will get the message `All connection tests passed!`
-
-
-:::note
-You might get a configuration check failed error. Make sure your Teradata Vantage instance is running properly before making a connection through Airbyte.
-:::
-
-### Configuring Data Sync
-A namespace is a group of streams [tables) in a source or destination. A schema in a relational database system is an example of a namespace. In a source, the namespace is the location from where the data is replicated to the destination. In a destination, the namespace is the location where the replicated data is stored in the destination.
-For more details please refer to [Airbyte Namespace](https://docs.airbyte.com/understanding-airbyte/namespaces)
-
-
-
-
-In our example the destination is a database, so the namespace is the default schema `gsheet_airbyte_td` we defined when we configured the destination. The stream name is a table that is mirroring the name of the spreadsheet in the source, which is `sample_employee_payrate` in this case. Since we are using the single spreadsheet connector, it only supports one stream [the active spreadsheet).
-
-Other type of sources and destinations might have a different layout. In this example, Google sheets, as source, does not support a namespace.
-In our example, we have used `` as the Namespace of the destination, this is the default namespace assigned by Airbyte based on the `Default Schema` we declared in the destination settings. The database `gsheet_airbyte_td` will be created in our Teradata Vantage Instance.
-
-:::note
-We use the term "schema", as it is the term used by Airbyte. In a Teradata context the term "database" is the equivalent.
-:::
-
-#### Replication Frequency
-It shows how often data should sync to destination. You can select every hour, 2 hours, 3 hours etc. In our case we used every 24 hours.
-
-
-
-You can also use a Cron expression to specify the time when the sync should run. In the example below, we set the Cron expression to run the sync on every Wednesday at 12:43 PM (US/Pacific) time.
-
-
-
-### Data Sync Validation
-
-Airbyte tracks synchronization attempts in the "Sync History" section of the `Status` tab.
-
-
-
-Next, you can go to the [ClearScape Analytics Experience](https://clearscape.teradata.com/dashboard) and run a Jupyter notebook, notebooks in ClearScape Analytics Experience are configured to run Teradata SQL queries, to verify if the database `gsheet_airbyte_td`, streams (tables) and complete data is present.
-
-
-
-``` bash
-%connect local
-```
-
-``` bash , id="airbyte_select_query", role="emits-gtm-events"
-SELECT DatabaseName, TableName, CreateTimeStamp, LastAlterTimeStamp
-FROM DBC.TablesV
-WHERE DatabaseName = 'gsheet_airbyte_td'
-ORDER BY TableName;
-```
-
-``` bash
-DATABASE gsheet_airbyte_td;
-```
-
-``` bash
-SELECT * FROM _airbyte_raw_sample_employee_payrate;
-```
-
-The stream (table) name in destination is prefixed with `\_airbyte_raw_` because Normalization and Transformation are not supported for this connection, and [we only have the raw table](https://docs.airbyte.com/understanding-airbyte/namespaces/#:~:text=If%20you%20don%27t%20enable%20basic%20normalization%2C%20you%20will%20only%20receive%20the%20raw%20tables). Each stream (table) contains 3 columns:
-
-1. `_airbyte_ab_id`: a uuid assigned by Airbyte to each event that is processed. The column type in Teradata is `VARCHAR(256)`.
-
-2. `_airbyte_emitted_at`: a timestamp representing when the event was pulled from the data source. The column type in Teradata is `TIMESTAMP(6)`.
-
-3. `_airbyte_data`: a json blob representing the event data. The column type in Teradata is `JSON`.
-
-Here in the `_airbyte_data` column, we see 9 rows, the same as we have in the source Google sheet, and the data is in JSON format which can be transformed further as needed.
-
-### Close and delete the connection
-
-* You can close the connection in Airbyte by disabling the connection. This will stop the data sync process.
-
-
-
-* You can also delete the connection.
-
-
-
-
-### Summary
-This tutorial demonstrated how to extract data from a source system like Google sheets and use the Airbyte ELT tool to load the data into the Teradata Vantage Instance. We saw the end-to-end data flow and complete configuration steps for running Airbyte Open Source locally, and configuring the source and destination connections. We also discussed about the available data sync configurations based on replication frequency. We validated the results in the destination using Cloudscape Analytics Experience and finally we saw the methods to pause and delete the Airbyte connection.
-
-### Further reading
-[Teradata Destination | Airbyte Documentation](https://docs.airbyte.com/integrations/destinations/teradata/?_ga=2.156631291.1502936448.1684794236-1752661382.1684794236)
-
-[Core Concepts | Airbyte Documentation,](https://docs.airbyte.com/cloud/core-concepts/#connection-sync-modes)
-
-[Airbyte Community Slack](https://airbyte.com/community)
-
-[Airbyte Community](https://discuss.airbyte.io)
-
diff --git a/quickstarts/manage-data/use-airbyte-to-load-data-from-external-sources-to-teradata.md b/quickstarts/manage-data/use-airbyte-to-load-data-from-external-sources-to-teradata.md
new file mode 100644
index 00000000000..b55377eb7e1
--- /dev/null
+++ b/quickstarts/manage-data/use-airbyte-to-load-data-from-external-sources-to-teradata.md
@@ -0,0 +1,226 @@
+---
+sidebar_position: 8
+author: Krutik Pathak, Vidhan Bhonsle
+email: developer.relations@teradata.com
+page_last_update: June 29th, 2026
+description: Use Airbyte with Teradata.
+keywords: [airbyte, google sheets, teradata, teradata database, data ingestion, elt, data sync, data replication]
+
+dir: getting-started-with-airbyte
+---
+
+import TrialDocsNote from '../_partials/teradata_trial.mdx'
+
+# Use Airbyte to load data from external sources to Teradata
+
+
+## Overview
+
+This tutorial shows how to use Airbyte to move data from external sources to Teradata. In this example, you replicate data from Google Sheets to Teradata. You can follow the configuration steps using either [Airbyte Open Source](https://docs.airbyte.com/using-airbyte/getting-started) or [Airbyte Cloud](https://airbyte.com).
+
+* Source: Google Sheets
+* Destination: Teradata
+
+## Prerequisites
+
+* Access to a Teradata instance. This will be defined as the destination of the Airbyte connection. You will need a `Host`, `Username`, and `Password` for Airbyte's configuration.
+
+
+
+* [Google Cloud Platform API enabled for your personal or organizational account](https://support.google.com/googleapi/answer/6158841?hl=en). You'll need to authenticate your Google account via OAuth or via Service Account Key Authenticator. In this example, we use Service Account Key Authenticator.
+
+* Data from the source system. In this case, we use a [sample spreadsheet from Google Sheets](https://docs.google.com/spreadsheets/d/1XNBYUw3p7xG6ptfwjChqZ-dNXbTuVwPi7ToQfYKgJIE/edit). The sample data is a breakdown of pay rate by employee type.
+
+
+
+### Airbyte Cloud
+* Create an account on [Airbyte Cloud](https://cloud.airbyte.com/login) and skip to the instructions under the [Airbyte Configuration](#airbyte-configuration) section.
+
+### Airbyte Open Source
+To deploy a local instance of Airbyte Core, Airbyte's open source product, you need to install:
+* Docker Desktop on your machine ([Mac](https://docs.docker.com/desktop/setup/install/mac-install/), [Windows](https://docs.docker.com/desktop/setup/install/windows-install/), [Linux](https://docs.docker.com/desktop/setup/install/linux/)).
+
+* [abctl](https://docs.airbyte.com/platform/using-airbyte/getting-started/oss-quickstart#part-2-install-abctl), Airbyte's command line tool for deploying and managing Airbyte. It can be installed for [Mac](https://docs.airbyte.com/platform/using-airbyte/getting-started/oss-quickstart#install-abctl-the-fast-way-mac-linux), [Windows](https://docs.airbyte.com/platform/using-airbyte/getting-started/oss-quickstart#install-abctl-manually-mac-linux-windows), and [Linux](https://docs.airbyte.com/platform/using-airbyte/getting-started/oss-quickstart#install-abctl-the-fast-way-mac-linux).
+
+There are several ways to [run Airbyte](https://docs.airbyte.com/platform/using-airbyte/getting-started/oss-quickstart#part-3-run-airbyte) on your machine. You can run it locally, over HTTP, and even in low resource mode. In this example, we run Airbyte Open Source locally using Docker Desktop.
+
+* While keeping Docker Desktop running, open a terminal and run the following command to install Airbyte.
+``` bash
+abctl local install
+```
+
+:::note
+Installation may take up to 30 minutes depending on your internet connection. When it completes, the Airbyte instance opens up in your web browser at [http://localhost:8000](http://localhost:8000).
+:::
+
+* In the opened [http://localhost:8000](http://localhost:8000) page, enter your Email and Organization name, then click `Get started`.
+
+
+
+* To access your Airbyte instance, you need a password.
+
+
+
+* To get the credentials, enter the following command in the terminal.
+
+ ``` bash
+abctl local credentials
+ ```
+
+
+
+Enter the password you got from the terminal, as shown in the previous image, in the browser to log into Airbyte.
+Once Airbyte Open Source is launched for the first time, you will see a connections dashboard.
+
+## Airbyte Configuration
+
+### Set up the Source Connection
+
+* Click `Create your first connection` to initiate a new connection workflow.
+
+
+
+
+* Airbyte asks you to select a source. You can select an existing source or set up a new source. In this example, select `Google Sheets`.
+
+
+
+* Add the link to the source spreadsheet as `Spreadsheet Link`.
+
+* For authentication use `Service Account Key Authentication`, which uses a service account key in JSON format. Toggle from the default `OAuth` option to `Service Account Key Authentication`, then enter your [Google Cloud service account key](https://cloud.google.com/iam/docs/keys-create-delete#creating_service_account_keys) in JSON format.
+
+* Make sure the service account has the `Viewer` role in your Google Cloud project and that the `Google Sheets API` is enabled for the project. If your spreadsheet is viewable by anyone with its link, no further action is needed. If not, open the Google Sheet, click `Share`, and give the service account email from the JSON key, listed as `client_email`, at least `Viewer` access to the spreadsheet.
+
+:::note
+For more details, refer to [setting Google Sheets as Source Connector in Airbyte Open Source](https://docs.airbyte.com/integrations/sources/google-sheets)
+:::
+
+
+
+
+* Click `Set up source`. If the configuration is correct, you will see the `Define destination` section.
+
+
+
+### Set up the Destination Connection
+* Assuming you want to create a fresh new connection with `Teradata`, search for `Teradata` as the destination type under the "Set up a new destination" section. You can find it under `marketplace`.
+* Add the `Host`, `User`, and `Password`. These are the same as the `Host`, `Username`, and `Password` for your Teradata instance (check [prerequisites](#prerequisites)).
+
+* Provide a default schema name under the `Optional fields` section. In this example, we use `gsheet_airbyte_td`.
+
+
+
+
+
+* Click `Set up destination`. If the configuration is correct, you will see the `Select streams` section.
+
+
+
+:::note
+If you get a configuration check failed error, make sure your Teradata instance is running and accessible from Airbyte.
+:::
+
+### Select sync mode and schema
+* In the `Select streams` section, you can select how you want your data to be delivered to the Teradata destination.
+* Under `Select Sync Mode`, you can choose between `Replicate Source` and `Append Historical Changes`. In this example, we select `Replicate Source`, as it keeps an up-to-date copy of the Google Sheets data in Teradata.
+* Under `Schema`, review the columns detected from the Google Sheet.
+
+
+
+* In this example, Airbyte detects the following columns:
+ * `id`
+ * `Employee Type`
+ * `Experience (Years)`
+ * `Payrate (USD)`
+* Keep all four columns selected. Select `id` as the primary key, as it uniquely identifies each row in the Google Sheet.
+* After selecting the sync mode and confirming the schema, click `Next`.
+
+### Configure connection
+* In the `Configure connection` section, provide a name for your connection. You can keep the default name or update it based on your use case.
+* Select the `Schedule type`. In this example, we keep it as `Scheduled`.
+* Select the `Replication frequency`. In this example, we keep it as `Every 24 hours`.
+* Under `Destination Namespace`, select `Destination-defined`. In this example, the destination is Teradata, so Airbyte uses the default schema `gsheet_airbyte_td` that we defined while configuring the Teradata destination.
+
+
+
+:::note
+We use the term "schema", as it is the term used by Airbyte. In a Teradata context, the equivalent term is "database".
+:::
+
+* The stream name is based on the name of the spreadsheet in the source. In this example, the stream name is `sample_employee_payrate`. Since we are using the single spreadsheet connector, it supports one stream for the selected spreadsheet.
+
+* Review the configuration and click `Finish & Sync` to create the connection and start syncing data from Google Sheets to Teradata.
+
+### Data Sync Validation in Airbyte
+
+After you click `Finish & Sync`, Airbyte creates the connection and starts the first sync. Airbyte tracks synchronization attempts in the `Status` tab.
+
+
+
+In this example, the `sample_employee_payrate` stream is synced successfully, and Airbyte shows that 9 records were loaded to the Teradata destination.
+
+You can also click `Sync now` to run the sync manually.
+
+### Validate the data in Teradata Trial
+
+Next, you can go to the [Teradata Trial](https://clearscape.teradata.com/#/dashboard) and run a Jupyter notebook to verify if the database `gsheet_airbyte_td`, stream table, and data are available in Teradata.
+
+Notebooks in Teradata Trial are configured to run Teradata SQL queries.
+
+
+
+Connect to the local Teradata environment.
+
+```bash
+%connect local
+```
+
+Run the following query to verify that the database and table were created in Teradata.
+
+```sql , id="airbyte_select_query", role="emits-gtm-events"
+SELECT DatabaseName, TableName, CreateTimeStamp, LastAlterTimeStamp
+FROM DBC.TablesV
+WHERE DatabaseName = 'gsheet_airbyte_td'
+ORDER BY TableName;
+```
+
+Switch to the `gsheet_airbyte_td` database.
+
+```sql
+DATABASE gsheet_airbyte_td;
+```
+
+Query the synced table.
+
+```sql
+SELECT * FROM sample_employee_payrate;
+```
+
+In this example, the table `sample_employee_payrate` is created in the `gsheet_airbyte_td` database. The table contains the data synced from the Google Sheet along with Airbyte metadata columns.
+
+Airbyte may convert source column names into SQL-friendly column names in the destination. In this example, the Google Sheet columns are synced to Teradata as `id`, `Employee__Type`, `Experience__Years_`, and `Payrate__USD_`. Airbyte also adds metadata columns such as `_airbyte_raw_id`, `_airbyte_extracted_at`, `_airbyte_generation_id`, and `_airbyte_meta`.
+
+You should see 9 rows in the Teradata table, the same as the source Google Sheet.
+
+### Optional: Close and delete the connection
+
+If you do not want Airbyte to continue syncing data from Google Sheets to Teradata, go to the `Connections` page and disable the connection using the `Enabled` toggle. This stops future syncs without deleting the connection configuration.
+
+
+
+You can also delete the connection if you no longer need it. To delete the connection, open the connection, go to the `Settings` tab, scroll to `Delete Connection`, and click `Delete this connection`.
+
+
+
+
+## Summary
+This tutorial demonstrated how to extract data from a source system like Google Sheets and use Airbyte to load the data into a Teradata instance. We saw the end-to-end data flow, including how to run Airbyte Open Source locally, configure Google Sheets as the source, configure Teradata as the destination, select the sync mode and schema, and start the data sync. We also validated the synced data in Teradata Trial and reviewed how to disable or delete the Airbyte connection when it is no longer needed.
+
+## Further reading
+[Teradata Destination | Airbyte Documentation](https://docs.airbyte.com/integrations/destinations/teradata/?_ga=2.156631291.1502936448.1684794236-1752661382.1684794236)
+
+[Core Concepts | Airbyte Documentation](https://docs.airbyte.com/cloud/core-concepts/#connection-sync-modes)
+
+[Airbyte Community Slack](https://airbyte.com/community)
+
+[Airbyte Community](https://discuss.airbyte.io)
\ No newline at end of file
diff --git a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/configure-driver-string.png b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/configure-driver-string.png
index b073165776b..1c6bbc5585e 100644
Binary files a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/configure-driver-string.png and b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/configure-driver-string.png differ
diff --git a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/copy-driver.png b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/copy-driver.png
index e73277ed905..b775a83c96a 100644
Binary files a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/copy-driver.png and b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/copy-driver.png differ
diff --git a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/create-connection.png b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/create-connection.png
index f894a5cca20..a43479d17e0 100644
Binary files a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/create-connection.png and b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/create-connection.png differ
diff --git a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/select-your-database-windows.png b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/select-your-database-windows.png
index d84ca6de290..a9bc25b7b53 100644
Binary files a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/select-your-database-windows.png and b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/select-your-database-windows.png differ
diff --git a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/teradata-connection-settings-ssh-windows.png b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/teradata-connection-settings-ssh-windows.png
index 848d502e0eb..6c242f810c8 100644
Binary files a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/teradata-connection-settings-ssh-windows.png and b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/teradata-connection-settings-ssh-windows.png differ
diff --git a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/teradata-connection-settings-windows-ldap.png b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/teradata-connection-settings-windows-ldap.png
index e8c6495c428..deea236d147 100644
Binary files a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/teradata-connection-settings-windows-ldap.png and b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/teradata-connection-settings-windows-ldap.png differ
diff --git a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/teradata-connection-settings-windows.png b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/teradata-connection-settings-windows.png
index 7283e06f768..e06bc215173 100644
Binary files a/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/teradata-connection-settings-windows.png and b/quickstarts/other-integrations/images/configure-a-teradata-connection-in-dbeaver/teradata-connection-settings-windows.png differ
diff --git a/quickstarts/vantagecloud-lake/vantagecloud-lake-compute-cluster-dagster.md b/quickstarts/vantagecloud-lake/vantagecloud-lake-compute-cluster-dagster.md
index cb2a71525de..e7d788d4cae 100644
--- a/quickstarts/vantagecloud-lake/vantagecloud-lake-compute-cluster-dagster.md
+++ b/quickstarts/vantagecloud-lake/vantagecloud-lake-compute-cluster-dagster.md
@@ -65,7 +65,7 @@ pip install dbt-teradata dbt-core
## Create a database
:::note
-A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-vantage-connection-in-dbeaver.html) can be used for this purpose.
+A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-connection-in-dbeaver.html) can be used for this purpose.
:::
Let's create the `jaffle_shop` database in the VantageCloud Lake instance with TD_OFSSTORAGE as default.
@@ -80,7 +80,7 @@ PERMANENT = 120e6, -- 120MB
## Create a database user
:::note
-A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-vantage-connection-in-dbeaver.html) can be used to execute `CREATE USER` query.
+A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-connection-in-dbeaver.html) can be used to execute `CREATE USER` query.
:::
Let's create a `lake_user` user in the VantageCloud Lake instance.
@@ -95,7 +95,7 @@ DEFAULT DATABASE = jaffle_shop;
## Grant access to user
:::note
-A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-vantage-connection-in-dbeaver.html) can be used to execute `GRANT ACCESS` queries.
+A database client connected to VantageCloud Lake is needed to execute SQL statements. [Vantage Editor Desktop](https://downloads.teradata.com/download/tools/vantage-editor-desktop), or [dbeaver](https://quickstarts.teradata.com/other-integrations/configure-a-teradata-connection-in-dbeaver.html) can be used to execute `GRANT ACCESS` queries.
:::
Let's provide the required privileges to the user `lake_user` to manage compute clusters.
diff --git a/src/components/DevelopersHomepage/FeatureData.js b/src/components/DevelopersHomepage/FeatureData.js
index 08da2ccb897..c6c1dc02a5f 100644
--- a/src/components/DevelopersHomepage/FeatureData.js
+++ b/src/components/DevelopersHomepage/FeatureData.js
@@ -62,7 +62,7 @@ export const FeatureList2 = [
img2: '',
title: translate({ message: 'developers.top-picks-from-teradata-title-card4' }),
description: translate({ message: 'developers.top-picks-from-teradata-text-card4' }),
- href: '/quickstarts/manage-data/use-airbyte-to-load-data-from-external-sources-to-teradata-vantage/',
+ href: '/quickstarts/manage-data/use-airbyte-to-load-data-from-external-sources-to-teradata/',
},
{
img: 'article',