You have a Fabric workspace.
You have semi-structured data.
You need to read the data by using T-SQL, KQL, and Apache Spark. The data will only be written by using Spark.
What should you use to store the data?
A.a lakehouseCorrect
B.an eventhouse
C.a datamart
D.a warehouse
Explanation
A lakehouse is the Fabric store for semi-structured data written by Spark: Spark writes the Delta tables natively, T-SQL reads them through the lakehouse's SQL analytics endpoint, and KQL can query them through a OneLake shortcut in a KQL database. An eventhouse is designed for streaming event data that is ingested through KQL and connectors, not for data authored by Spark. A warehouse is written with T-SQL rather than Spark, and a datamart is a self-service Power BI item that does not support Spark or KQL.
You have a Fabric workspace that contains a warehouse named Warehouse1.
You have an on-premises Microsoft SQL Server database named Database1 that is accessed by using an on-premises data gateway.
You need to copy data from Database1 to Warehouse1.
Which item should you use?
A.a Dataflow Gen1 dataflow
B.a data pipelineCorrect
C.a KQL queryset
D.a notebook
Explanation
A data pipeline Copy activity can connect to an on-premises SQL Server through an on-premises data gateway and load the data directly into a Fabric warehouse. A Dataflow Gen1 dataflow cannot write to a Fabric warehouse as a destination. A notebook cannot use an on-premises data gateway to reach Database1, and a KQL queryset only queries KQL databases; it does not copy data.
You have a Fabric workspace that contains a warehouse named Warehouse1.
You have an on-premises Microsoft SQL Server database named Database1 that is accessed by using an on-premises data gateway.
You need to copy data from Database1 to Warehouse1.
Which item should you use?
A.an Apache Spark job definition
B.a data pipelineCorrect
C.a Dataflow Gen1 dataflow
D.an eventstream
Explanation
A data pipeline Copy activity supports an on-premises data gateway connection to SQL Server and can write directly to a Fabric warehouse. An Apache Spark job definition cannot use the on-premises data gateway. A Dataflow Gen1 dataflow cannot load into a Fabric warehouse, and an eventstream ingests streaming events rather than copying tables from a SQL Server database.
You have a Fabric F32 capacity that contains a workspace. The workspace contains a warehouse named DW1 that is modelled by using MD5 hash surrogate keys.
DW1 contains a single fact table that has grown from 200 million rows to 500 million rows during the past year.
You have Microsoft Power BI reports that are based on Direct Lake. The reports show year-over-year values.
Users report that the performance of some of the reports has degraded over time and some visuals show errors.
You need to resolve the performance issues. The solution must meet the following requirements:
- Provide the best query performance.
- Minimize operational costs.
What should you do?
A.Change the MD5 hash to SHA256.
B.Increase the capacity.Correct
C.Enable V-Order.
D.Modify the surrogate keys to use a different data type.
E.Create views.
Explanation
Direct Lake guardrails depend on the capacity SKU. On F32 a table can have at most 300 million rows, and the fact table now has 500 million. When a guardrail is exceeded, Direct Lake on SQL falls back to DirectQuery, which is slower, and Direct Lake on OneLake can't query the model, so visuals return errors. That explains both the gradual slowdown and the failing visuals. F64 is the smallest SKU that allows 1.5 billion rows per table, so scaling the capacity up is the only option that brings the table back within the limit. V-Order is already on by default in a Fabric warehouse, so enabling it changes nothing. Changing the hash algorithm or the key data type doesn't reduce the number of rows. Views force DirectQuery fallback, which makes performance worse.
You have a Fabric workspace that contains a warehouse named DW1. DW1 contains the following tables and columns.
| Table name | Column name | Description |
|---|---|---|
| SalesOrderDetail | ProductID | Contains the product ID of the ordered product |
| SalesOrderDetail | ModifiedDate | Contains the date of an order |
| SalesOrderDetail | OrderQty | Contains the order quantity |
| Product | ProductID | Contains the unique ID of a product |
| Product | Name | Contains a product name |
You need to create an output that presents the summarized values of all the order quantities by year and product. The results must include a summary of the order quantities at the year level for all the products.
How should you complete the code? To answer, select the appropriate options in the answer area.
```sql
[Dropdown 1] (SO.ModifiedDate) AS OrderDate
,P.Name AS ProductName
,SUM(SO.OrderQty) AS OrderQty
FROM [dbo].[SalesOrderDetail] SO
INNER JOIN [dbo].[Product] P
ON P.ProductID = SO.ProductID
GROUP BY
[Dropdown 2]
ORDER BY OrderDate
```
NOTE: Each correct selection is worth one point.
Explanation
Dropdown 1: SELECT YEAR returns the year part of ModifiedDate, which is the grouping level the output needs; CAST and CONVERT would need a target data type and would not extract the year from the date. Dropdown 2: ROLLUP(YEAR(SO.ModifiedDate), P.Name) produces the year-and-product rows plus a subtotal row for each year across all products (and a grand total), which is the hierarchical summary that is asked for. A plain GROUP BY YEAR(SO.ModifiedDate), P.Name returns no year-level subtotal, and CUBE also adds per-product totals across all years, which is not requested. The listed GROUPING SETS returns the same detail and yearly rows without the grand total, but ROLLUP is the construct intended for hierarchical year-then-product subtotals.
You have a Fabric workspace that contains a lakehouse named Lakehouse1. Data is ingested into Lakehouse1 as one flat table. The table contains the following columns.
| Name | Description |
|---|---|
| TransactionID | Contains a unique ID for each transaction |
| Date | Contains the date of a transaction |
| ProductID | Contains a unique ID for each product |
| ProductColor | Contains a descriptive attribute that describes the color of each product |
| ProductName | Contains a unique name for each product |
| SalesAmount | Contains the sales amount of a transaction |
You plan to load the data into a dimensional model and implement a star schema. From the original flat table, you create two tables named FactSales and DimProduct. You will track changes in DimProduct.
You need to prepare the data.
Which three columns should you include in the DimProduct table? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A.Date
B.ProductNameCorrect
C.ProductColorCorrect
D.TransactionID
E.SalesAmount
F.ProductIDCorrect
Explanation
A product dimension holds the product's business key and its descriptive attributes, so DimProduct gets ProductID, ProductName, and ProductColor; tracking changes to those attributes (for example, as a slowly changing dimension) is done in this table. TransactionID, Date, and SalesAmount describe individual sales events and belong in FactSales, where SalesAmount is the measure and Date relates to a date dimension.
You have a Fabric workspace named Workspace1 that contains a notebook named Notebook1.
In Workspace1, you create a new notebook named Notebook2.
You need to ensure that you can attach Notebook2 to the same Apache Spark session as Notebook1.
What should you do?
A.Enable high concurrency for notebooks.Correct
B.Enable dynamic allocation for the Spark pool.
C.Change the runtime version.
D.Increase the number of executors.
Explanation
High concurrency mode for notebooks, enabled in the workspace Spark settings, lets multiple notebooks from the same user share one running Spark session, so Notebook2 can attach to the session that Notebook1 uses. Dynamic allocation and the number of executors only change how many compute resources a session gets, and changing the runtime version does not let sessions be shared.
You have a Fabric workspace named Workspace1 that contains a lakehouse named Lakehouse1. Lakehouse1 contains these tables:
- Orders
- Customer
- Employee
The Employee table contains Personally Identifiable Information (PII).
A data engineer is building a workflow that requires writing data to the Customer table, however, the user does NOT have the elevated permissions required to view the contents of the Employee table.
You need to ensure that the data engineer can write data to the Customer table without reading data from the Employee table.
Which three actions should you perform? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A.Share Lakehouse1 with the data engineer.
B.Assign the data engineer the Contributor role for Workspace2.
C.Assign the data engineer the Viewer role for Workspace2.
D.Assign the data engineer the Contributor role for Workspace1.Correct
E.Migrate the Employee table from Lakehouse1 to Lakehouse2.Correct
F.Create a new workspace named Workspace2 that contains a new lakehouse named Lakehouse2.Correct
G.Assign the data engineer the Viewer role for Workspace1.
Explanation
Writing to a lakehouse table requires a workspace role that can write, such as Contributor, and a Contributor in Workspace1 can read every item in that workspace, including the Employee table. To keep the PII out of reach, create Workspace2 with Lakehouse2, move the Employee table there, and give the data engineer the Contributor role on Workspace1 only. Sharing Lakehouse1 or assigning Viewer grants read access only, so the engineer still could not write to Customer, and any role on Workspace2 would expose the Employee data again.
You have a Fabric warehouse named DW1. DW1 contains a table that stores sales data and is used by multiple sales representatives.
You plan to implement row-level security (RLS).
You need to ensure that the sales representatives can see only their respective data.
Which warehouse object do you require to implement RLS?
A.STORED PROCEDURE
B.CONSTRAINT
C.SCHEMA
D.FUNCTIONCorrect
Explanation
Row-level security in a Fabric warehouse uses an inline table-valued function as the filter predicate, which a security policy (CREATE SECURITY POLICY) then binds to the table. The function returns rows only when the current user, for example USER_NAME(), matches the sales representative column. Stored procedures, constraints, and schemas cannot filter which rows a user sees. A schema is often used to keep the RLS objects together, but RLS does not depend on it.
You have a Fabric workspace named Workspace1_DEV that contains the following items:
- 10 reports
- Four notebooks
- Three lakehouses
- Two data pipelines
- Two Dataflow Gen1 dataflows
- Three Dataflow Gen2 dataflows
- Five semantic models that each has a scheduled refresh policy
You create a deployment pipeline named Pipeline1 to move items from Workspace1_DEV to a new workspace named Workspace1_TEST.
You deploy all the items from Workspace1_DEV to Workspace1_TEST.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Explanation
Statement 1 (No): Deployment pipelines copy only metadata, not data, so the semantic models in the target stage must be refreshed before they hold any data. The documentation lists data among the item properties that are not copied.
Statement 2 (Yes): Dataflows Gen1 are supported items in deployment pipelines, so they are cloned to the target stage. One documented limitation is that their incremental refresh settings are not copied.
Statement 3 (No): Refresh schedule is one of the semantic model properties that deployment does not copy, along with role assignments and data source credentials. You configure the schedule separately in each stage's workspace.
You have a Fabric deployment pipeline that uses three workspaces named Dev, Test, and Prod.
You need to deploy an eventhouse as part of the deployment process.
What should you use to add the eventhouse to the deployment process?
A.GitHub Actions
B.a deployment pipelineCorrect
C.an Azure DevOps pipeline
Explanation
Eventhouses are supported items in Fabric deployment pipelines, so you can add the eventhouse to the existing Dev, Test, and Prod pipeline and deploy it like any other supported item. GitHub Actions and Azure DevOps pipelines are external CI/CD tools. You could use them to automate deployments, but they add effort and are not needed to include an eventhouse in a Fabric deployment pipeline.
You have a Fabric workspace named Workspace1 that contains a warehouse named Warehouse1.
You plan to deploy Warehouse1 to a new workspace named Workspace2.
As part of the deployment process, you need to verify whether Warehouse1 contains invalid references. The solution must minimize development effort.
What should you use?
A.a database project
B.a deployment pipelineCorrect
C.a Python script
D.a T-SQL script
Explanation
A Fabric deployment pipeline deploys a warehouse to the target workspace with DacFx-based schema deployment, which resolves object dependencies during deployment. If an object references something that does not exist, the deployment reports the problem. You get the check as part of the deployment itself without building anything extra. A database project can also find unresolved references when it is built, but you have to set up and maintain it separately. A custom Python or T-SQL script takes the most development effort.
You have a Fabric workspace that contains a Real-Time Intelligence solution and an eventhouse.
Users report that from OneLake file explorer, they cannot see the data from the eventhouse.
You enable OneLake availability for the eventhouse.
What will be copied to OneLake?
A.only data added to new databases that are added to the eventhouse
B.only the existing data in the eventhouse
C.no data
D.both new data and existing data in the eventhouseCorrect
E.only new data added to the eventhouse
Explanation
Turning on OneLake availability creates a logical Delta Lake copy of the KQL database data. When you enable it, you can select the Apply to existing tables option to include a historic backfill, and newly ingested data keeps flowing to OneLake after that. The documentation says that once availability is on, you can access all the data at the OneLake path, and that turning it back on makes all data available, including the historic backfill. Answers that say only new data or only existing data is copied describe just part of this behavior. Saying no data is copied ignores what the feature does.
You have a Fabric workspace named Workspace1.
You plan to integrate Workspace1 with Azure DevOps.
You will use a Fabric deployment pipeline named deployPipeline1 to deploy items from Workspace1 to higher environment workspaces as part of a medallion architecture. You will run deployPipeline1 by using an API call from an Azure DevOps pipeline.
You need to configure API authentication between Azure DevOps and Fabric.
Which type of authentication should you use?
A.service principalCorrect
B.Microsoft Entra username and password
C.managed private endpoint
D.workspace identity
Explanation
An unattended Azure DevOps pipeline that calls the deployment pipelines REST API should authenticate as a Microsoft Entra service principal, which the deployment pipelines APIs support for automation. A username and password ties the pipeline to a person's account and breaks when MFA or conditional access applies. A managed private endpoint is a network feature, not an authentication method. A workspace identity is used by Fabric items to reach other resources, so an external caller such as Azure DevOps cannot use it.
You have a Google Cloud Storage (GCS) container named storage1 that contains the files shown in the following table.
| Name | Size |
|---|---|
| ProductFile.parquet | 8 MB |
| StoreFile.json | 500 MB |
| TripsFile.csv | 99 MB |
You have a Fabric workspace named Workspace1 that has the cache for shortcuts enabled. Workspace1 contains a lakehouse named Lakehouse1. Lakehouse1 has the shortcuts shown in the following table.
| Name | Source | Last accessed |
|---|---|---|
| Products | ProductFile | 12 hours ago |
| Stores | StoreFile | 4 hours ago |
| Trips | TripsFile | 48 hours ago |
You need to read data from all the shortcuts.
Which shortcuts will retrieve data from the cache?
A.Stores only
B.Products only
C.Stores and Products onlyCorrect
D.Products, Stores, and Trips
E.Trips only
F.Products and Trips only
Explanation
OneLake shortcut caching for GCS stores each file in the workspace cache and serves later reads from the cache. Every read resets the retention period, and a file that isn't read within that period is purged. Files larger than 1 GB are never cached, but all three files here are smaller. With the 24-hour retention period this scenario assumes, Products (read 12 hours ago) and Stores (read 4 hours ago) are still in the cache. Trips was last read 48 hours ago, so it has been purged and must be read from GCS again.
You have a Fabric workspace named Workspace1 that contains an Apache Spark job definition named Job1.
You have an Azure SQL database named Source1 that has public internet access disabled.
You need to ensure that Job1 can access the data in Source1.
What should you create?
A.an on-premises data gateway
B.a managed private endpointCorrect
C.an integration runtime
D.a data management gateway
Explanation
Managed private endpoints let Fabric Data Engineering items, including notebooks and Spark job definitions, reach data sources such as Azure SQL Database that are blocked from public internet access. A workspace admin creates the endpoint in the workspace settings and the data source owner approves it. An on-premises data gateway is not used by Spark workloads, and integration runtimes and data management gateways belong to Azure Data Factory, not to Fabric Spark.
You have an Azure Data Lake Storage Gen2 account named storage1 and an Amazon S3 bucket named storage2.
You have the Delta Parquet files shown in the following table.
| Name | Stored in | Size | Description |
|---|---|---|---|
| ProductFile | storage1 | 50 MB | Contains a list of products and their details |
| TripsFile | storage2 | 2 GB | Contains one month's worth of taxi trip data |
| StoreFile | storage2 | 25 MB | Contains a list of stores and their addresses |
You have a Fabric workspace named Workspace1 that has the cache for shortcuts enabled. Workspace1 contains a lakehouse named Lakehouse1. Lakehouse1 has the following shortcuts:
- A shortcut to ProductFile aliased as Products
- A shortcut to StoreFile aliased as Stores
- A shortcut to TripsFile aliased as Trips
The data from which shortcuts will be retrieved from the cache?
A.Trips and Stores only
B.Products and Stores only
C.Stores onlyCorrect
D.Products only
E.Products, Stores, and Trips
Explanation
OneLake shortcut caching applies only to Google Cloud Storage, S3, S3-compatible and on-premises data gateway shortcuts, and individual files larger than 1 GB are never cached. Products points to ADLS Gen2 (storage1), which is not a cached shortcut type, so it is always read from the source. Trips points to S3 but the file is 2 GB, above the 1 GB limit. Only Stores (S3, 25 MB) is served from the cache.
You have a Fabric workspace named Workspace1 that contains the items shown in the following table.
| Name | Type |
|---|---|
| Notebook1 | Notebook |
| Notebook2 | Notebook |
| Lakehouse1 | Lakehouse |
| Pipeline1 | Data pipeline |
| Model1 | Semantic model |
For Model1, the Keep your Direct Lake data up to date option is disabled.
You need to configure the execution of the items to meet the following requirements:
- Notebook1 must execute every weekday at 8:00 AM.
- Notebook2 must execute when a file is saved to an Azure Blob Storage container.
- Model1 must refresh when Notebook1 has executed successfully.
How should you orchestrate each item? To answer, select the appropriate options in the answer area.
Explanation
Notebook1: add it to Pipeline1 so the pipeline can run it on a schedule and chain further work after it succeeds; a Spark job definition runs Spark code files, not notebooks. Notebook2: Azure Blob Storage events are available in Real-Time hub, where an Activator alert on a blob-created event can run the notebook, so the trigger is configured from Real-Time hub. Pipeline1: give the pipeline a schedule for weekdays at 8:00 AM; that runs Notebook1 at the required time. Model1: add a semantic model refresh activity to Pipeline1 after the Notebook1 activity on its success path, so the model refreshes only when Notebook1 succeeds. Turning on Keep your Direct Lake data up to date would refresh on any data change, not specifically after Notebook1 succeeds.
Your company has a sales department that uses two Fabric workspaces named Workspace1 and Workspace2.
The company decides to implement a domain strategy to organize the workspaces.
You need to ensure that a user can perform the following tasks:
- Create a new domain for the sales department.
- Create two subdomains: one for the east region and one for the west region.
- Assign Workspace1 to the east region subdomain.
- Assign Workspace2 to the west region subdomain.
The solution must follow the principle of least privilege.
Which role should you assign to the user?
A.workspace Admin
B.domain admin
C.domain contributor
D.Fabric adminCorrect
Explanation
Only a Fabric admin can create a domain, so the first task already requires the Fabric admin role; a Fabric admin can also create subdomains and assign workspaces to them. A domain admin can create subdomains and assign workspaces but cannot create a new domain, and a domain contributor or workspace Admin can only assign workspaces they administer. Fabric admin is therefore the least privileged role that covers every task.
You have a Fabric workspace named Workspace1 that contains a warehouse named DW1 and a data pipeline named Pipeline1.
You plan to add a user named User3 to Workspace1.
You need to ensure that User3 can perform the following actions:
- View all the items in Workspace1.
- Update the tables in DW1.
The solution must follow the principle of least privilege.
You already assigned the appropriate object-level permissions to DW1.
Which workspace role should you assign to User3?
A.Admin
B.Member
C.ViewerCorrect
D.Contributor
Explanation
The Viewer role lets User3 see every item in Workspace1 and grants CONNECT and ReadData on each warehouse. The object-level T-SQL permissions you already granted on DW1, such as INSERT and UPDATE, give User3 the ability to change its tables. Contributor, Member and Admin each grant CONTROL on every warehouse and SQL analytics endpoint in the workspace, plus the right to edit other items, which is more than User3 needs. Because table-level write access is already handled with SQL permissions, Viewer is the least privileged role.
Verifying access...
Access Required
You need to purchase this exam to access practice mode
Unlock a few more questions every day for 300 points you earn free on
Godlike Academy. Everything you unlock with the Daily Climb stays open for 7 days after your last unlock.