2017-06-22 4 views
0

Il est clair et bien documenté que la possibilité de fractionner les fichiers zip a un impact important sur les performances et la parallélisation des tâches dans Hadoop.Impact du codec de compression dans Azure Data Lake

Cependant Azure est basé sur Hadoop et il n'y a aucune mention de cet impact n'importe où je peux trouver dans la documentation de Microsoft.

N'est-ce pas un problème pour ADL? Est-ce que, par exemple, GZipper de gros fichiers est une approche acceptable maintenant ou vais-je rencontrer les mêmes problèmes d'incapacité de paralléliser mes travaux en raison du choix du codec de compression?

Merci

Répondre

1

Veuillez noter que Azure Data Lake Analytics est et non basé sur Hadoop.

RojoSam est correct que GZip est un mauvais format de compression à paralléliser.

U-SQL reconnaît automatiquement les fichiers .gz et les décompresse. Cependant, il y a une limite de 4 Go sur la taille du fichier compressé (puisque nous ne pouvons pas diviser et paralléliser le traitement) et nous vous recommandons d'utiliser des fichiers de l'ordre de 100 Mo à 1 Go.

Nous travaillons sur l'ajout de support de parquet. Si vous avez besoin d'autres formats de compression tels que BZip: veuillez déposer une demande au http://aka.ms/adlfeedback.

+0

C'est génial. Merci beaucoup. Est-ce que ADLA est construit entièrement en interne? – Blootac

+0

Principalement. Le moteur d'extension est basé sur Microsoft Dryad, le gestionnaire de ressources actuel est basé sur YARN (et notre équipe est l'un des principaux contributeurs à YARN). –

1

Il est impossible de commencer à lire un fichier gzip à partir d'une position aléatoire. Il faut commencer à lire toujours depuis le début.

Ensuite, si vous avez un grand GZip (ou autre non sécable format de compression), vous ne pouvez pas lire/processus blocs de celui-ci en parallèle, mettant fin à traiter tout le séquentiel de fichiers dans une seule machine.

L'idée principale de Hadoop (et d'autres alternatives Big Data) repose sur des données de processus en parallèle dans différentes machines. Un gros fichier GZip ne correspond pas à cette approche.

Il y a des formats de données qui permet compriment pages de données utilisant Gzip et conserver le fichier sécable (chaque page peut être traitée dans des machines différentes, mais chaque bloc GZip POURSUIT prévoir l'obligation de traiter en une seule machine) comme le parquet .