0

Je remplis un entrepôt de données azur avec ADF et je dois préparer une opération d'insertion/mise à jour incrémentielle. Ma source peut contenir des données déjà chargées dans DW. Je dois donc vérifier si les données sont chargées et effectuer une opération. Fondamentalement, l'idée est d'aller chercher des données tous les jours au cours des 7 derniers jours au cas où quelqu'un mettrait à jour des données historiques. Au début, j'ai essayé d'utiliser l'activité de copie avec une requête personnalisée sur la source puis sur la destination en utilisant une procédure stockée qui vérifie par clé métier si l'enregistrement existe déjà et effectue une insertion ou une mise à jour. Mais je ne trouve pas comment traiter les résultats de la ligne de requête source par ligne et la passer à SP.Chargement de données vers Azure DW à l'aide d'Azure Data Factory

Quelle serait la meilleure approche qui conviendrait à mon cas? Fondamentalement, je suis à la recherche de SSIS intérieur nuage d'azur

Répondre

0

Vous devez débarquer les données chargées dans quelque chose comme première base de données SQL (si vous n'êtes pas déjà). Ensuite, utilisez une procédure stockée sur cela pour produire le comportement de style de fusion et traiter avec la fenêtre de 7 jours. Par exemple:

{ 
"name": "SprocActivitySamplePipeline", 
"properties": { 
    "activities": [ 
    { 
    "type": "SqlServerStoredProcedure", 
    "typeProperties": { 
     "storedProcedureName": "sp_sample", 
     "storedProcedureParameters": { 
      "DateTime": "$$Text.Format('{0:yyyy-MM-dd HH:mm:ss}', SliceStart)" 
     } 
    } 

Source: https://docs.microsoft.com/en-us/azure/data-factory/data-factory-stored-proc-activity

Dans ce cas, l'entrée ADF et des ensembles de données de sortie peuvent être des tables relationnelles dans la base de données.

ADF n'est pas SSIS, malheureusement. Mais si vous voulez le comparer, pensez plutôt au flux de contrôle SSIS, plutôt qu'au flux de données et au moteur ETL.

Vous aurez donc besoin d'une chaîne d'activités pour faire ce dont vous avez besoin. Dans votre capture d'écran ci-dessus vous avez déjà SQL DB comme source, donc je suis un peu confus quant à ce que le problème est réellement.

Peut-être exécuter le processus sur les données dans SQL DB d'abord dans une zone intermédiaire. Puis à la copie à SQL DW.

Espérons que cela aide.