2017-03-07 2 views
1

Je veux allouer plus de vertex au travail d'extraction, essayé en utilisant ROWCOUNT hint, ça ne semble pas fonctionner, peu importe la valeur que j'utilise pour ROWCOUNT, U-SQL toujours allouer le même nombre de vertex.Est-ce que ROWCOUNT hint fonctionne pour EXTRACT dans U-SQL

EXTRACT xxxx de @ "Path" UTILISATION nouvelle RndsInDataLakeCode.PyramidExtractorMerged() OPTION (ROWCOUNT = 50000000); Existe-t-il un autre moyen d'influencer l'allocation des vertex?

Merci.

+0

Combien de fichiers correspondent à votre chemin? J'ai l'impression (seulement essayé AvroExtractor jusqu'à présent) que c'est un vertex par fichier, il n'y a pas de fractionnement de fichiers comme le fait Hadoop. – Iain

+0

ce travail extrait de 800 fichiers. – lidong

Répondre

1

Fondamentalement, le nombre de sommets utilisés par EXTRACT sont déterminés par ce qui suit:

  1. Nombre de fichiers (actuellement au plus un fichier par sommet) si vous utilisez des ensembles de fichiers ou demande AtomicFileProcessing=true (par exemple, JSON, Extracteur Avro actuel).
  2. Taille d'un fichier (actuellement 1 Go par sommet) si le fichier est considéré comme divisible (AtomicFileProcessing=false, par exemple, extracteur Csv/Tsv).

L'indicateur ROWCOUNT n'indiquera que le nombre de lignes résultant qui aura un impact sur le partitionnement suivant.

Ensuite, l'allocation des unités Analytics mentionné par Omid vous donnera le degré réel de parallélisme qui est utilisé pour paralléliser dans le nombre déterminé de sommets (donc surspécification les unités de Google Analytics PAS rendre votre code paralléliser plus). Pourquoi voulez-vous augmenter le scale-out sur l'extraction?

+0

Merci Michael, actuellement il faut 30 minutes pour extraire 800 fichiers en utilisant 60 vertex, je veux accélérer en utilisant plus de vertex. C'est pourquoi je veux augmenter l'échelle. – lidong

+0

Vous devriez probablement utiliser la fonction d'aperçu du jeu de fichiers rapide. Contactez-moi par email pour le réglage. –

0

Combien d'ADLU avez-vous spécifié lors de la soumission du travail? Cela détermine le nombre maximum de sommets parallèles qui peuvent s'exécuter en même temps et fait la plus grande différence dans le parallélisme pour les extraits. Tant que les fichiers peuvent être séparés par des lignes, USQL va complètement décomposer les fichiers en plus petits morceaux et paralléliser l'exécution. Si le fichier est au format binaire (par exemple compressé) ou json, il doit être traité sur un seul sommet car ces formats ne peuvent pas être divisés directement.

Notez que le numéro de l'ADLU que vous spécifiez sera réservé à la durée du travail et que vous serez facturé. Donc, vous voulez équilibrer entre l'extrait plus rapide et le temps de travail global.