How Do You Access the Productline1 Lakehouse Shortcut from a Fabric Notebook?
Short answer
B Query the shortcut with spark.sql("SELECT * FROM Lakehouse1.ResearchProduct") since ResearchProduct is a table in Lakehouse1.
Question
Key Takeaways
It tests how a OneLake shortcut surfaces as a queryable table in a Fabric lakehouse, and the trap is inventing a productline1 path segment that the case study never creates.
This DP-600 case-study question asks which notebook syntax reads the Productline1 data that Contoso exposes through a shortcut named ResearchProduct in Lakehouse1. The answer is the Spark SQL query against Lakehouse1.ResearchProduct, because the shortcut is registered as a table in the lakehouse rather than under a productline1 folder.
Common mistake: The most common wrong pick is option A, spark.read.format("delta").load("Tables/productline1/ResearchProduct"), which adds an extra productline1 folder level that does not exist because the shortcut was created directly in the Tables folder as ResearchProduct.
Expert Analysis
Why the Answer Is Correct
Contoso creates Lakehouse1 in Productline1ws and then creates a shortcut named ResearchProduct that points to the delta data in storage1. A OneLake shortcut placed in the Tables section of a lakehouse is exposed as a table of that lakehouse, so it is addressable as Lakehouse1.ResearchProduct. Option B, spark.sql("SELECT * FROM Lakehouse1.ResearchProduct"), uses exactly that lakehouse-qualified name and returns the Productline1 data inside a Fabric notebook, which is the mechanism the Data Preparation requirements demand. It also satisfies the general requirement to minimize implementation and maintenance effort, since no path construction or schema assumptions are needed.
Why the Other Options Are Wrong
Option A assumes the data sits one folder deeper, at Tables/productline1/ResearchProduct, but the case study never creates a productline1 folder or schema inside Lakehouse1; as David_Webb put it, "The folder hierarchy of Tables in Lakehouse is incorrect for A." The corrected path would simply be Tables/ResearchProduct, which is why several voters treat A as a near-miss rather than a valid answer. Options C and D use external_table(...) syntax, which belongs to KQL databases and the Kusto query language, not to Spark notebooks reading a lakehouse table, as SamuComqi correctly observed. There is also no table function or shortcut alias registered under the bare name ResearchProduct that external_table could resolve in a PySpark session.
Community Comment Notes
David_Webb and jass007_k both landed on B by pointing out that the shortcut is created directly under Tables with no productline1 level, and wispa2001 supplied the official OneLake shortcuts page showing the same SQL pattern. nyoike raised the nuance that with schema-enabled lakehouses A can also work when a productline1 schema exists, but the case study does not state that Lakehouse1 is schema-enabled, so the safe exam answer remains B. Egocentric framed the distinction well: "A is for when you want to load data. Answer is B, its only when you requesting specific data from specific table." Jeff_Zhu and TashaP reinforced that Lakehouse1.ResearchProduct is the structured dataset name and the correct Spark SQL target.
Official Reference
https://learn.microsoft.com/en-us/fabric/onelake/onelake-shortcuts
This link opens the official vendor documentation in a new tab.
Exam Strategy
In Fabric case-study questions, first pin down exactly where the artifact lives (workspace, lakehouse, folder, schema) before evaluating syntax; the distractor usually adds or removes one path segment. Then filter options by engine: spark.read/spark.sql are notebooks, while external_table belongs to KQL, not Spark.
Frequently Asked Questions
Why is spark.read.format("delta").load("Tables/productline1/ResearchProduct") wrong for ResearchProduct?
Can external_table('Tables/ResearchProduct) read lakehouse data in a Fabric notebook?
Community Votes
79% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 26 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 26
-
David_Webb 👍 15 Answered BThe correct answer is B. The folder hierarchy of Tables in Lakehouse is incorrect for A.
-
wispa2001 👍 10 Answered Bdf = spark.read.format("delta").load("Tables/MyShortcut") display(df) OR df = spark.sql("SELECT * FROM MyLakehouse.MyShortcut LIMIT 1000") display(df) https://learn.microsoft.com/en-us/fabric/onelake/onelake-shortcuts
-
nyoike 👍 6 Answered AWith the recent introduction of schema-enabled Lakehouses, BOTH A and B are correct. That is assuming ResearchProduct table was created in a schema-enabled Lakehouse in the productline1 schema. I have tested A in a Fabric Spark notebook that is schema-enabled and it works.
-
SamuComqi 👍 4B. spark.sql(“SELECT * FROM Lakehouse1.ResearchProduct ”) The syntax of C and D is correct for KQL databases (incorrect in this use-case). When the shortcut is created, no additional folders have been added to the Tables section, therefore answer A is incorrect. Once created, the line of answer B can be used to access data correctly. https://learn.microsoft.com/en-us/fabric/onelake/onelake-shortcuts
-
Jeff_Zhu 👍 4 Answered BThe correct answer is B. A should correct as : df = spark.read.format("delta").load("Tables/ResearchProduct") The Table folder could not handle two hierarchical
Show 21 more comments
-
TashaP 👍 3Cant be A: The path specified seems to assume a direct file system access rather than accessing through a lakehouse structure or shortcut. This syntax is used for reading data from a Delta Lake storage format. The answer IS B: assuming 'Lakehouse1.ResearchProduct' refers to a structured dataset within Lakehouse1, This syntax correctly uses Spark SQL to query data. This is consistent with how lakehouse data is accessed through SQL queries. Cant be C: Incomplete/incorrect format for accessing data in a spark environment. It is not the typical syntax used for Spark DataFrame or SQL API Calls. Cant be D: Similar logic to C, it is missing the context/format needed to access the data. The syntax is not a correct Spark API call.
-
jass007_k 👍 3The correct answer is B) Though A also looks correct, but the path mentioned is incorrect. The path should be Tables/ResearchProduct. We are directly creating a shortcut with the name ResearchProduct under Tables folder in Lakehouse1. There is no mention of the productline1 folder created.
-
Egocentric 👍 3A is for when you want to load data. Answer is B, its only when you requesting specific data from specific table
-
shem576 👍 2Should be A : This syntax uses the spark.read.format().load() method to read data from the specified location in the Delta format, which is a popular format for managing big data within data lakes or warehouses. It specifies the path where the data for Productline1's research division is stored. Option B, spark.sql("SELECT * FROM Lakehouse1.ResearchProduct"), executes a SQL query to select all data from a table named ResearchProduct in a database/schema called Lakehouse1. However, it doesn't specify the path or format of the data, so it may not be appropriate for accessing specific data within a notebook, especially if it's stored in a Delta format in a specific location.
-
MultiCloudIronMan 👍 2 Answered ABased on the case study details, the data for Productline1 is stored in an Azure Data Lake Storage Gen2 storage account named storage1 in the delta format. A shortcut to this storage, named ResearchProduct, is created in Lakehouse1 within the Productline1ws workspace. Given this structure, the path "Tables/productline1/ResearchProduct" is justified because it references the shortcut created in Lakehouse1 that points to the data stored in storage1. This path aligns with the case study's description of the data environment and planned changes.
-
NICVU 👍 2The correct answer id B. The productionline1 represents workspace so in option A spark.read.format(“delta”).load(“Tables/productline1/ResearchProduct”) there they mentioned productionline1 which is workspace so it is wrong
-
jass007_k 👍 2Both seem to be correct option A and option B. I have tried both syntaxes with shortcut data. Also its mentioned that format of data is in delta so I will go with option A)
-
Egocentric 👍 2answer is A. in B there is no productline1
-
Momoanwar 👍 2 Answered AI think A. We get data from shirtcut
-
ziggy1117 👍 1 Answered Bhttps://learn.microsoft.com/en-us/fabric/onelake/onelake-shortcuts df = spark.read.format("delta").load("Tables/MyShortcut") OR df = spark.sql("SELECT * FROM MyLakehouse.MyShortcut LIMIT 1000")
-
ca63a55 👍 1If answer B is the correct, why Files folder dosen`t appear between Lakehouse1 and ResearchProduct? It has to be like "lakehouse1.Files.ResearchProduct", hasn't it?
-
stilferx 👍 1 Answered AIMHO, I would go with A, because of there is a clear statement ProductLine1. Technically, A and B should work, but B doesn't have "ProductLine", what is confusing
-
laitoanthang 👍 1 Answered BYeah, the answer is B. Cause the folder hierarchy is kind of not true. It should be something else....
-
KASH2001 👍 1There is no productline1 used in Answer B. Then how it could be correct....
-
Atiwari95 👍 1 Answered BThe Correct Answer is B. The hierarchy of table is correct in B option.
-
Rakesh16 👍 1 Answered BB-->spark.sql(“SELECT * FROM Lakehouse1.ResearchProduct ”)
-
rmeng 👍 1 Answered BB. spark.sql(“SELECT * FROM Lakehouse1.ResearchProduct ”)
-
NRezgui 👍 1 Answered Bspark.sql(“SELECT * FROM Lakehouse1.ResearchProduct ”)
-
Miro_dd 👍 1 Answered BHierarchy for answer A is not correct
-
earlqq 👍 2 Answered BB is the correct one
-
Shri_Learning 👍 2 Answered BA syntax error
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All DP-600 Questions
Access 115 questions with complete answers and detailed explanations.
View Full DP-600 Practice Test →