{"id":789,"date":"2024-11-11T16:28:00","date_gmt":"2024-11-11T15:28:00","guid":{"rendered":"https:\/\/www.nicedata.fr\/?p=789"},"modified":"2024-11-12T11:31:23","modified_gmt":"2024-11-12T10:31:23","slug":"fabric-copy-job","status":"publish","type":"post","link":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/","title":{"rendered":"Fabric &#8211; Copy job"},"content":{"rendered":"\n<p>Il y a quelque temps, Microsoft a annonc\u00e9 un type de job particulier, les \u00ab\u00a0Copy job\u00a0\u00bb : <a href=\"https:\/\/blog.fabric.microsoft.com\/en-gb\/blog\/announcing-public-preview-copy-job-in-microsoft-fabric?ft=All\">Announcing Public Preview: Copy Job in Microsoft Fabric | Microsoft Fabric Blog<\/a>. Dans de nombreux projets, pour des raisons d&rsquo;impact sur les bases op\u00e9rationnelles, nous faisons des copies des donn\u00e9es sources pour travailler de fa\u00e7on autonome par la suite. Ce type de job est justement l\u00e0 pour traiter ce cas d&rsquo;usage et nous allons faire un petit essai sur son utilisation.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Sommaire<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#Pres_requis\" >Pr\u00e8s requis<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#Creation_du_Copy_job\" >Cr\u00e9ation du Copy job<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#Options_dalimentations\" >Options d&rsquo;alimentations<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#Schedule\" >Schedule<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#Tables_dans_le_lakehouse\" >Tables dans le lakehouse<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#Destination_fichier_dans_le_lakehouse\" >Destination fichier dans le lakehouse<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Pres_requis\"><\/span>Pr\u00e8s requis<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>En soi, le \u00ab\u00a0Copy job\u00a0\u00bb, ne demande pas de pr\u00e8s-requis. Dans cet article, nous allons cependant utiliser une source SQL Serveur OnPrem que nous allons attaquer via une passerelle de donn\u00e9e. La passerelle est la m\u00eame que celle utilis\u00e9 pour PowerBI. Si vous en avez d\u00e9j\u00e0 une, vous pouvez l&rsquo;utiliser ou en installer une : <a href=\"https:\/\/learn.microsoft.com\/en-us\/fabric\/data-factory\/how-to-access-on-premises-data\">How to access on-premises data sources in Data Factory &#8211; Microsoft Fabric | Microsoft Learn<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Creation_du_Copy_job\"><\/span>Cr\u00e9ation du Copy job<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Pour cr\u00e9er notre job de copie, nous allons ajouter un nouvel item dans notre workspace et chercher \u00ab\u00a0copy\u00a0\u00bb. Nous trouverons facilement le \u00ab\u00a0Copy job\u00a0\u00bb qui existe dans plusieurs cat\u00e9gories.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"443\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image.png?resize=1024%2C443&#038;ssl=1\" alt=\"\" class=\"wp-image-790\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image.png?resize=1024%2C443&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image.png?resize=300%2C130&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image.png?resize=768%2C333&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image.png?w=1358&amp;ssl=1 1358w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Cr\u00e9ation d&rsquo;un job de copy<\/figcaption><\/figure>\n\n\n\n<p>La premi\u00e8re \u00e9tape consiste \u00e0 nommer notre job pour le reconnaitre facilement.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"340\" height=\"268\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-1.png?resize=340%2C268&#038;ssl=1\" alt=\"\" class=\"wp-image-791\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-1.png?w=340&amp;ssl=1 340w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-1.png?resize=300%2C236&amp;ssl=1 300w\" sizes=\"auto, (max-width: 340px) 100vw, 340px\" \/><figcaption class=\"wp-element-caption\">Nommage du job de copie<\/figcaption><\/figure>\n\n\n\n<p>Nous sommes maintenant confront\u00e9s \u00e0 un wizard qui va nous permettre de configurer notre job depuis la connexion \u00e0 la donn\u00e9e source, jusqu&rsquo;\u00e0 sa destination.<\/p>\n\n\n\n<p>Pour notre cas d&rsquo;usage qui est la r\u00e9cup\u00e9ration de donn\u00e9es depuis notre SQL Server OnPrem, nous allons s\u00e9lectionner la source appropri\u00e9e qui est g\u00e9n\u00e9ralement accessible directement sur la premi\u00e8re page. Sinon, il suffit de la rechercher.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"651\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-2.png?resize=1024%2C651&#038;ssl=1\" alt=\"\" class=\"wp-image-792\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-2.png?resize=1024%2C651&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-2.png?resize=300%2C191&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-2.png?resize=768%2C488&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-2.png?w=1133&amp;ssl=1 1133w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">S\u00e9lection du type de source de donn\u00e9e \u00ab\u00a0SQL Server\u00a0\u00bb<\/figcaption><\/figure>\n\n\n\n<p>Nous allons maintenant nous connecter directement \u00e0 notre base de donn\u00e9es via la passerelle de donn\u00e9es.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"852\" height=\"732\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-3.png?resize=852%2C732&#038;ssl=1\" alt=\"\" class=\"wp-image-793\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-3.png?w=852&amp;ssl=1 852w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-3.png?resize=300%2C258&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-3.png?resize=768%2C660&amp;ssl=1 768w\" sizes=\"auto, (max-width: 852px) 100vw, 852px\" \/><figcaption class=\"wp-element-caption\">Configuration de la connexion \u00e0 la base SQL<\/figcaption><\/figure>\n\n\n\n<p>Si la connexion existe d\u00e9j\u00e0, nous pourrons la r\u00e9utiliser. Le wizard d\u00e9tectera automatiquement une connexion existante gr\u00e2ce au serveur et la base de donn\u00e9es renseign\u00e9e. Nous pourrons malgr\u00e9 tout en utiliser une nouvelle si nous voulons par exemple utiliser une autre passerelle ou un autre utilisateur.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"785\" height=\"357\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-9.png?resize=785%2C357&#038;ssl=1\" alt=\"\" class=\"wp-image-799\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-9.png?w=785&amp;ssl=1 785w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-9.png?resize=300%2C136&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-9.png?resize=768%2C349&amp;ssl=1 768w\" sizes=\"auto, (max-width: 785px) 100vw, 785px\" \/><figcaption class=\"wp-element-caption\">Utilisation d&rsquo;une connexion existante<\/figcaption><\/figure>\n\n\n\n<p>Une fois connect\u00e9s, nous nous retrouvons devant une interface assez similaire \u00e0 ce qui existe c\u00f4t\u00e9 PowerQuery, ou nous pouvons s\u00e9lectionner nos tables (et vues), tout en ayant un aper\u00e7u des donn\u00e9es pour nous aider dans notre d\u00e9cision.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-4.png?resize=1024%2C505&#038;ssl=1\" alt=\"\" class=\"wp-image-794\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-4.png?resize=1024%2C505&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-4.png?resize=300%2C148&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-4.png?resize=768%2C379&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-4.png?resize=1536%2C758&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-4.png?w=1540&amp;ssl=1 1540w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">S\u00e9lection des donn\u00e9es \u00e0 copier<\/figcaption><\/figure>\n\n\n\n<p>Apr\u00e8s avoir d\u00e9fini nos sources de donn\u00e9es, nous allons choisir la destination. Et encore une fois, si notre destination existe d\u00e9j\u00e0, il nous suffira de la s\u00e9lectionner, et sinon de la cr\u00e9er directement dans le wizard. Nous commen\u00e7ons \u00e0 peine dans l&rsquo;utilisation de Fabric et l&rsquo;extraction de donn\u00e9es, nous allons donc cr\u00e9er un nouveau Lakehouse qui correspondra \u00e0 notre zone \u00ab\u00a0Bronze\u00a0\u00bb de l&rsquo;architecture M\u00e9daillon.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-5.png?resize=1024%2C505&#038;ssl=1\" alt=\"\" class=\"wp-image-795\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-5.png?resize=1024%2C505&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-5.png?resize=300%2C148&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-5.png?resize=768%2C379&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-5.png?resize=1536%2C758&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-5.png?w=1540&amp;ssl=1 1540w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Cr\u00e9ation d&rsquo;un nouveau Lakehouse pour destination<\/figcaption><\/figure>\n\n\n\n<p>Pour notre nouveau Lakehouse, nous avons l&rsquo;opportunit\u00e9 de choisir le workspace qui l&rsquo;h\u00e9bergera. Effectivement, si les workspaces servent \u00e0 \u00ab\u00a0cloisonner\u00a0\u00bb, nos donn\u00e9es et nos d\u00e9veloppements, nous pouvons tout \u00e0 faire interagir depuis un workspace sur un autre. Ceci rel\u00e8ve d&rsquo;un choix d&rsquo;architecture et dans mon cas, je vais faire regrouper dans le m\u00eame workspace les jobs et les donn\u00e9es \u00ab\u00a0par zone\u00a0\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"324\" height=\"263\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-6.png?resize=324%2C263&#038;ssl=1\" alt=\"\" class=\"wp-image-796\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-6.png?w=324&amp;ssl=1 324w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-6.png?resize=300%2C244&amp;ssl=1 300w\" sizes=\"auto, (max-width: 324px) 100vw, 324px\" \/><\/figure>\n\n\n\n<p>Nous allons maintenant d\u00e9finir le mapping des donn\u00e9es sources vers notre destination. Etant dans un lakehouse, nous pouvons choisir d&rsquo;\u00e9crire \u00ab\u00a0simplement\u00a0\u00bb des fichiers ou directement des tables (qui seront au final des fichiers \u00ab\u00a0delta parquet\u00a0\u00bb).<\/p>\n\n\n\n<p>Nous allons ici travailler au niveau table afin de \u00ab\u00a0faciliter\u00a0\u00bb la lecture apr\u00e8s la copie. Nous avons maintenant deux niveaux de mapping disponibles. Le premier est au niveau \u00ab\u00a0table\u00a0\u00bb. Nous pouvons choisir le nom de la table de destination dans notre lakehouse.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-7.png?resize=1024%2C505&#038;ssl=1\" alt=\"\" class=\"wp-image-797\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-7.png?resize=1024%2C505&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-7.png?resize=300%2C148&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-7.png?resize=768%2C379&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-7.png?resize=1536%2C758&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-7.png?w=1540&amp;ssl=1 1540w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Mapping de la destination dans notre Lakehouse au niveau table<\/figcaption><\/figure>\n\n\n\n<p>Et nous avons le deuxi\u00e8me niveau qui nous permettra de travailler notre mapping au niveau colonne.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-8.png?resize=1024%2C505&#038;ssl=1\" alt=\"\" class=\"wp-image-798\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-8.png?resize=1024%2C505&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-8.png?resize=300%2C148&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-8.png?resize=768%2C379&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-8.png?resize=1536%2C758&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-8.png?w=1540&amp;ssl=1 1540w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Mapping de la destination dans notre Lakehouse au niveau colonne<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Options_dalimentations\"><\/span>Options d&rsquo;alimentations<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Nous pouvons maintenant choisir le mode de copie que l&rsquo;on souhaite. Avec une base SQL comme source de donn\u00e9e, nous ne pourrons pas faire du Streaming, mais nous aurons le choix entre \u00ab\u00a0Full copy\u00a0\u00bb ou \u00ab\u00a0Incremental copy\u00a0\u00bb.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Full copy<\/h4>\n\n\n\n<p>Le mode full copy fera une extraction compl\u00e8te \u00e0 chaque ex\u00e9cution sans filtres. Cela revient \u00e0 faire un snapshot lors de chaque ex\u00e9cution et nous serons libres de traiter les \u00e9volutions (ou non) dans nos zones\/\u00e9tapes suivantes.<\/p>\n\n\n\n<p>Dans ce mode de fonctionnement, il n&rsquo;y a rien \u00e0 configurer de plus.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Incremental copy<\/h4>\n\n\n\n<p>Dans ce mode, nous allons uniquement traiter les \u00ab\u00a0modifications\u00a0\u00bb de donn\u00e9es. On parle d&rsquo;alimentation incr\u00e9mentielle ou de \u00ab\u00a0delta\u00a0\u00bb. Ce mode nous permet d&rsquo;all\u00e9ger consid\u00e9rablement nos traitements, car nous n&rsquo;allons pas recharger l&rsquo;int\u00e9gralit\u00e9 de nos donn\u00e9es \u00e0 chaque ex\u00e9cution comme ce serait le cas pour le Full copy.<\/p>\n\n\n\n<p>Il existe malgr\u00e9 tout une contrainte forte lorsque l&rsquo;on travail avec de l&rsquo;incr\u00e9mental. Nous avons besoin d&rsquo;une colonne sur laquelle se baser pour d\u00e9finir la portion de donn\u00e9e \u00e0 r\u00e9cup\u00e9rer \u00e0 chaque traitement. Nous pouvons tr\u00e8s souvent utiliser une date de derni\u00e8re modification ou un num\u00e9ro de s\u00e9quence incr\u00e9mental. Dans notre exemple, les tables de WorldWideImporters comportent une colonne \u00ab\u00a0LastEditedWhen\u00a0\u00bb que nous pourrons utiliser.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-10.png?resize=1024%2C505&#038;ssl=1\" alt=\"\" class=\"wp-image-800\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-10.png?resize=1024%2C505&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-10.png?resize=300%2C148&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-10.png?resize=768%2C379&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-10.png?resize=1536%2C758&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-10.png?w=1540&amp;ssl=1 1540w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Param\u00e9trage de la copy incr\u00e9mentale<\/figcaption><\/figure>\n\n\n\n<p>Nous avons maintenant une derni\u00e8re page de revue avant de sauvegarder et de choisir si l&rsquo;on veut commencer nos transferts imm\u00e9diatement.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-12.png?resize=1024%2C505&#038;ssl=1\" alt=\"\" class=\"wp-image-802\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-12.png?resize=1024%2C505&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-12.png?resize=300%2C148&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-12.png?resize=768%2C379&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-12.png?resize=1536%2C758&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-12.png?w=1540&amp;ssl=1 1540w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Revue et validation<\/figcaption><\/figure>\n\n\n\n<p>Une fois valid\u00e9s nous arrivons sur la page principale de notre job de copie.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"318\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-11.png?resize=1024%2C318&#038;ssl=1\" alt=\"\" class=\"wp-image-803\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-11.png?resize=1024%2C318&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-11.png?resize=300%2C93&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-11.png?resize=768%2C239&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-11.png?resize=1536%2C477&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-11.png?w=1851&amp;ssl=1 1851w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Page principale du Job de copie<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Schedule\"><\/span>Schedule<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Comme nous avions laiss\u00e9 cocher le d\u00e9marrage imm\u00e9diat de nos activit\u00e9s, un Schedule a \u00e9t\u00e9 automatiquement cr\u00e9\u00e9 pour nous qu&rsquo;il va falloir modifier selon nos besoins.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"281\" height=\"191\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-13.png?resize=281%2C191&#038;ssl=1\" alt=\"\" class=\"wp-image-804\"\/><figcaption class=\"wp-element-caption\">Schedule automatiquement cr\u00e9e<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"118\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-14.png?resize=1024%2C118&#038;ssl=1\" alt=\"\" class=\"wp-image-805\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-14.png?resize=1024%2C118&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-14.png?resize=300%2C35&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-14.png?resize=768%2C89&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-14.png?resize=1536%2C177&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-14.png?w=1848&amp;ssl=1 1848w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Premiers logs d&rsquo;ex\u00e9cutions<\/figcaption><\/figure>\n\n\n\n<p>Pour changer le Schedule, rien de plus simple, il suffit d&rsquo;ouvrir le menu d\u00e9di\u00e9 et de configurer \u00e0 notre convenance. Nous pouvons aussi arr\u00eater le schedule si n\u00e9cessaire.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"572\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-15.png?resize=1024%2C572&#038;ssl=1\" alt=\"\" class=\"wp-image-806\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-15.png?resize=1024%2C572&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-15.png?resize=300%2C167&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-15.png?resize=768%2C429&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-15.png?w=1356&amp;ssl=1 1356w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Modification du schedule<\/figcaption><\/figure>\n\n\n\n<p>Il est aussi possible de lancer de fa\u00e7on unitaire le job. Et si nous avons aliment\u00e9 de nouvelles donn\u00e9es dans notre base (comme d\u00e9crit ici : <a href=\"https:\/\/www.nicedata.fr\/index.php\/2024\/05\/11\/wide-world-importers-bdd-sql\/#DonneesMortes\">Wide World Importers &#8211; BDD source du projet<\/a>) nous aurons uniquement les nouvelles donn\u00e9es de charg\u00e9s.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"375\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-16.png?resize=1024%2C375&#038;ssl=1\" alt=\"\" class=\"wp-image-809\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-16.png?resize=1024%2C375&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-16.png?resize=300%2C110&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-16.png?resize=768%2C281&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-16.png?w=1351&amp;ssl=1 1351w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">D\u00e9clenchement manuel et donn\u00e9es incr\u00e9mentales<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Tables_dans_le_lakehouse\"><\/span>Tables dans le lakehouse<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Comme d\u00e9fini pr\u00e9c\u00e9demment dans notre job, nous avons cr\u00e9\u00e9 (automatiquement) des tables dans notre lakehouse. Nous pouvons donc d\u00e8s maintenant aller les requ\u00eater via le endpoint SQL sans actions suppl\u00e9mentaire.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"303\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-20.png?resize=1024%2C303&#038;ssl=1\" alt=\"\" class=\"wp-image-813\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-20.png?resize=1024%2C303&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-20.png?resize=300%2C89&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-20.png?resize=768%2C227&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-20.png?w=1463&amp;ssl=1 1463w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Fichiers (tables) delta parquet dans notre lakehouse<\/figcaption><\/figure>\n\n\n\n<p>Malgr\u00e9 tout, nous sommes dans un lakehouse et donc tout est fichier. Nous pouvons donc aller voir directement nos fichiers parquet sous le format delta. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"270\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-21.png?resize=1024%2C270&#038;ssl=1\" alt=\"\" class=\"wp-image-814\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-21.png?resize=1024%2C270&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-21.png?resize=300%2C79&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-21.png?resize=768%2C202&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-21.png?w=1503&amp;ssl=1 1503w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Fichiers (tables) delta parquet dans notre lakehouse<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Destination_fichier_dans_le_lakehouse\"><\/span>Destination fichier dans le lakehouse<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Pour une destination lakehouse, nous avions le choix entre tables et fichiers. Si techniquement parlant tout est fichier, nous allons pouvoir voir certaines diff\u00e9rences en faisant le choix \u00ab\u00a0files\u00a0\u00bb pour notre destination.<\/p>\n\n\n\n<p>En recr\u00e9ant un copy job et utilisant la destination fichier, nous avons cette fois le choix du format de fichier. Nous avons le choix entre deux formats bien connus que sont le parquet ou le texte d\u00e9limit\u00e9 (la version g\u00e9n\u00e9rique du CSV).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"290\" height=\"129\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-23.png?resize=290%2C129&#038;ssl=1\" alt=\"\" class=\"wp-image-818\"\/><figcaption class=\"wp-element-caption\">Choix du format de fichier<\/figcaption><\/figure>\n\n\n\n<p>En choisissant le format d\u00e9limit\u00e9, nous aurons quelques options propos\u00e9es pour les d\u00e9limiteurs de colonnes et de lignes, mais pas moyen de faire du compl\u00e8tement sp\u00e9cifique (pour le moment ?). <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"298\" height=\"217\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-24.png?resize=298%2C217&#038;ssl=1\" alt=\"\" class=\"wp-image-819\"\/><figcaption class=\"wp-element-caption\">Options du  format de fichier d\u00e9limit\u00e9<\/figcaption><\/figure>\n\n\n\n<p>Pour le format parquet, nous aurons simplement le choix de la compression et de l&rsquo;utilisation (ou non) de l&rsquo;optimisation \u00ab\u00a0V-Order\u00a0\u00bb<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"284\" height=\"154\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-25.png?resize=284%2C154&#038;ssl=1\" alt=\"\" class=\"wp-image-820\"\/><figcaption class=\"wp-element-caption\">Options du  format de fichier parquet<\/figcaption><\/figure>\n\n\n\n<p>J&rsquo;utilise personnellement le format parquet qui est plut\u00f4t efficace pour tout travail avec Spark.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"498\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-19.png?resize=1024%2C498&#038;ssl=1\" alt=\"\" class=\"wp-image-812\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-19.png?resize=1024%2C498&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-19.png?resize=300%2C146&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-19.png?resize=768%2C373&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-19.png?w=1144&amp;ssl=1 1144w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Cr\u00e9ation d&rsquo;un job avec une destination en fichier<\/figcaption><\/figure>\n\n\n\n<p>Une fois ex\u00e9cut\u00e9s, nous pourrons cette fois retrouver nos fichiers dans le r\u00e9pertoire \u00ab\u00a0Files\u00a0\u00bb de notre lakehouse dans le chemin indiqu\u00e9 dans notre configuration.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"259\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-22.png?resize=1024%2C259&#038;ssl=1\" alt=\"\" class=\"wp-image-815\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-22.png?resize=1024%2C259&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-22.png?resize=300%2C76&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-22.png?resize=768%2C194&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/image-22.png?w=1520&amp;ssl=1 1520w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Fichiers parquet dans le lakehouse<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Je n&rsquo;ai pas (encore) beaucoup d&rsquo;exp\u00e9rience sur le calcul de CU donc je n&rsquo;ai pas de points de rep\u00e8re. Il sera int\u00e9ressent de faire des comparaisons avec d&rsquo;autres m\u00e9thodes de copie de donn\u00e9es et de les mettre en perspectives du temps de d\u00e9veloppement et de maintenance n\u00e9cessaire \u00e0 la mise en place de ces \u00ab\u00a0copy job\u00a0\u00bb.<\/p>\n\n\n\n<p>Globalement l&rsquo;exp\u00e9rience est tr\u00e8s fluide pour faire de la \u00ab\u00a0simple\u00a0\u00bb copie de donn\u00e9e, cependant la nature propre de ces jobs emp\u00eache la param\u00e9trisation \u00e0 outrance et donc l&rsquo;externalisation de la configuration des sources comme j&rsquo;ai pu le faire avec Synapse dans l&rsquo;article suivant : <a href=\"https:\/\/www.nicedata.fr\/index.php\/2022\/08\/19\/parametrer-les-pipeline-azure-synapse-analytics-sans-ouvrir-synapse\/\">Param\u00e9trer les Pipeline Azure Synapse Analytics sans ouvrir Synapse !<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il y a quelque temps, Microsoft a annonc\u00e9 un type de job particulier, les \u00ab\u00a0Copy job\u00a0\u00bb. Dans de nombreux projets, pour des raisons d&rsquo;impact sur les bases op\u00e9rationnelles, nous faisons des copies des donn\u00e9es sources pour travailler de fa\u00e7on autonome par la suite. Ce type de job est justement l\u00e0 pour traiter ce cas d&rsquo;usage et nous allons faire un petit essai sur son utilisation.<\/p>\n","protected":false},"author":2,"featured_media":826,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[7,83],"tags":[32,84,36],"class_list":["post-789","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-experiences","category-microsoft-fabric","tag-datalake","tag-microsoft-fabric","tag-on-prem"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fabric - Copy job - NiceData<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fabric - Copy job - NiceData\" \/>\n<meta property=\"og:description\" content=\"Il y a quelque temps, Microsoft a annonc\u00e9 un type de job particulier, les &quot;Copy job&quot;. Dans de nombreux projets, pour des raisons d&#039;impact sur les bases op\u00e9rationnelles, nous faisons des copies des donn\u00e9es sources pour travailler de fa\u00e7on autonome par la suite. Ce type de job est justement l\u00e0 pour traiter ce cas d&#039;usage et nous allons faire un petit essai sur son utilisation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/\" \/>\n<meta property=\"og:site_name\" content=\"NiceData\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-11T15:28:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-12T10:31:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/FabricCopieJob.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1282\" \/>\n\t<meta property=\"og:image:height\" content=\"722\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jean-Laurent Ferralis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JLFerralis\" \/>\n<meta name=\"twitter:site\" content=\"@JLFerralis\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jean-Laurent Ferralis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/\"},\"author\":{\"name\":\"Jean-Laurent Ferralis\",\"@id\":\"https:\/\/www.nicedata.fr\/#\/schema\/person\/8d1ad38004d3b0cf6bff7c200c795e19\"},\"headline\":\"Fabric &#8211; Copy job\",\"datePublished\":\"2024-11-11T15:28:00+00:00\",\"dateModified\":\"2024-11-12T10:31:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/\"},\"wordCount\":1538,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.nicedata.fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/FabricCopieJob.png?fit=1282%2C722&ssl=1\",\"keywords\":[\"datalake\",\"Microsoft Fabric\",\"On-Prem\"],\"articleSection\":[\"Exp\u00e9riences\",\"Microsoft Fabric\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/\",\"url\":\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/\",\"name\":\"Fabric - Copy job - NiceData\",\"isPartOf\":{\"@id\":\"https:\/\/www.nicedata.fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/FabricCopieJob.png?fit=1282%2C722&ssl=1\",\"datePublished\":\"2024-11-11T15:28:00+00:00\",\"dateModified\":\"2024-11-12T10:31:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/FabricCopieJob.png?fit=1282%2C722&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/FabricCopieJob.png?fit=1282%2C722&ssl=1\",\"width\":1282,\"height\":722,\"caption\":\"Fabric copy job\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.nicedata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fabric &#8211; Copy job\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.nicedata.fr\/#website\",\"url\":\"https:\/\/www.nicedata.fr\/\",\"name\":\"NiceData\",\"description\":\"L&#039;expertise Data du sud\",\"publisher\":{\"@id\":\"https:\/\/www.nicedata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.nicedata.fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.nicedata.fr\/#organization\",\"name\":\"NiceData\",\"url\":\"https:\/\/www.nicedata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.nicedata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/NICE-DATA_JLFMod.webp?fit=2493%2C1249&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/NICE-DATA_JLFMod.webp?fit=2493%2C1249&ssl=1\",\"width\":2493,\"height\":1249,\"caption\":\"NiceData\"},\"image\":{\"@id\":\"https:\/\/www.nicedata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/JLFerralis\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.nicedata.fr\/#\/schema\/person\/8d1ad38004d3b0cf6bff7c200c795e19\",\"name\":\"Jean-Laurent Ferralis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/3cbfdae273d44fb82b902a3451eb0db37485119e34cb70c1fdd186c9b731b9f3?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3cbfdae273d44fb82b902a3451eb0db37485119e34cb70c1fdd186c9b731b9f3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3cbfdae273d44fb82b902a3451eb0db37485119e34cb70c1fdd186c9b731b9f3?s=96&d=mm&r=g\",\"caption\":\"Jean-Laurent Ferralis\"},\"description\":\"French Data Professionnal - BI consultant and #sql lover. I also #swimbikerun when possible ! Living in @villedenice\",\"sameAs\":[\"http:\/\/xp-it.com\"],\"url\":\"https:\/\/www.nicedata.fr\/index.php\/author\/jlf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fabric - Copy job - NiceData","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/","og_locale":"fr_FR","og_type":"article","og_title":"Fabric - Copy job - NiceData","og_description":"Il y a quelque temps, Microsoft a annonc\u00e9 un type de job particulier, les \"Copy job\". Dans de nombreux projets, pour des raisons d'impact sur les bases op\u00e9rationnelles, nous faisons des copies des donn\u00e9es sources pour travailler de fa\u00e7on autonome par la suite. Ce type de job est justement l\u00e0 pour traiter ce cas d'usage et nous allons faire un petit essai sur son utilisation.","og_url":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/","og_site_name":"NiceData","article_published_time":"2024-11-11T15:28:00+00:00","article_modified_time":"2024-11-12T10:31:23+00:00","og_image":[{"width":1282,"height":722,"url":"https:\/\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/FabricCopieJob.png","type":"image\/png"}],"author":"Jean-Laurent Ferralis","twitter_card":"summary_large_image","twitter_creator":"@JLFerralis","twitter_site":"@JLFerralis","twitter_misc":{"\u00c9crit par":"Jean-Laurent Ferralis","Dur\u00e9e de lecture estim\u00e9e":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#article","isPartOf":{"@id":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/"},"author":{"name":"Jean-Laurent Ferralis","@id":"https:\/\/www.nicedata.fr\/#\/schema\/person\/8d1ad38004d3b0cf6bff7c200c795e19"},"headline":"Fabric &#8211; Copy job","datePublished":"2024-11-11T15:28:00+00:00","dateModified":"2024-11-12T10:31:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/"},"wordCount":1538,"commentCount":0,"publisher":{"@id":"https:\/\/www.nicedata.fr\/#organization"},"image":{"@id":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/FabricCopieJob.png?fit=1282%2C722&ssl=1","keywords":["datalake","Microsoft Fabric","On-Prem"],"articleSection":["Exp\u00e9riences","Microsoft Fabric"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/","url":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/","name":"Fabric - Copy job - NiceData","isPartOf":{"@id":"https:\/\/www.nicedata.fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#primaryimage"},"image":{"@id":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/FabricCopieJob.png?fit=1282%2C722&ssl=1","datePublished":"2024-11-11T15:28:00+00:00","dateModified":"2024-11-12T10:31:23+00:00","breadcrumb":{"@id":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#primaryimage","url":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/FabricCopieJob.png?fit=1282%2C722&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/FabricCopieJob.png?fit=1282%2C722&ssl=1","width":1282,"height":722,"caption":"Fabric copy job"},{"@type":"BreadcrumbList","@id":"https:\/\/www.nicedata.fr\/index.php\/2024\/11\/11\/fabric-copy-job\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.nicedata.fr\/"},{"@type":"ListItem","position":2,"name":"Fabric &#8211; Copy job"}]},{"@type":"WebSite","@id":"https:\/\/www.nicedata.fr\/#website","url":"https:\/\/www.nicedata.fr\/","name":"NiceData","description":"L&#039;expertise Data du sud","publisher":{"@id":"https:\/\/www.nicedata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nicedata.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.nicedata.fr\/#organization","name":"NiceData","url":"https:\/\/www.nicedata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.nicedata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/NICE-DATA_JLFMod.webp?fit=2493%2C1249&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/NICE-DATA_JLFMod.webp?fit=2493%2C1249&ssl=1","width":2493,"height":1249,"caption":"NiceData"},"image":{"@id":"https:\/\/www.nicedata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/JLFerralis"]},{"@type":"Person","@id":"https:\/\/www.nicedata.fr\/#\/schema\/person\/8d1ad38004d3b0cf6bff7c200c795e19","name":"Jean-Laurent Ferralis","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/3cbfdae273d44fb82b902a3451eb0db37485119e34cb70c1fdd186c9b731b9f3?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/3cbfdae273d44fb82b902a3451eb0db37485119e34cb70c1fdd186c9b731b9f3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3cbfdae273d44fb82b902a3451eb0db37485119e34cb70c1fdd186c9b731b9f3?s=96&d=mm&r=g","caption":"Jean-Laurent Ferralis"},"description":"French Data Professionnal - BI consultant and #sql lover. I also #swimbikerun when possible ! Living in @villedenice","sameAs":["http:\/\/xp-it.com"],"url":"https:\/\/www.nicedata.fr\/index.php\/author\/jlf\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/FabricCopieJob.png?fit=1282%2C722&ssl=1","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/posts\/789","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=789"}],"version-history":[{"count":12,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/posts\/789\/revisions"}],"predecessor-version":[{"id":835,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/posts\/789\/revisions\/835"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/media\/826"}],"wp:attachment":[{"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=789"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=789"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=789"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}