2017-10-06 5 views
0

J'ai un tas de fichiers HTML dans mon Data Lake Store et je voudrais obtenir leur code source complet dans une table (une seule colonne avec le code de tous les fichiers, le format de sortie ne me concerne pas, mais probablement tsv). Je ne peux pas trouver un moyen d'utiliser les extracteurs standard ou quoi que ce soit sur le web qui fonctionne pour moi. Dois-je écrire un extracteur personnalisé pour cela?Extraction de fichiers U-SQL contenu complet (extraction du code source complet à partir de fichiers html)

J'ai essayé les Extractors.Tsv() et Extractors.Text() avec tout un tas de délimiteurs. J'ai d'abord essayé:

@data = 
EXTRACT source string 
FROM "<MY DIRECTORY IN ADL>" 
USING Extractors.Text(delimiter:''); 

Ce ne fonctionnait pas comme il semble que ne pas avoir pas delimiter, mais aussi quand j'ai essayé d'utiliser délimiteurs qui ne sont pas dans les fichiers html il n'a pas entraînez.

Quelqu'un a-t-il une idée de ce qu'il faut faire? Il me semble que je suis juste stupide, alors j'espère que quelqu'un ici est un peu plus intelligent.

Encore mieux que le code source serait si j'avais le code source + nom de fichier dans deux colonnes, mais je veux commencer petit.

Merci!

+0

Est-ce encore un problème? Voir mon commentaire à la réponse de David. –

Répondre

0

@files =

EXTRACT FileName string, 
     Text string 
FROM @"/somepath/{FileName}.html" 
USING Extractors.Text(silent: true, delimiter: '`'); 

OUTPUT @files TO "/somepath/Test.txt" USING Outputters.Tsv(outputHeader: false, quoting: false);

+0

Merci pour votre réponse! J'ai essayé ceci mais j'obtiens toujours une erreur (qui est la même que celle que j'ai eue auparavant): Une erreur s'est produite lors de l'extraction de la ligne après le traitement de 722 enregistrements dans la division d'entrée du sommet. Indice de la colonne: 0, nom de la colonne: 'Texte'. Le sommet a échoué avec une erreur d'échec rapide Avez-vous déjà eu une idée de la raison pour laquelle cela se produit? –

+0

Désolé pour la réponse tardive. Vous avez probablement une erreur de format (valeur qui ne peut pas être analysée car trop grande, trop de colonnes, etc.). Normalement, un message d'erreur interne devrait montrer que, mais dans la période Oct, cette erreur interne n'a pas été affichée. J'espère que vous étiez en mesure de comprendre ce qui a causé l'erreur. –