YouTube2Text

Azure Data Engineer Mock Interview - ADF Scenario Based Special — Transcript

by Azurelib Academy · 3,783 words · 533 segments · language en · Watch on YouTube

Full transcript

  1. 0:02yeah hi urashi thank you for coming in
  2. 0:05for this interview so can you please
  3. 0:07brief us about your profile what you
  4. 0:12do okay thank you deak so my name isashi
  5. 0:15p I have a total six years of experience
  6. 0:18in IT industry in banking and financial
  7. 0:21sector domain BFS So currently I'm
  8. 0:23working with infosis uh as a data
  9. 0:27engineer okay great uh
  10. 0:31so can you just tell me a little bit
  11. 0:33about your
  12. 0:35project uh okay so uh we like in our
  13. 0:39project We are following this uh
  14. 0:41Medallion architecture so where we have
  15. 0:44this uh ra raw layer bronze layer uh
  16. 0:48sorry bronze layer silver layer and gold
  17. 0:49layer so in first layer like we are uh
  18. 0:53like in this bronze layer we are moving
  19. 0:56our data from on Prim to Cloud using
  20. 0:59this ADF and then like in a uh uh ADLs
  21. 1:03like in ADLs we cannot get everything so
  22. 1:05that so that further we need to use data
  23. 1:08braks for the pre-processing like for
  24. 1:11filtering the records and then finally
  25. 1:13once data is available in silver layer
  26. 1:15then we have to uh like uh like use some
  27. 1:20business logic like we have to use this
  28. 1:22aggregation functions and all and then
  29. 1:24we move the data to gold layer and from
  30. 1:26gold layer like uh we just connect this
  31. 1:29gold to powerbi so that our business and
  32. 1:32all can get the data from there okay um
  33. 1:38have you worked on the Azure data
  34. 1:39Factory as
  35. 1:41well yeah you worked on I worked on it
  36. 1:45okay have you created some of the
  37. 1:47pipelines or you just aware of it you
  38. 1:49created on your own yeah I have I have
  39. 1:51created some of the pipelines
  40. 1:55okay now let's imagine that there is a
  41. 1:58situation okay so
  42. 2:02will there is a one adless storage
  43. 2:05account okay okay you are getting a data
  44. 2:09there is some third party which is
  45. 2:10dropping the data into this ADLs account
  46. 2:13okay you have to create a pipeline which
  47. 2:17is going to pull the data I mean pull
  48. 2:19the file from this ads location and dump
  49. 2:23this information into a SQL
  50. 2:26database okay how would you do that
  51. 2:30okay so our source is in ADLs
  52. 2:33only and we have to move in the ADLs
  53. 2:36location only right source is ADLs and
  54. 2:39destination is a SQL
  55. 2:42database okay so SQL database like from
  56. 2:47uh so like we so we have to create uh
  57. 2:51the pipeline so for that we need to
  58. 2:53create the data sets two data sets two
  59. 2:55link service and one Pipeline and there
  60. 2:58we will use this copy activity so that
  61. 3:01we can uh copy the data from this ADLs
  62. 3:05to SQL
  63. 3:07DB okay great but imagine that there is
  64. 3:11another twist okay you want to run this
  65. 3:16pipeline only when a file arrived okay
  66. 3:21imagine as as soon as a file arrived I
  67. 3:23want to execute this pipeline how we can
  68. 3:26do that so for that we can use this uh
  69. 3:31uh storage event trigger uh so that what
  70. 3:35it does actually uh this uh trigger is
  71. 3:38used whenever any file get arrives in
  72. 3:41our location so at that time it triggers
  73. 3:44the uh like the pipeline uh get started
  74. 3:48so there we can there we have an option
  75. 3:50like start with like what like the file
  76. 3:54like so we can mention there if we have
  77. 3:55do CSV file so we can mention in the
  78. 3:57trigger and our pipeline getss started
  79. 4:01okay understood this is also understood
  80. 4:03so imagine a file comes you your
  81. 4:07pipeline triggers because of your
  82. 4:08storage event and it get executed and
  83. 4:12then finally uh you know it data get
  84. 4:15dumb but I want that as soon as you
  85. 4:18process the file you know you move this
  86. 4:21file to a different folder as well right
  87. 4:25so that it should not get I mean uh it
  88. 4:27should get it defined as okay this file
  89. 4:29is already processed right so you should
  90. 4:32have a one extra folder somewhere in
  91. 4:34ADLs and there once you have datag get
  92. 4:37dump into the DAT database I want you to
  93. 4:40move this file to a different folder how
  94. 4:42would you do that so we want to like for
  95. 4:46in particular folder we want this file
  96. 4:49right
  97. 4:50yes so actually we in in the for you can
  98. 4:54use this 4 activity and there we can uh
  99. 4:58like Define uh this folder location like
  100. 5:02we we use this string interpolation so
  101. 5:05that where we can Define uh like for
  102. 5:07example for today's date we want uh to
  103. 5:11get the file so we can mention that uh
  104. 5:15in
  105. 5:18there
  106. 5:20okay
  107. 5:21okay okay you talked about the for
  108. 5:25activity okay what for activity
  109. 5:30do so it actually it trates like if we
  110. 5:34are moving the data from for for example
  111. 5:37400 for 10 tables so we can mention all
  112. 5:41these 10 tables there and it will uh
  113. 5:44like move the data for all those 10
  114. 5:46tables okay imagine another situation
  115. 5:50okay another scenario based
  116. 5:52question so you said like there are 10
  117. 5:55tables which data you want to pull okay
  118. 5:58you say that okay I'm going to do it
  119. 6:00through a forage right out of those 10
  120. 6:05tables I need to have a situation that
  121. 6:10if this table belongs to let's say a
  122. 6:14critical table table or let's say I
  123. 6:18let's say the data size let's go by a
  124. 6:19data size so if there is a more than you
  125. 6:24know 100K rows for this table only then
  126. 6:28only you should pull it otherwise you
  127. 6:29should not pull the data for this table
  128. 6:32okay so imagine again I'll repeat it to
  129. 6:34avoid any confusion you have a 10 tables
  130. 6:37you are pulling the data from all those
  131. 6:3810 tables using your for each but while
  132. 6:42you're doing it you need to ensure that
  133. 6:45it pull only the data in case when that
  134. 6:48specific table have more than 100K
  135. 6:51records how would you solve this
  136. 6:55problem so uh first uh we can get get
  137. 6:59the count actually from a table so for
  138. 7:02that we can use lookup activity so that
  139. 7:04there we can get the count of the table
  140. 7:07and then we can use the if if then this
  141. 7:10if activity if he activity so there we
  142. 7:13can mention like if um this activity
  143. 7:16records is greater than uh like is equal
  144. 7:19to 100 greater than 100K records then
  145. 7:22then only we will uh pull the records
  146. 7:25for uh that
  147. 7:26table okay you will write this logic
  148. 7:30within the for each activity or outside
  149. 7:32the for each activity where are you
  150. 7:33going to write
  151. 7:35this uh so we will uh write this uh in
  152. 7:43in if if
  153. 7:47activity see again okay like in for each
  154. 7:51activity only there we will use this
  155. 7:54yeah so this if and this lookup goes
  156. 7:57within the forage or outside the forage
  157. 8:00lookup is uh outside the forage but this
  158. 8:03if we can uh this uh in this uh if a
  159. 8:08condition we can write inside the forage
  160. 8:10are you
  161. 8:13sure
  162. 8:16yes
  163. 8:19okay okay uh that's
  164. 8:23fine now you have uh probably have uh
  165. 8:29this pipeline okay you added the trigger
  166. 8:32to this pipeline as well but imagine
  167. 8:35that because of some certain reason when
  168. 8:38this pipeline was working for all those
  169. 8:3910 tables for five table it worked
  170. 8:43perfectly well okay but when it tries to
  171. 8:47copy the data for the sixth table this
  172. 8:50got break because of some certain reason
  173. 8:53so pipeline got failed okay now I want
  174. 8:58you to to copy only the data from the
  175. 9:02sixth table onwards because till five we
  176. 9:05already copied
  177. 9:06it question number one is it
  178. 9:09possible and if it is possible how you
  179. 9:12would do
  180. 9:14that uh yes it is possible so um here
  181. 9:19like if uh we have this this kind of
  182. 9:22scenario so we can use this pipeline
  183. 9:24parameters actually so there we as in
  184. 9:27pipeline parameters we all like 10
  185. 9:31tables we Define at the run like at the
  186. 9:33run time it will uh show as like for
  187. 9:37example this Six Tables already got
  188. 9:39successor and we want to run from Seven
  189. 9:42tables 7 8 9 10 so at the run time we
  190. 9:45can remove those six tables and we can
  191. 9:48mention only the failed uh uh pipeline
  192. 9:51table
  193. 9:52name okay great so it means that you are
  194. 9:56saying that in the pipeline itself when
  195. 9:58you're making the pipeline you're not
  196. 9:59hardcoding the tables you're passing it
  197. 10:01as a parameters
  198. 10:04only okay makes
  199. 10:06sense and how you get to know that only
  200. 10:09these first six got passed I
  201. 10:12mean what how you get to know that okay
  202. 10:14out of 10 only first six get executed
  203. 10:17because probably it will run in parallel
  204. 10:19right so you're not very sure which one
  205. 10:21got
  206. 10:22failed so then so this we can check in
  207. 10:24our manage tab like there we have this
  208. 10:27history right so there we can get all
  209. 10:30the details of our successful pipelines
  210. 10:34and failed
  211. 10:35pipelines okay makes sense makes sense
  212. 10:39okay great now you done this now imagine
  213. 10:44that all this looks perfectly well your
  214. 10:47data get copied and
  215. 10:49all now I want you that as soon as any
  216. 10:54of my pipeline get failed you should get
  217. 10:57an email
  218. 10:59right to get to know that okay something
  219. 11:02got failed how would you do
  220. 11:05that
  221. 11:07okay uh email notification
  222. 11:11right you tell
  223. 11:14me yeah
  224. 11:16I there is just one activity where we
  225. 11:20can added this um notifications and all
  226. 11:23and we can get the
  227. 11:27notification but right now no I'm not
  228. 11:30getting it okay no worries no
  229. 11:33worries okay so imagine that email also
  230. 11:36came okay now this pretty much looks
  231. 11:41okay you okay now imagine that this
  232. 11:44email is also come I want you to run
  233. 11:47this
  234. 11:48pipeline once every day okay at
  235. 11:5312:00 central
  236. 11:55time okay Central Time us
  237. 11:59my this network was disconnected so I
  238. 12:04okay so I'm saying that
  239. 12:07imagine um you created this pipeline it
  240. 12:11is email notification you added it now
  241. 12:14this pipeline you want to execute every
  242. 12:17day
  243. 12:18one and um every day once at 12:00
  244. 12:23Central Time Zone not India time zone
  245. 12:25Central Time Zone how would you do that
  246. 12:34yeah I think there is some
  247. 12:36hiccup
  248. 12:38urashi urashi is
  249. 12:41back yes yes you heard the question or
  250. 12:44should I repeat no actually I didn't
  251. 12:47have it okay so I'll repeat the question
  252. 12:49one more time uh you did this
  253. 12:52notification everything pipeline is fine
  254. 12:55now I want to execute this pipeline once
  255. 12:57every day and 12:00 midnight Central
  256. 13:02Time Zone not India time zone Central
  257. 13:04Time Zone okay how you will configure
  258. 13:07your pipeline so that it will run in
  259. 13:09this
  260. 13:10manner okay once in a day right at
  261. 13:14Central Time
  262. 13:16Zone 12:00 Central Time Zone how would
  263. 13:20you do that
  264. 13:21okay okay so we can
  265. 13:26uh I use this um
  266. 13:30tumbling window trigger there and we can
  267. 13:33mention this time and like instead of
  268. 13:37ISD we can dare use this CSD time
  269. 13:41zone okay tumbling window is fine why
  270. 13:45you not using the schedule uh trigger
  271. 13:49why you are using tumbling window
  272. 13:50trigger any specific reason behind
  273. 13:54it
  274. 13:56uh for uh like in uming window like if
  275. 14:01tumbling window like if we want to set
  276. 14:03any dependency so that we can use this
  277. 14:06tumbling window trigger and uh
  278. 14:14uh yeah we can also use this schedule
  279. 14:18but U
  280. 14:23okay okay no worries no worries okay so
  281. 14:27imagine your
  282. 14:29triggers also got added up now it's time
  283. 14:32to move your code from your Dev
  284. 14:35environment to the uat environment for
  285. 14:38the testing how would you do
  286. 14:40that so uh we use this uh Azure devops
  287. 14:45there so we can uh like we uh we just uh
  288. 14:50move our code like we move our arm
  289. 14:54templates from da environment to our
  290. 14:56higher environment so there we have to
  291. 14:58create the PIP line and we can move from
  292. 15:01one environment to another environment
  293. 15:04okay so you're going to use the Azure
  294. 15:05devops for doing this yeah okay
  295. 15:11great then
  296. 15:13[Music]
  297. 15:15um have you ever heard about the global
  298. 15:21parameters in as you data Factory Global
  299. 15:26parameters uh yes global
  300. 15:29means we just need to create it once and
  301. 15:33then we can use it anywhere like but I
  302. 15:37haven't created it actually
  303. 15:41okay okay you were doing this deployment
  304. 15:44coming back again to deployment do you
  305. 15:46have the same workspace or you have a
  306. 15:48different workspace in a different
  307. 15:50environment how is your project
  308. 15:51structure looks like so same ADF um no
  309. 15:55no we for D environment we have one ADF
  310. 15:59like uh ADLs account and for another
  311. 16:02environment we have another account
  312. 16:06and okay for ADLs or for ADF what you're
  313. 16:11talking confirm me again for ADLs and
  314. 16:14what about the
  315. 16:16ADF ADF
  316. 16:20uh ADF yes ADF for ADF also for ADF also
  317. 16:25okay great so thank you thank you Rashi
  318. 16:29let's get to the second part of it where
  319. 16:32we do an assessment what went right what
  320. 16:34went wrong okay great so starting with
  321. 16:38is uh your project description was okay
  322. 16:43I mean I feel that it has to be a little
  323. 16:45more extensive so okay you know couple
  324. 16:48of things but you sounds a little less
  325. 16:50confident so you know a lot of things
  326. 16:52it's not like that you don't know so
  327. 16:54please you know you have a confidence so
  328. 16:59if you little low on confidence you
  329. 17:01don't see uh I mean that energy in your
  330. 17:04voice and I mean if even if your answer
  331. 17:07is right now it seems like it's wrong
  332. 17:09right so be confident be confident you
  333. 17:11know a lot of things it's not like that
  334. 17:12you don't know okay great so when you
  335. 17:16talk about your
  336. 17:17project not starting with just that we
  337. 17:20have a three layer architecture or a
  338. 17:22medallion architecture it should start
  339. 17:24with something like our project is some
  340. 17:26let's say for XY Z domain so maybe I
  341. 17:29have a banking insurance project and we
  342. 17:31are trying to build their a data
  343. 17:32platform or we are trying to build a a
  344. 17:35data system which for which we are using
  345. 17:37the three layer architecture something
  346. 17:39like that and then we we clearly talk
  347. 17:42about what is the source what is the
  348. 17:44destination and what you are doing in
  349. 17:46middle that is what has to be crystal
  350. 17:48clear so overall this is a source this
  351. 17:51is the U this what we are doing so you
  352. 17:54could be say that we are getting a data
  353. 17:56from these three different sources or
  354. 17:57four different sources and we are using
  355. 18:00ADF to pull the data then maybe we are
  356. 18:02using three layer architecture in the
  357. 18:04spark or data braks and then uh this
  358. 18:07data will be you know provided to the
  359. 18:09downstream system something like that so
  360. 18:11it's like you know end to end okay
  361. 18:14somehow and it will be easy for the
  362. 18:16interviewer also you know
  363. 18:18to uh assume it like what is going on in
  364. 18:22the project okay then uh you talked
  365. 18:26about the aure data Factory
  366. 18:30so that initial discussion was fine like
  367. 18:33how you pull the data from you know from
  368. 18:36one location to another one from you
  369. 18:39were right that two data set to link
  370. 18:41service needed to get create but try to
  371. 18:43be little bit more elaborative there
  372. 18:45that we need a link service we need a
  373. 18:48two link service one for making
  374. 18:50connection to your ADLs location and one
  375. 18:53for database so just little bit little
  376. 18:56bit elaborative that why you need this
  377. 18:58link service and you data set you said
  378. 19:01it like two data set is needed copy
  379. 19:02activity needed it's a perfectly fine
  380. 19:04answer if you want you can little bit
  381. 19:06elaborate remember interview is more
  382. 19:10about killing the time okay we try to
  383. 19:13kill the time as much as possible okay
  384. 19:15so you can be little bit elaborate okay
  385. 19:18so that can cut down extra question
  386. 19:19which might come on your way okay yes
  387. 19:23then uh I give you another scenario like
  388. 19:25how you automatically get pops up your
  389. 19:28answer was almost almost right that
  390. 19:31storage even trigger is going to be used
  391. 19:33so that it can automatically picks up
  392. 19:35the file and take that condition that
  393. 19:37was right not a problem but again you
  394. 19:40when you answering this question you
  395. 19:42were not very confident see confidence
  396. 19:45is important okay that's that's ensure
  397. 19:50that you are not putting it as a fluke
  398. 19:53sometimes people put it as like fluke
  399. 19:55you're not confident so you're not sure
  400. 19:56of it so whatever you are you know be
  401. 19:59sure of it so at least even in your
  402. 20:02heart you are not sure of it but you
  403. 20:05know pretend like that you are sure of
  404. 20:07it okay so confidence is
  405. 20:11important then uh so so far everything
  406. 20:13was right I mean it was like you were
  407. 20:15answering the question so that's why I'm
  408. 20:17saying that you have to be more
  409. 20:18confident then we talked about uh the
  410. 20:21for activity that for multiple table for
  411. 20:24each activity was fine but you got
  412. 20:26little bit fumble like where the if
  413. 20:29activity comes within the forage or
  414. 20:31outside the forage you have to whether I
  415. 20:34will ask you have to clearly picture out
  416. 20:37that okay this is how the logic is going
  417. 20:39to work okay so you have to be crystal
  418. 20:41clear so there little bit you get in
  419. 20:44doubt then you said it wrong that lookup
  420. 20:46activity has to be outside the forage so
  421. 20:50lookup activity in this case need to be
  422. 20:53inside the forage because you might be
  423. 20:55checking for every table so you are
  424. 20:58checking the the count for each and
  425. 20:59every table right any table which is
  426. 21:01having 100K plus record only then you
  427. 21:03are copying it right so this lookup
  428. 21:05activity has to be within the forage not
  429. 21:08outside the forage if it is outside
  430. 21:10forage it can check for only one table
  431. 21:13but you want to check for every table so
  432. 21:14it has to be within it okay so I'm not
  433. 21:18sure we have Twisted the some kind of
  434. 21:20you know uh yeah the scenario so be sure
  435. 21:26of it that's one thing which didn't went
  436. 21:29well okay then uh then we talked about
  437. 21:34the email uh one thing like how you know
  438. 21:38if this get uh fail this one of the
  439. 21:41table got failed and some of get passed
  440. 21:43some of didn't got pass so how you would
  441. 21:45do your answer is right that
  442. 21:47parameterization code is going to help
  443. 21:49you so I mean I would love to you know
  444. 21:54uh put it in a little different way your
  445. 21:57answer was right answer was not wrong
  446. 22:00but saying something like that that yes
  447. 22:03we know that this kind of a situation
  448. 22:05happens and when we are doing a fall
  449. 22:07Loop kind of thing that if any of the
  450. 22:09iteration got failed eventually my
  451. 22:11activity might got failed so what we can
  452. 22:13do is like we parameterize this entire
  453. 22:16pipeline okay so that rather than
  454. 22:19hardcoding passing hardcoded value is in
  455. 22:21the forage we passing it as a pipeline
  456. 22:24parameter so that and that for will take
  457. 22:27the value from the pipeline parameter
  458. 22:29and uh dynamically run it so next time
  459. 22:33if out of 10 tables we have to run it
  460. 22:34for a six tables only or a four four
  461. 22:36tables only I can rerun the pipeline
  462. 22:39just providing those only the four
  463. 22:41tables so automatically everything will
  464. 22:43get dynamically get executed again okay
  465. 22:47so answer was on the on the right side
  466. 22:51only but again full marks only will be
  467. 22:54given if you you know confidence second
  468. 22:57elaborated it properly
  469. 23:00then email notification you got off the
  470. 23:02card so email notification you are not
  471. 23:04aware of it so work on that email
  472. 23:07notification maybe like you using a
  473. 23:08logic app one way if you categorically
  474. 23:11want to send an something email or else
  475. 23:13you can send the uh set the email
  476. 23:16notification at the Azure data Factory
  477. 23:18level itself so you can go to the alerts
  478. 23:20and metrics and there you can set it uh
  479. 23:23condition that if any of the specific
  480. 23:25pipeline Go fail automatically send an
  481. 23:27email through an uh Microsoft itself
  482. 23:31okay so one way is that another one
  483. 23:33could be through a logic app so both the
  484. 23:36answers any one of them at least you can
  485. 23:38give it or you can you know U at least
  486. 23:40talk about it then when I said like how
  487. 23:44you going to schedule the pipeline you
  488. 23:46talked about the tumbling window so
  489. 23:49tumbling window trigger I mean you said
  490. 23:52it it could be good but then you added
  491. 23:54like why you using tumbling window
  492. 23:57trigger then you said that okay we have
  493. 23:59a dependency on so probably you can say
  494. 24:01that we can use a schedule event Trigger
  495. 24:04or tumbling window trigger both of them
  496. 24:05can do the work here it's not like that
  497. 24:08you can pick only one of them anyone can
  498. 24:10solve the problem uh tumbling window
  499. 24:12trigger is oneon-one so it if you have
  500. 24:14multiple pipelines eventually you end up
  501. 24:16with creating multiple tumbling window
  502. 24:17triggers um but if you have a schedu
  503. 24:20event trigger you can reuse them okay so
  504. 24:23you get take a call in tuming window
  505. 24:24trigger is not wrong but when I ask why
  506. 24:27you need it probably you need to ensure
  507. 24:29that rather than saying that dependency
  508. 24:31and all you should have said it like
  509. 24:33that I can also use the schedule event
  510. 24:35trigger also that also going to work but
  511. 24:38like we want to create a separate one
  512. 24:40that's why probably and if retry needed
  513. 24:42to be done tumbling window trigger can
  514. 24:44do the rres your answer for that setting
  515. 24:47up that time zone is also fine so that
  516. 24:50is Right Way Global parameters you're
  517. 24:52not aware of it so work on that Global
  518. 24:55parameters lastly uh
  519. 24:59that uh cicd thing so cicd thing is okay
  520. 25:03so your answer is right that we are
  521. 25:04going to use the devops and all so that
  522. 25:06is also going to work so I think overall
  523. 25:09it's fine but devops answer also you can
  524. 25:11little bit elaborative in a little
  525. 25:13better manner so overall looks like
  526. 25:15couple of things you know I mean I would
  527. 25:18say that 60 70% of the things you know
  528. 25:20you have to be more confident and just
  529. 25:21little bit when you practice little bit
  530. 25:24more so the formation of your answers
  531. 25:28would be much better that's the only
  532. 25:31thing so I think you are on the right
  533. 25:32track thank you so much okay thank you

About this transcript

This page contains the full transcript of Azure Data Engineer Mock Interview - ADF Scenario Based Special by Azurelib Academy, generated from the public captions YouTube serves with the video. The transcript has 3,783 words across 533 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.