J'essaie d'extraire un nom de dossier du magasin data lake
et de l'afficher en tant que colonne dans le fichier csv
. Existe-t-il un moyen d'extraire le nom entier du dossier ou des parties du nom de dossier via USQL
? Par exemple /input/Testing
- Je veux le Testing
.USQL, extraire le nom de fichier en sortie
Je sais que vous pouvez extraire le nom du fichier et le mettre dans une colonne virtuelle comme ceci:
// Filesets, file set with virtual column
@q =
EXTRACT rowId int,
filename string,
extension string
FROM "/input/filesets example/{filename}.{extension}"
USING Extractors.Tsv();
@output =
SELECT filename,
extension,
COUNT(*) AS records
FROM @q
GROUP BY filename,
extension;
OUTPUT @output TO "/output/output.csv"
USING Outputters.Csv();
Avoir un prédicat sur la colonne virtuelle pour s'assurer que vous obtenez seulement le dossier que vous voulez, par exemple 'WHERE dossier ==" yourFolder ";' – wBob
Quand j'essaye d'exécuter le code ci-dessus, il indique que le 'dossier' de colonne virtuelle n'est pas défini dans l'instruction EXTRACT . – FutureTony
Lorsque j'essaie d'exécuter le code ci-dessus, j'ai ajouté une chaîne de dossier dans l'instruction extract et mes résultats sont revenus avec une entrée vide. – FutureTony