Exam DP-203 All QuestionsBrowse all questions from this exam
Question 134

DRAG DROP -

You need to create an Azure Data Factory pipeline to process data for the following three departments at your company: Ecommerce, retail, and wholesale. The solution must ensure that data can also be processed for the entire company.

How should you complete the Data Factory data flow script? To answer, drag the appropriate values to the correct targets. Each value may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.

NOTE: Each correct selection is worth one point.

Select and Place:

    Correct Answer:

    The conditional split transformation routes data rows to different streams based on matching conditions. The conditional split transformation is similar to a CASE decision structure in a programming language. The transformation evaluates expressions, and based on the results, directs the data row to the specified stream.

    Box 1: dept=='ecommerce', dept=='retail', dept=='wholesale'

    First we put the condition. The order must match the stream labeling we define in Box 3.

    Syntax:

    split(

    ...

    disjoint: {true | false}

    ) ~> @(stream1, stream2, ..., )

    Box 2: discount : false -

    disjoint is false because the data goes to the first matching condition. All remaining rows matching the third condition go to output stream all.

    Box 3: ecommerce, retail, wholesale, all

    Label the streams -

    Reference:

    https://docs.microsoft.com/en-us/azure/data-factory/data-flow-conditional-split

Discussion
Alekx42

I think "disjoint" should be True, so that data can be sent to all matching conditions. In this way the "all" output can get the data from every department, which ensures that "data can also be processed by the entire company".

jed_elhak

yes it's True :Disjoint=True

gssd4scoder

agree with you, disjount = true

MrityunjayPrabhat

All is not defined in split so it has to be false. Refer https://docs.microsoft.com/en-us/azure/data-factory/data-flow-conditional-split#:~:text=CleanData%0A%20%20%20%20split(%0A%20%20%20%20%20%20%20%20year%20%3C%201960%2C%0A%09%20%20%20%20year%20%3E%201980%2C%0A%09%20%20%20%20disjoint%3A%20false%0A%20%20%20%20)%20~%3E%20SplitByYear%40(moviesBefore1960%2C%20moviesAfter1980%2C%20AllOtherMovies)

kkk5566

disjoint is false because the data goes to the first matching condition rather than all matching conditions.

DataSaM

Disagree, all is like an else

mayank

As per the link provided in the explanation disjoint:false looks correct. I believe you must go through the link https://docs.microsoft.com/en-us/azure/data-factory/data-flow-conditional-split and choose you answer for disjoint wisely . I will go with "False"

dev2dev

you also need to read question to understand requirement. I will choose disjoint: true

auwia

From the link you've posted: disjoint is false because the data goes to the first matching condition rather than all matching conditions. So the correct answer is True, considering we have to "duplicate" records for the ALL category.

Aslam208

Given answer is 100% correct

markpumc

disjoin = true if you want all , if disjoint = false, nothing in ALL split

DindaS

disjoint=false The below example is a conditional split transformation named SplitByYear that takes in incoming stream CleanData. This transformation has two split conditions year < 1960 and year > 1980. disjoint is false because the data goes to the first matching condition rather than all matching conditions. Every row matching the first condition goes to output stream moviesBefore1960. All remaining rows matching the second condition go to output stream moviesAFter1980. All other rows flow through the default stream AllOtherMovies. from https://learn.microsoft.com/en-us/azure/data-factory/data-flow-conditional-split

kkk5566

False is correct

bakamon

CleanData split(dept==‘ecommerce’, dept==‘retail’, dept==‘wholesale’) ~> SplitByDept@(disjoint: false) This will split the data by department and allow for processing of data for the entire company as well as for individual departments.

bakamon

The disjoint option in a split transformation determines whether the output streams are mutually exclusive or not. If disjoint is set to true, then each row of data can only be sent to one output stream. If disjoint is set to false, then a single row of data can be sent to multiple output streams. In this case, setting disjoint to false allows for data to be processed for the entire company as well as for individual departments. This means that a single row of data can be sent to multiple output streams, allowing for processing at both the department and company level.

nadahef

Given answer correct

Maddhy

The given answer is 100000% crct, don't confuse with others

kiranSargar

Everyone is discussing about disjoint. But if disjoint is true then there is no ordering required of ecommerce,retail,wholesale, all .so we can fill 1st option with 2 or 3 and 3rd option with 1 or 6.

Andushi

Definetely Disjoint=Trues as per Microsoft doc

kilowd

Answer: Disjoint=False https://docs.microsoft.com/en-us/azure/data-factory/data-flow-conditional-split Example The below example is a conditional split transformation named SplitByYear that takes in incoming stream CleanData. This transformation has two split conditions year < 1960 and year > 1980. disjoint is false because the data goes to the first matching condition. Every row matching the first condition goes to output stream moviesBefore1960. All remaining rows matching the second condition go to output stream moviesAFter1980. All other rows flow through the default stream AllOtherMovies.

kilowd

Disjoint = True If true then split on all matching conditions, if false then only split on the first matching condition.

Onobhas01

The example has true as the data matches only one condition, it's either before 1960, after 1980 or Else... no two dataset matches more than one condition. But in the question they match more than one condition so disjoint has to be true.

Onobhas01

sorry I meant to start off by saying "The example has false"

evangelist

disjoint: true: If set to true, the row will be sent to all matching conditions. This means that a single row can appear in multiple output streams if it matches multiple conditions. disjoint: false: If set to false, the row will be sent to the first matching condition only. Once a row matches a condition, it will not be evaluated against subsequent conditions.

alphilla

Guys Disjoint is True 110% and I will tell you why. disjoint: false means that rows will be directed to the first branch whose condition is satisfied, and subsequent conditions are ignored. This might not fulfill the requirement because you want to process data for multiple departments, and with disjoint: false, a row would go to the first department branch it satisfies, ignoring the other departments. Disjoint TRUE is more appropriate because it fulfills the requirement of processing data for individual departments (Ecommerce, retail, and wholesale) while also handling data for the entire company. Because all rows will match 2 conditions: 1st conditon. They will have one of the three depts 2nd Condition. They will match the all condition That's why it MUST BE TRUE.

orionduo

I think the disjoint should be 'False' By setting "disjoint true" for activities in a pipeline, you are essentially indicating that these activities are independent and can be executed concurrently. This can help improve the overall performance and efficiency of the pipeline by allowing for parallel execution of activities that do not have any interdependencies.

DPMishra

Disjoint=False

nefarious_smalls

I think it should be disjoint is True based on microsofts example. it states that when disjoint is false each row will only go to the first matching condition. However in the example I believe each row will go to its matching department plus an aggregate stream that takes in every value regardless. Hence disjoint should be true