This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreDid you hear? There's a new SQL AI Developer certification (DP-800). Start preparing now and be one of the first to get certified. Register now
Data Virtualization (Preview) for Fabric SQL Databases, enable you to query, analyze, and ingest OneLake data (CSV, Parquet, JSON) without moving or duplicating it.
Data Virtualization brings to Fabric SQL Database the same set of capabilities already available on Azure SQL Database, Azure SQL Managed Instance and SQL Server, customers can now use OPENROWSET and External Tables, with complete parity across SQL flavors, develop once deploy anywhere. Data Virtualization for Fabric SQL Databases directly supports Parquet and delimited text (CSV), but JSON files can also be read using functions like JSON_VALUE and OPENJSON.
Data Virtualization connects to OneLake via EntraID for secure access with minimal configuration. Through Shortcuts, Fabric SQL Database Data Virtualization can access various supported data sources, including Azure Blob Storage, Azure Data Lake Gen2, S3-compatible storage, and SharePoint.
The major advantages of Data Virtualization for Fabric SQL Database are:
T-SQL Sample:
SELECT TOP 100 * FROM OPENROWSET (BULK 'abfss://<workspaceID>@<tenant>.dfs.fabric.microsoft.com/<lakehouseid>/Files/contoso/store.parquet' , FORMAT = 'parquet' ) AS STORE;
OPENROWSET_and_External_Tables_for_Fabric_SQL_Databases_Preview
The workspace ID and the Lakehouse ID can be retried through the browser URL or by navigating to the file or folder location and ABFSS path:
OPENROWSET_and_External_Tables_for_Fabric_SQL_Databases_Preview
You can also use CREATE EXTERNAL DATASOURCE to store this information for ease of use:
CREATE EXTERNAL DATA SOURCE [Cold_Lake] WITH ( LOCATION = ' abfss://<workspaceID>@<tenant>.dfs.fabric.microsoft.com/<lakehouseid>/Files/');-- Parse the JSON data SELECT * FROM OPENROWSET( BULK 'JSON/sample_user_profile.json' ,DATA_SOURCE = 'Cold_Lake' ,SINGLE_CLOB ) AS JSONData CROSS APPLY OPENJSON(JSONData.BulkColumn);
OPENROWSET_and_External_Tables_for_Fabric_SQL_Databases_Preview
Customers can also leverage External Tables to help abstract the location, the schema, and offer applications a similar experience as if it were a regular SQL table, with minimal code change.
T-SQL Sample:
CREATE EXTERNAL FILE FORMAT Parquetff WITH (FORMAT_TYPE=PARQUET);CREATE EXTERNAL TABLE [ext_product]( [ProductKey] [int] NULL, [ProductCode] [nvarchar](255) NULL, [ProductName] [nvarchar](500) NULL, [Manufacturer] [nvarchar](50) NULL, [Brand] [nvarchar](50) NULL, [Color] [nvarchar](20) NULL, [WeightUnit] [nvarchar](20) NULL, [Weight] DECIMAL(20, 5) NULL, [Cost] DECIMAL(20, 5) NULL, [Price] DECIMAL(20, 5) NULL, [CategoryKey] [int] NULL, [CategoryName] [nvarchar](30) NULL, [SubCategoryKey] [int] NULL, [SubCategoryName] [nvarchar](50) NULL) WITH (LOCATION = '/product.parquet' ,DATA_SOURCE = [Cold_Lake] ,FILE_FORMAT = Parquetff);
SELECT * FROM [ext_product];
OPENROWSET_and_External_Tables_for_Fabric_SQL_Databases_Preview
For more information about Data Virtualization for Fabric SQL Database, refer to the Data virtualization (preview) documentation.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.