01What is Azure Data Factory?
A cloud service to orchestrate and move data with pipelines, activities, linked services and datasets.
Pipelines, data lakes, Spark and Azure questions for your first data engineering job, with answers a junior is expected to give. 30 questions with answers, written by a Senior Data Engineer.
A cloud service to orchestrate and move data with pipelines, activities, linked services and datasets.
A linked service is the connection (like a connection string). A dataset points to specific data on that connection, like a table or folder.
The compute ADF uses: Azure IR for cloud data, self-hosted IR for on-premises or private networks.
Keep a control table of sources and targets, read it with Lookup, loop with ForEach and pass parameters to a generic Copy activity.
Store a watermark (last modified date or ID), load only newer rows, then update the watermark.
Schedule, tumbling window (with dependencies and backfill), storage event and custom event triggers.
Azure Blob Storage with a hierarchical namespace, built for analytics with folder-level ACLs.
RBAC grants access at account or container level. ACLs give fine-grained access on folders and files.
Zones like raw/bronze, curated/silver and serving/gold, partitioned by date where it helps, using Parquet or Delta.
An identity Azure manages for a service, so it can access other resources without storing passwords.
An architecture that combines data lake storage with warehouse features like ACID transactions and schema enforcement, using open formats like Delta.
The driver plans the job and coordinates tasks. Executors run the tasks on partitions of data.
Transformations build a plan and run only when an action like count, write or collect is called.
Transformations (select, filter, join) return a new DataFrame lazily. Actions (count, show, write) trigger execution.
Narrow ones work within a partition (filter, select). Wide ones need data from other partitions and cause a shuffle (groupBy, join).
Moving data between executors over the network and disk. It is often the slowest part of a job.
Sending a small table to every executor so the big table does not shuffle.
from pyspark.sql.functions import broadcast
df = big.join(broadcast(small), 'id')repartition shuffles to any number of partitions. coalesce only reduces partitions without a full shuffle.
One key has far more rows, so one task runs much longer. Fix with AQE skew handling, filtering NULL keys, or salting.
Spark changes the plan at runtime: merges small partitions, switches join types and splits skewed partitions.
Structured fits tables, semi-structured has flexible fields like JSON, unstructured has no fixed format like images and documents.
OLTP handles many small transactions. OLAP handles large analytical queries over history.
Batch processes data in groups on a schedule. Streaming processes events continuously as they arrive.
Splitting data into related tables to reduce duplication and keep it consistent.
DDL defines structure (CREATE, ALTER, DROP). DML changes data (INSERT, UPDATE, DELETE).
SQL Database is fully managed PaaS for one database. Managed Instance is near full SQL Server compatibility as PaaS. SQL on a VM is IaaS with full control.
Azure Database for PostgreSQL and Azure Database for MySQL as managed services.
A globally distributed NoSQL database with low latency and several APIs, including NoSQL, MongoDB, Cassandra, Gremlin and Table.
The property used to spread data across partitions. A good one has many distinct values and spreads load evenly.
Strong, bounded staleness, session, consistent prefix and eventual, trading consistency for latency and availability.
Practise with our AI interviewer: 8 questions for your role, a score for every answer and a stronger answer to learn from.