2017-05-29 1 views

Répondre

3

Eh bien, vous avez déjà le chemin d'entrée dans une variable en haut de votre script, il suffit d'ajouter cela à l'ensemble de données en sortie. Comme ceci:

DECLARE @in = "D:/Sample/Data/{FileName}"; 

@drivers = 
    EXTRACT id string, 
      first_name string, 
      last_name string, 
      address string, 
      FileName string 
    FROM @in 
    USING USING Extractors.Csv(); 


@driverswithpath = 
    SELECT 
     *, 
     @in AS 'InputPath' 
    FROM 
     @drivers; 

OUTPUT @driverswithpath 
TO "/ReferenceGuide/DML/QSE/Extract/Drivers.txt" 
USING Outputters.Csv(); 
+0

Il a travaillé. Je vous remercie. :) –

1

Comme vous pouvez utiliser des méthodes .net sur les chaînes en U-SQL, vous pouvez utiliser la méthode Replace pour reconstruire l'ensemble filepath, quelque chose comme ceci:

DECLARE @in string = "input/{FileName}"; 

@drivers = 
    EXTRACT id string, 
      first_name string, 
      last_name string, 
      address string, 
      FileName string 
    FROM @in 
    USING Extractors.Csv(); 


@driverswithpath = 
    SELECT 
     *, 
     @in.Replace("{FileName}", FileName) AS InputPath 
    FROM 
     @drivers; 

OUTPUT @driverswithpath TO "/output/output.csv" 
USING Outputters.Csv();