general comment
78 TopicsWhat are the best practices for building ETL pipelines in Microsoft Fabric Data Factory?
Hi everyone, I'm currently learning Microsoft Fabric and exploring Data Factory for ETL and data integration. I'd like to understand how experienced users design efficient and maintainable pipelines. I have a few questions: How do you organize pipelines in a real-world Fabric project? When do you prefer Data Factory over Spark notebooks for data transformation? What are some best practices for handling pipeline failures and monitoring? How do you manage incremental data loads instead of full refreshes? Are there any common mistakes that beginners should avoid? I'd appreciate any advice, examples, or resources that have helped you. Thank you!Solved224Views0likes3CommentsInvoke Pipeline Returns "Could not found the requested item"
I'm having issues with the Invoke Pipeline(Preview) activity where I am getting the error {"requestId":"e9e54d07-8d30-4de4-b3f4-3be3ad15a476","errorCode":"ItemNotFound","message":"Could not found the requested item"} To test this issue, I set up a: A pipeline with the only activity in it being Invoke Pipeline(Preview) No parameters - The original pipeline I set up had parameters and I was getting the same error code so I tried to remove it to see if it was a parameter issue A child pipeline with the only activity in it to Get Metadata for a table in a lakehouse No parameters This pipeline will successfully run on its own When I run #1 I get the error message {"requestId":"e9e54d07-8d30-4de4-b3f4-3be3ad15a476","errorCode":"ItemNotFound","message":"Could not found the requested item"} however I'm not sure why the Item would not be found since I was able to specify it. I am attaching my configuration settings as screenshots to this post. Did I miss something in the Invoke Pipeline settings? Parent Pipeline Child PipelineSolved4.5KViews0likes6CommentsHow to automatically switch database connections when deploying Data Pipeline from Dev to QA
Body: Hello Community, I am working with Microsoft Fabric workspaces and facing an issue during deployment. Scenario: I deployed a workspace from Dev to QA. The workspace includes a Data Pipeline. After deployment, the pipeline’s Lookup activity and the pipeline database connection are still pointing to the Dev database connection. Problem: Currently, I have to manually update the database connection in the Lookup activity and Data Pipeline after every deployment. Expectation: I would like to configure Deployment Rules (or any other supported mechanism) so that during deployment, the pipeline and lookup automatically point to the correct QA database connection instead of Dev. Question: Is there a supported way to parameterize database connections in Data Pipelines during workspace deployment? Or is this a current limitation of Fabric Deployment Rules? Any guidance or workaround will be very helpful. Labels: Data Factory, Administration, General DiscussionSolved4.7KViews0likes8CommentsEvolving the ADF to Fabric migration experience
Hi team, When working with Azure Data Factory and moving into Microsoft Fabric, the new “migration” experience is a really interesting step forward. It helps bring both worlds closer and makes the transition smoother. After trying it out, I’ve seen that it opens up a lot of possibilities, and it’s great to see that we can also propose ideas to continue improving it. In this context, I’ve shared an idea that I believe could bring even more value. Right now, the experience allows you to connect and integrate existing ADF assets into Fabric, which is very helpful to start working within the ecosystem. As a next step, it could be interesting to move towards a deeper integration where: Assets are fully integrated into Fabric They are executed from Fabric And their consumption can be associated with Fabric capacity Additionally, it could be valuable to give customers the flexibility to choose where the cost is allocated (Fabric or Azure), enabling a more gradual adoption. This is a small evolution on top of what already exists, but it could make a big difference in how the experience aligns with different adoption scenarios. If this idea resonates with you, you can vote for it here: https://lnkd.in/ejT9QSRj And if you find it useful, I would really appreciate your support with a like on the comment and voting for the idea. This helps increase visibility and gives it a better chance to evolve.499Views2likes1CommentMicrosoft Fabric - Edit the Connection Properties
Hi Team, I am using the Microsoft Fabric and created the on Premise Gateway and created the ODBC connections which are used in the pipelines. Now my On Premise Gateway and ODBC DSN has changed. So I want to Edit my existing connection to repoint my ODBC DSN & On Premise Gateway. But in connection level there is no option to edit these properties. Its allowing only to edit the Username & Password. Can you please confirm, any other way to change the existing connection or only option is create a new connection and all the pipeline level need to point my new connection. Regards, Sathish KumarSolved3.1KViews0likes8CommentsIncremental File Ingestion from NFS to LakeHouse using Microsoft Fabric Data Factory
I have an NFS drive containing multiple levels of nested folders. I intend to identify the most recently modified files across all directories recursively and copy only last modifed files into a LakeHouse. I am seeking guidance on the recommended approach to implement this file copy operation using Microsoft Fabric Data Factory. An example of a source file path is: 1. \\XXX.XX.XXX.XXX\PROTOCOLS\ACTVAL\1643366695194009_SGM-3\221499200020\__NOPROGRAM___10004457\20240202.HTM 2. \\XXX.XX.XXX.XXX\PROTOCOLS\ACTVAL\1643366695194009_SGM-3\221499810020\__NOPROGRAM___10003395\20240202.HTM 3. \\XXX.XX.XXX.XXX\PROTOCOLS\ACTVAL\1760427099988857_P902\__NOORDER__\__NOPROGRAM_____NOMOLD__\20251014.HTMSolved1.5KViews0likes4CommentsUserErrorSourceNotSeekable
Hi , im getting error while runnin the pipeline , where i selected the http as an option which i pasted the zip link in the source Failure typeUser configuration issue Details ErrorCode=UserErrorSourceNotSeekable,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Your HttpServer source doesn't support random read which is required by current copy activity setting. Please create two copy activities to work around it: the first copy activity will binary copy your HttpServer source to a staging file store (like Azure Blob, Azure Data Lake, File, etc.), the second copy activity copies from this staged file store to your destination with current settings.,Source=Microsoft.DataTransfer.ClientLibrary,' Thank you Naveen YedlaSolved2KViews0likes5CommentsIs the pricing of Fabric pipeline data copy activities incorrect?
Hi all, here are some tests and questions regarding the pricing of data copy activities within Fabric pipelines. tldr; I'd like to know your opinion about the pricing of data copy activities. In my opinion, the consumption of pipeline data copy tasks is not billed correctly. Almost all operations are measured with the same number of CUs, independent of the duration and optimization. This leads into the conclusion that optimizing the data copy activities does not have a real impact to billing but reducing the number of elements absolutely has. What did I test? I did some investigations on a Fabric pipeline with a copy data task loading 12 tables from a test database to parquet. The copy data task is executed within a ForEach loop. The target was to investigate how we can optimize the CU usage of copy data tasks. What does Microsoft say? According to the pricing page of fabric pipelines, the following statement is written for “Data Movement” tasks (copy data activity): Data Movement service for Copy activity runs. You are charged based on the Capacity Units consumed during the Copy activity execution duration. In the price breakdown on how the “Data movement” is charged, Microsoft states that the metrics are… Based on Copy activity run duration in hours and the used intelligent optimization throughput resources Source: Pricing for data pipelines - Microsoft Fabric | Microsoft Learn, 18.12.2024 But, what is “intelligent optimization”? According to Microsoft’s “Copy activity performance and scalability guide” there are several things to consider like the parallel copy for partitioned sources or the intelligent throughput optimization. Source: Copy activity performance and scalability guide - Microsoft Fabric | Microsoft Learn So I made three tests with different settings, changing the intelligent throughput optimization setting (use Max vs Auto) and comparing it against setting the batch count in the ForEach loop to 6. The batch count has a lot of impact to the duration, but the “ITO” setting does not: Let’s have a look at the consumed CUs in the Fabric Metrics App: All pipelines are charged the same. If we go deeper into the detail, we can check how many CUs are used by the single activities. According to Microsoft’s pricing calculation, the duration of the operations is important for the calculation of the costs: https://learn.microsoft.com/en-us/fabric/data-factory/pricing-pipelines That means that the duration should have direct impact to the CU calculation and costs. If we have a look at the single operations, they all have 360 CUs, independent of the runtime: Not what I expected. Taking the next statement out of a blog post here, this is also what I assume for the calculation: In my eyes: 1.5 CU per hour gives 0,0004166 CU per second. Say 30 s duration. 30 * 0,0004166 = 0,0125. Now how many intelligent optimization throughput resources are used? Was set to auto, so unclear. But even assuming a maximum of 256, we only get 256 * 0,0125 = 3,2 CU (s). Far from listed 360! Source: Solved: Minimum CU (s) billing per copy? Or am I just bad ... - Microsoft Fabric Community Let’s have a look at a real-life scenario up and running at a customer. If we check the correlation between duration of the operation and CUs, we actually see that almost all data movement operations have 360 CUs! Actually, 99% of the operations at the customer result in 360 CUs. If I look at the duration at least the operations with higher CUs are also “long-running” ones: Here we see another thing: It seems that the CUs are calculated in 360-steps (maybe this is linked to a time calculation in seconds somehow ((60*60)/10)? Questions Is this calulation of consumption expected and intended (by Microsoft)? Am I doing the calculation right, or do I oversee something? What could a possible best-practice be if you have lot of tables to copy with a rather small amount of data? Other sources Confused by CU-seconds calculation - Microsoft Fabric Community3.1KViews2likes2CommentsDWCopyCommandOperationFailed String or binary data would be truncated while reading column of type
I got this in a Fabric pipeline going from an Azure Managed Instance SQL Server to a Fabric Warehouse. The problem turned out to be the default collation of the SQL Server of SQL_Latin1_General_CP1_CI_AS being converted to the Fabric Warehouse (at this time only supported) default collation of Latin1_General_100_BIN2_UTF8. https://learn.microsoft.com/en-us/fabric/data-warehouse/tables#collation I used the "Auto create table" option. One specific example, for me, was the en-dash (the shorter dash) character. The below was run in SSMS 19.3. On collation SQL_Latin1_General_CP1_CI_AS in SQL Server ASCII ('–') = 150 DATALENGTH ('–') = 1 On collation Latin1_General_100_BIN2_UTF8 ASCII ('–') = 226 DATALENGTH ('–') = 3 The original column in SQL Server was varchar(20). So, the pipeline created a new table with the column as varchar(20). On the source SQL Server, the value did take up all 20 bytes of the varchar(20). So when copying the data over, changing the collation caused the pipeline to fail with the error: ErrorCode=DWCopyCommandOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message='DataWarehouse' Copy Command operation failed with error ''String or binary data would be truncated while reading column of type 'VARCHAR(20)'. Check ANSI_WARNINGS option. Underlying data description: file 'https://.../MSSQLImportCommand/...parquet', column '...'. Truncated value: '...'. If I manually created the table on the Fabric Warehouse and made the column varchar(21) instead of varchar(20), the data would fit. Doing so, the DATALENGTH of the value in the column would now say 21 in the collation Latin1_General_100_BIN2_UTF8. When I changed the pipeline to point to a Lakehouse table, the column was auto-created as varchar (8000).Solved3.7KViews1like2CommentsGetting 400 Error while preview the lookup activity
Hi, I am facing an issue while previewing the lookup activity — it shows a 400 error. However, when I run the procedure alone, it works fine, and another lookup activity is also working. For reference, I have attached a screenshot below.Solved2.9KViews1like12Comments