Skip to main content

CETAS in Synapse Analytics


In Azure Synapse Analytics, creating external tables can be a powerful way to work with large volumes of data in various file formats without loading it into the data warehouse. The CREATE EXTERNAL TABLE AS SELECT (CETAS) command is a useful feature in Synapse Analytics that allows you to create external tables directly from SQL SELECT statements. In this blog post, we will explore how to use CETAS with the OpenRowset function to create external tables in Synapse Analytics.

What is CREATE EXTERNAL TABLE AS SELECT (CETAS)?

The CETAS command in Azure Synapse Analytics is a powerful feature that enables you to create an external table from the results of a SQL SELECT statement. With CETAS, you can create an external table directly from the results of a query, which can be useful for creating ad-hoc reports, running data transformations, or performing other operations on data outside of the data warehouse. CETAS can be used to create external tables in various file formats, including Parquet, ORC, CSV, and more.

What is OpenRowset?

OpenRowset is a T-SQL function that enables you to access data from external data sources, such as flat files, Excel spreadsheets, and more. OpenRowset allows you to read data from external sources directly into SQL Server or Synapse Analytics, making it a useful tool for working with data in a variety of formats.

How to use CETAS with OpenRowset?

To use CETAS with OpenRowset, you first need to define an external data source. An external data source is a reference to an external data store, such as Azure Blob Storage or Azure Data Lake Storage. You can create an external data source in Synapse Analytics using the CREATE EXTERNAL DATA SOURCE command.

Once you have defined an external data source, you can use the OpenRowset function to read data from external sources directly into SQL Server or Synapse Analytics. To do this, you need to specify the external data source and the file format in the OpenRowset function.

Next, you can use CETAS to create an external table from the results of a SQL SELECT statement. To do this, you need to specify the external table's schema, name, and file format. You can also specify additional properties, such as compression and partitioning.

Here is an example of how to use CETAS with OpenRowset to create an external table in Synapse Analytics:

CREATE EXTERNAL DATA SOURCE MyDataSource
WITH (
    TYPE = HADOOP,
    LOCATION = 'wasbs://myblobstorage@myaccount.blob.core.windows.net/',
    CREDENTIAL = MyCredential
);

CREATE EXTERNAL TABLE MyExternalTable
WITH (
    LOCATION = '/myfolder/',
    DATA_SOURCE = MyDataSource,
    FILE_FORMAT = MyFileFormat
)
AS
SELECT *
FROM OPENROWSET(
    BULK 'myfile.csv',
    FORMAT = 'CSV',
    DATA_SOURCE = MyDataSource,
    FORMAT_OPTIONS = (
        FIELD_TERMINATOR = ',',
        ROW_TERMINATOR = '\n',
        FIRST_ROW = 2
    )
) AS data;

In this example, we are creating an external data source for an Azure Blob Storage account and defining an external table with a CSV file format. We are then using the OPENROWSET function to read data from a CSV file stored in the Blob Storage account and create an external table from the results of a SQL SELECT statement.

Conclusion

The CETAS command in Synapse Analytics, when used with the OpenRowset function, is a powerful tool for working with data in various file formats. By creating external tables directly from SQL SELECT statements, you can perform ad-hoc reporting, data transformations, and other operations on data outside of the data warehouse. With the ability to read data from

Comments

Popular posts from this blog

ACID? 🤔

In the world of data engineering and warehousing projects, the concept of ACID transactions is crucial to ensure data consistency and reliability. ACID transactions refer to a set of properties that guarantee database transactions are processed reliably and consistently. ACID stands for Atomicity , Consistency , Isolation , and Durability . Atomicity : This property ensures that a transaction is treated as a single, indivisible unit of work. Either the entire transaction completes successfully, or none of it does. If any part of the transaction fails, the entire transaction is rolled back, and the database is returned to its state before the transaction began. Consistency : This property ensures that the transaction leaves the database in a valid state. The database must enforce any constraints or rules set by the schema. For example, if a transaction tries to insert a record with a duplicate primary key, the database will reject the transaction and roll back any changes that have alre...

dbt (Data Build Tool) Overview: What is dbt?

If you're working with data, you've probably heard of the ETL process: Extract, Transform, Load. The ETL process is fundamental to data warehousing and analytics, but it can be challenging to implement and maintain. That's where dbt comes in. dbt, or Data Build Tool, is an open-source command-line tool that enables data analysts and engineers to transform, test, and document data using SQL. dbt was developed by Fishtown Analytics and has quickly become a popular tool in the data community. What is dbt used for? dbt is primarily used for building data pipelines and analytics systems. It allows data analysts and engineers to transform raw data into usable formats, test the transformed data to ensure accuracy, and document the entire process for future reference. One of the key benefits of dbt is that it uses SQL as its primary language. This makes it easy for data analysts and engineers to use the tool without having to learn a new programming language or framework. dbt can b...

The Medallion Architecture

Data warehousing is a crucial aspect of modern business intelligence. The Medallion Architecture is a popular approach for designing data warehouses that can effectively meet the needs of an organization. The Medallion Architecture consists of three layers: Bronze, Silver, and Gold. In this blog post, we'll explore each of these layers and their role in building an effective data warehouse. Bronze Layer: The Bronze layer is the first layer of the Medallion Architecture. This layer is responsible for storing raw data. The data is typically loaded into this layer without any transformation or modification. The goal of this layer is to store all the data that an organization collects in its original form, without losing any information. This data can come from various sources, including transactions, logs, and sensors. For example, consider an e-commerce website that collects data on customer transactions. The Bronze layer of the data warehouse for this website would contain all the r...