Which Fabric store supports T-SQL, KQL, and Spark reads with Spark writes?

Design and implement loading patterns
Answer Correct answer: B — Use an eventhouse, whose KQL database supports semi-structured data with KQL, T-SQL, and Spark reads and Spark writes.

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?

  1. a lakehouse
  2. an eventhouse Correct Answer
  3. a datamart
  4. a warehouse

Community Insight

The exam tests choosing a Fabric data store by its supported read and write engines; the trap is assuming a lakehouse natively serves KQL instead of requiring an Eventhouse shortcut.

Semi-structured Fabric data that must be read through T-SQL, KQL, and Apache Spark while being written only by Spark points to an eventhouse rather than a lakehouse, warehouse, or datamart. The page explains why the Eventhouse KQL database satisfies all three read paths and Spark-based ingestion.

Many candidates choose a lakehouse because it handles semi-structured data and Spark writes, but a lakehouse lacks native KQL querying; KQL access requires an eventhouse KQL database and a OneLake shortcut.

Community Discussion (89 comments)

alqazqzy.asseel 👍 1 Selected: A
Write via Apache Spark, so u must use lakehouse
Bs2009 👍 2 Selected: A
correct answer is A because data is written "The data will only be written by using Spark" so in event house primary write engine is KQL .
Maggiee 👍 2 Selected: A
Lakehouse in Microsoft Fabric supports: Semi-structured data Reading data using: T-SQL KQL Apache Spark Writing data using Spark Delta Lake storage format
juamd 👍 3 Selected: A
The only restriction to the lakehouses while reading the question is about the need to use KQL, but with the use of shortcuts in a KQL database, you can query your data in a lakehouse without moving it. Just create the shortcut and point it to the data.
Mhunity 👍 1 Selected: B
B - KQL only available in eventhouse
279312 👍 2 Selected: A
Lakehouse is correct considering - Due to additional point in the question - The data will only be written by using Spark. If we consider other points, others are possible in eventhouse too
realuv 👍 1 Selected: A
semi-structured data written apache spark
Yasminmv110 👍 1 Selected: A
https://learn.microsoft.com/en-us/fabric/real-time-intelligence/eventhouse-as-endpoint The only Fabric storage that satisfies all three requirements is a Lakehouse.
loisistor 👍 1 Selected: B
KQL read operations is only available in Eventhouse
32950cb 👍 1 Selected: B
Eventhouse is the only that can read KQL
zulajariwala 👍 1 Selected: A
Semi structured data.
Josekonoor 👍 1 Selected: A
lakehouse
Josekonoor 👍 1 Selected: A
semi structured - lakehouse
Josekonoor 👍 1 Selected: A
Semi Structured Data
chinhuy 👍 1 Selected: A
be simple bro
pa1d 👍 1 Selected: B
A lake-house data cannot be read from KQL without mirroring it to Event-House so option B( Event house ) is the correct answer.
zulajariwala 👍 2 Selected: A
A Lakehouse in Microsoft Fabric supports Spark for writing and allows you to read the same data using T-SQL, KQL, and Spark. It is designed for semi-structured data (JSON, Parquet, etc.). Eventhouse is mainly for streaming/KQL scenarios. Warehouse and Datamart are primarily structured, SQL-focused storage and not intended for Spark-written semi-structured data.
Prashi_31 👍 1 Selected: A
Lakehouse is the right answer
jjveliz 👍 2 Selected: A
lakehouse is the ideal storage solution for this scenario because it is specifically designed to handle semi-structured data and supports read operations using T-SQL, KQL, and Apache Spark, while also allowing write operations exclusively with Spark.
nelrosell 👍 1 Selected: A
A because, data will only be 'written' by spark
realthiagoluna 👍 2 Selected: A
To read data using T-SQL, KQL, and Apache Spark, while ensuring the data is only written by Apache Spark, the appropriate storage solution is a lakehouse. An eventhouse, which is typically used for real-time streaming data, does not fully support this specific combination of read/write operations and data type flexibility.
RAO_N 👍 1 Selected: A
A lakehouse allows you to store semi-structured data in open formats, write using Spark, and read using T-SQL (through the SQL analytics endpoint), KQL (through KQL database shortcuts), and Apache Spark. It is specifically designed for these multi-engine scenarios. While eventhouse does support reading with KQL and some T-SQL, it is not designed for writing or reading with Apache Spark.
yo1233 👍 1 Selected: A
Written only with spark Readable via T-SQL, KQL, and spark Semi structured data
RG_123 👍 2 Selected: A
Answer is A: We should consider the fact that it is a semi structured data and not the real time data. We use Eventhouse when we have a streaming/real time data. So for Semi-Structured data, we will store it in a lakehouse and create a short for it in eventhouse. In this way, we can read the data stored in lakehouse using KQL.https://learn.microsoft.com/en-us/fabric/fundamentals/decision-guide-data-store (Here it is clearly mentioned that if you want to store the semi structure data, use Lakehouse and for streaming data, use eventhouse)
Thatoyaka 👍 2 Selected: A
A Lakehouse provides the flexibility to write with Spark and query with T-SQL, KQL, and Spark, making it the best fit for your scenario.
Thatoyaka 👍 2 Selected: A
Eventhouse in Microsoft Fabric is not designed to be written to directly from Apache Spark. It is optimized for ingesting real-time and high-velocity telemetry data, typically using Kusto Ingest mechanisms or built-in connectors (like Azure Event Hubs, IoT Hub, etc.).
LuluVIP 👍 1 Selected: B
KQL need Eventhouse
d0bdf05 👍 1 Selected: A
Lakehouse: - Lakehouse supports reading with T-SQL, KQL, and Apache Spark. - Allows writing with Spark. - Optimized for semi-structured data like JSON, Parquet, etc. - It exposes data via SQL and KQL endpoints and supports Spark access. An eventhouse - Designed for real-time event streaming. Datamart - Only supports T-SQL. - Not compatible with Spark or KQL. - Not suitable for semi-structured data. Datawarehouse - Designed for structured data and T-SQL. - Does not support Spark or KQL. - Not suitable for semi-structured data.
8115575 👍 1 Selected: A
eventhouse is optimized for streaming/event data, mainly used with KQL, not suitable for Spark write or T-SQL.
AndrewsOtis 👍 1 Selected: A
A. a lakehouse ✅ Built on Delta Lake format. Can be accessed with T-SQL, KQL, and Spark in Fabric. Perfect for semi-structured + multi-engine scenarios. B. an eventhouse ❌ Purpose: real-time analytics with event streams. Not designed for semi-structured data with Spark + T-SQL + KQL.
alex_sql 👍 1 Selected: B
KQL is avaialble in eventhouse only https://learn.microsoft.com/en-us/fabric/fundamentals/decision-guide-data-store
Yvoe 👍 1 Selected: A
Eventhouse is optimized for real-time event data. While it supports both KQL and Apache Spark, it is not designed for Spark-centric scenarios involving semi-structured data written exclusively using Spark.
8ac3742 👍 1 Selected: A
The eventhouse is not designed for semi-structured data, it is designed for columnar data such as log, you can use event stream and KQL pipeline to write data into eventhouse, but you cannot directly use Spark to write data into eventhouse. In a Lakehouse, you can create a shortcut to its underlying Delta tables, enabling KQL to query the data directly through that shortcut.
nirvana183 👍 1 Selected: A
Lakehouse in Microsoft Fabric is designed to store semi-structured and unstructured data in an open format (Delta/Parquet). It supports being read by T-SQL, KQL, and Apache Spark in the same workspace. You can write data using Spark and still query it from SQL endpoints or KQL without extra ingestion steps.
Kumar_PHBVK 👍 1 Selected: A
For Fabric, storage account is lakehouse.
alex_sql 👍 1 Selected: A
La opción correcta sigue siendo A. a lakehouse, según la documentación oficial de Microsoft Fabric.
Mahlodi 👍 1
Answer A :Why a lakehouse? Supports multi-engine querying T-SQL endpoint for SQL queries KQL endpoint for log and telemetry analysis Apache Spark for distributed processing Optimized for semi-structured data Natively handles JSON, Parquet, Delta formats Schema-on-read lets you flexibly explore data Spark-native writes with immediate cross-engine reads Use Spark to ingest and write as Delta files T-SQL and KQL can query the same tables without extra ETL
ziggy1117 👍 2 Selected: B
Only Eventhouse allows KQL
YSAu 👍 1 Selected: B
https://learn.microsoft.com/en-us/fabric/fundamentals/decision-guide-data-store
d727c6d 👍 2 Selected: A
A is correct
eskimolight 👍 2 Selected: A
I think it is A
LuisPBI25 👍 2 Selected: B
Lakehouse read operations available are only T-SQL and Spark. However, Eventhouse read operations permitted are T-SQL,Spark and also KQL as it is required in the question.
Shw7 👍 1 Selected: A
a Lakehouse is the correct answer
VenkataPhaniPavanKumar 👍 2 Selected: A
Here’s why a lakehouse fits perfectly for your scenario: It supports semi-structured data, such as JSON or Parquet. It can be accessed using T-SQL, KQL, and Apache Spark—offering maximum flexibility across personas. You mentioned data is only written using Spark, and lakehouses are optimized for Spark-based ingestion and processing. It stores data in Delta Lake format in OneLake, making it ACID-compliant and performant across engines. Source: Perplexity.ai and Microsoft Copilot (both says Lakehouse) Quite surprised to understand the gap from microsoft learn and copilot https://learn.microsoft.com/en-us/fabric/fundamentals/decision-guide-data-store
Manish0427 👍 2 Selected: A
Although data is only in Unstructured format and only Apache Spark is used to write, which is fulfilled by both a Lakehouse and Eventhouse. However, provided that there is no mention of streaming data, I would prefer to use Lakehouse as a data storage. Eventhouse is primarily designed for Streaming data and KQL analytics. Writing data using Apache Spark is not the ideal usecase for Eventhouse. On the other hand, Lakehouse can store unstructured data, supports native write access via Apache Spark, can read using T-SQL (using SQL endpoint) and KQL (using shortcuts to Kusto). In real world scenario, Lakehouse is the ideal choice in such a case.
ogbenisho 👍 2 Selected: B
Obviously, the answer is B - T-SQL, KQL and Spark can be used on Eventhouse - T-SQL & Spark can be used on Lakehouse
TayaC 👍 2 Selected: A
A. a lakehouse is correct as the constraint is "only written by using Spark"
Wipag 👍 2 Selected: A
A. a lakehouse Designed to handle structured, semi-structured, and unstructured data. Stored in Delta Lake format, making it accessible from: Spark (native) T-SQL via the SQL analytics endpoint KQL via OneLake integration Supports multi-engine access. Ideal for big data + analytics scenarios, especially with semi-structured data like JSON, Parquet, etc. Spark is commonly used to write to lakehouses.
smanzana 👍 1 Selected: A
The correct is A
vikramkumar 👍 1 Selected: A
A is the correct answer
NNPRN 👍 1 Selected: B
Eventhouse is the right answer because KQL is avaialble in eventhouse only https://learn.microsoft.com/en-us/fabric/fundamentals/decision-guide-data-store
DarioReymago 👍 1 Selected: A
I select A. Request dont talk about stream data
malik777 👍 1 Selected: A
event house meant for time series data
MohanNaidu08 👍 3 Selected: A
You need a storage solution that supports: Semi-structured data Read access via T-SQL, KQL, and Apache Spark Write access via Spark A lakehouse in Microsoft Fabric is designed exactly for this: Supports semi-structured and structured data (e.g., JSON, Parquet, CSV). Can be queried using: T-SQL (via SQL analytics endpoint) KQL (via Kusto query endpoint) Apache Spark (via notebooks or jobs) Optimized for big data processing and analytics. Allows Spark-based writes and multi-engine reads.
Ahmadpbi 👍 1 Selected: A
❌ Why Option B (an Eventhouse) is NOT Correct 🔹 What is an Eventhouse in Microsoft Fabric? An Eventhouse is designed for large-scale, time-series, and event data, such as: Logs Telemetry IoT device data It is optimized for append-only workloads. Queries are executed using KQL (Kusto Query Language). It is NOT built to be written using Apache Spark. It does not natively support T-SQL or Spark-based analytics.
akmorsh 👍 2 Selected: A
Explanation by chatGPT: A Lakehouse in Microsoft Fabric is designed to store semi-structured data and supports multiple query languages including T-SQL, KQL, and Apache Spark. The question specifies that the data will be written only by Spark, and needs to be read by T-SQL, KQL, and Spark, which fits perfectly with the Lakehouse architecture. Eventhouse is designed mainly for event streaming and ingestion. Datamart is typically used for relational, structured data with a semantic model and T-SQL querying but does not natively support Spark or KQL. Warehouse is optimized for structured, relational data and T-SQL querying but does not support KQL or Spark.
Madhu2023 👍 1 Selected: B
Sorry I take that back, Read operations can be done using spark
Madhu2023 👍 1 Selected: A
https://learn.microsoft.com/en-us/fabric/fundamentals/decision-guide-data-store Apache is only available with Lakehouse
yue_young 👍 1 Selected: B
Lakehouse doesn't support KQL for reading data.
PBridge 👍 2 Selected: A
A lakehouse in Microsoft Fabric supports semi-structured data formats (e.g., JSON, Parquet). It enables access using: T-SQL via SQL endpoint KQL via shortcuts or integration with real-time data Apache Spark for data engineering tasks Since the data will only be written by Spark, and needs to be read using multiple languages, the lakehouse is the most flexible and performant storage choice.
Kiracloud 👍 1 Selected: B
https://learn.microsoft.com/en-us/fabric/fundamentals/decision-guide-data-store
ZZIN 👍 1 Selected: A
Isn't the correct answer Lakehouse since it is stated that only Spark is used to write data? Eventhouse does not write data by Spark.
hazz_hari 👍 1 Selected: B
Eventhouse supports unstructured data, supports read operations using T-SQL, KQL and PySpark, and supports write operations using Spark. Ref Article: https://learn.microsoft.com/en-us/fabric/fundamentals/decision-guide-data-store
alirana3 👍 1 Selected: A
✅ Correct Answer: A. Lakehouse 💡 Here's why: Even though Eventhouse supports Spark and KQL for writing and reading, it is optimized for telemetry, time series, and log/event data. It is not designed for general-purpose Spark-based data engineering. Your scenario describes: Semi-structured data Write via Spark Read via T-SQL, Spark, and KQL According to the guide: Lakehouse supports: ✅ Spark (read/write) ✅ T-SQL (via SQL analytics endpoint) ❌ KQL (not directly supported) Eventhouse supports: ✅ Spark (read/write) ✅ KQL ✅ T-SQL (limited) BUT: It’s meant for time series, telemetry/logs, not general-purpose data processing
niteen82 👍 1 Selected: A
Lakehouse ✅ Best fit. A lakehouse in Microsoft Fabric is designed to support semi-structured and unstructured data, allows writing via Apache Spark, and supports querying via T-SQL, KQL, and Spark.
suhovet 👍 1 Selected: B
KQL is avaialble in eventhouse only
certs4pk 👍 2
question also said -- data will only be 'written' by spark..
zxc01 👍 1 Selected: B
I think eventhouse should be correct answer because it can support KQL, Spark and T-SQL. And can support semi-structured data event not good like lakehouse. The problem if we keep semi-structured data in lakehouse, we still need eventhouse to execute KQL on them. However, we just can build shortcut in KQL database to point delta tables in lakehouse(by OneLake), we cannot point to semi-structured files.
DataConsultant 👍 2 Selected: A
A Lakehouse in Microsoft Fabric is the best choice for storing semi-structured data while allowing access using T-SQL, KQL, and Apache Spark
CMDev 👍 2 Selected: B
Check this link and choose an answer, it must be B. https://learn.microsoft.com/en-us/fabric/fundamentals/decision-guide-data-store
Adriel_1996 👍 1 Selected: B
Based on documentation read on eventhouse allows SQL,T-SQL and Spark. https://learn.microsoft.com/en-us/fabric/fundamentals/decision-guide-data-store
Pierrejul 👍 1 Selected: B
https://learn.microsoft.com/en-us/fabric/fundamentals/decision-guide-data-store
ayushc 👍 2 Selected: A
By default you cannot query a lakehouse with kql but if you integrate it with Real time analytics you are able to query the lakehouse with kql
pierre314 👍 1 Selected: B
Eventhouse: Read operations: KQL, Spark and T-SQL Write operations: KQL, Spark
JensQ 👍 1 Selected: B
Out of the available options, only eventhouse can be read using KQL
Pierrejul 👍 1 Selected: A
lakehouse permit to read Spark data We are not in KQL
SannaLH 👍 2 Selected: B
Like 38578c4 link says: Eventhouse support read with: KQL, T-SQL, Spark & write with: KQL, Spark, connector ecosystem
568f95c 👍 3 Selected: A
A Lakehouse in Microsoft Fabric is the best choice for storing semi-structured data while allowing access using T-SQL, KQL, and Apache Spark B. Eventhouse - Designed for real-time event processing. - Does not support T-SQL or Apache Spark writes. C. Datamart - Built for self-service BI, supports T-SQL, but not Spark-based writing. - Not optimized for semi-structured data. D. Warehouse - Optimized for structured relational data (fact & dimension tables). - Does not support KQL or Spark-based writes.
GLG 👍 3 Selected: A
Lakehouse: data will only be written bij using Spark. You can use shortcuts to access the data from een Eventhouse for KQL queries. If real-time processing or KQL were requitements, Eventhouse would be more appropiate.
basene 👍 1 Selected: A
You are deal with semi-structured data and we would like to use only spark.
38578c4 👍 37 Selected: B
KQL is avaialble in eventhouse only https://learn.microsoft.com/en-us/fabric/fundamentals/decision-guide-data-store
Jayjay5 👍 1
A is still correct because it say's "Read"
shmmini 👍 10
I think both A and B could be a correct answer for this. If my data is in an eventhouse, I can query it using T-SQL, KQL and PySpark If my data is in a Laekehouse, I can query it using SQL and PySpark and Create shortcuts for it in the eventhouse then query it using KQL. I guess this question needs some other precision to only one possible correct answer
fffsssggg 👍 13 Selected: B
Eventhouse: Read operations: KQL, Spark and T-SQL Write operations: KQL, Spark https://learn.microsoft.com/en-us/fabric/get-started/decision-guide-data-store
chimuelo69 👍 4 Selected: A
A lakehouse in Microsoft Fabric is a versatile storage option designed for semi-structured and unstructured data, combining the flexibility of a data lake with the structure of a data warehouse. It supports Apache Spark, T-SQL, and KQL queries, making it ideal for the requirements. Why the other options are not suitable: B. Eventhouse: Eventhouse is not a valid Microsoft Fabric storage option. C. Datamart: A datamart is designed for structured data and primarily supports T-SQL, but not Spark or KQL. D. Warehouse: A warehouse is optimized for structured data and supports T-SQL, but it is not designed for semi-structured data or Spark. A lakehouse is the best choice for storing data in a format that allows Spark to write it while enabling T-SQL and KQL for querying.
mmanrik 👍 3 Selected: B
The eventhouse is the only one out of the four options that allows the creation of a KQL Database, therefore it is the only option that fully meets the criteria (being able to read the date via KQL, T-SQL and Spark).
QAZdbarhate12345678 👍 3 Selected: A
lakehouse is the most appropriate choice for this scenario
Tuki93 👍 3 Selected: A
You have semi-structured data. The data will only be written by using Spark.
kryper_reg 👍 2 Selected: A
Semi structured data should be stored in a lakehouse

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Expert Analysis

Why the Answer Is Correct

An eventhouse in Microsoft Fabric stores data in KQL databases built for semi-structured and structured data, and it exposes the exact read surfaces named in the stem: native KQL, a T-SQL endpoint, and Spark access. It also accepts Spark-based writes through the Kusto Spark connector, so the "written only by Spark" constraint does not eliminate it. That combination makes the eventhouse the only listed store that satisfies all three required read engines without adding a separate service just to translate the query language. The comment that summarized Eventhouse as "Read operations: KQL, Spark and T-SQL" captures the same capability the exam is testing.

Why the Other Options Are Wrong

A lakehouse is the strongest distractor because it stores semi-structured files, accepts Spark writes, and offers T-SQL through the SQL analytics endpoint. However, KQL is not a native lakehouse query surface; reaching lakehouse data with KQL requires an eventhouse KQL database and a shortcut, which adds a second store/query layer rather than making the lakehouse itself the required store. A warehouse is optimized for structured, T-SQL-centric workloads and does not provide KQL querying or Spark-based writes as the primary write path. A datamart is a Power BI self-service semantic layer backed by T-SQL, not a semi-structured Spark/KQL store.

Community Comment Notes

Several learners chose A and argued, as juamd did, that "you can query your data in a lakehouse without moving it"; that is true operationally but it describes adding an eventhouse layer, not a lakehouse-only solution. shmmini similarly saw both A and B as plausible and asked for more precision, which is exactly the ambiguity created by shortcuts. The comments supporting B focus on the decision-guide matrix, with one noting "KQL is avaialble in eventhouse only" and another listing Eventhouse read operations as KQL, Spark, and T-SQL. On an exam, the store whose native capabilities match every stated read/write requirement is the safer answer.

Official Reference

Exam Strategy

Map each requirement to the native engine support listed in Fabric's data-store decision guide. If KQL is a required read path and T-SQL and Spark are also required, eliminate lakehouse, warehouse, and datamart unless the question explicitly allows shortcuts; choose eventhouse.

Frequently Asked Questions

Why isn't a lakehouse the answer if it supports Spark and T-SQL?

A lakehouse stores semi-structured Spark-written data and offers T-SQL via its SQL analytics endpoint, but KQL is not native there; you need an eventhouse or a shortcut to query it with KQL.

Can Spark write data into a Fabric eventhouse?

Yes. Eventhouse KQL databases support Spark ingestion via the Kusto Spark connector and still serve KQL and T-SQL reads.

More DP-700 FAQ →

Related Analysis

← Back to DP-700 Study Guide