Est-il possible d'obtenir le fichier "chemin complet" du code u-SQL suivant, tout comme la colonne du nom de fichier? De la requête u-sql ci-dessus, je suis en mesure d'obtenir le nom de fichier, mais je veux également le chemin complet du fichier. Comme "D:/Sample/Data"Comment obtenir le chemin complet du fichier dans la requête U-SQL
2
A
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();
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();
Il a travaillé. Je vous remercie. :) –