5 votes

Prise en charge de Parquet en tant que format d'entrée/sortie lors de l'utilisation de S3

J'ai vu un certain nombre de questions décrivant des problèmes lors de l'utilisation de S3 dans Spark :

plusieurs décrivant spécifiquement des problèmes liés aux fichiers Parquet :

ainsi que des sources externes faisant référence à d'autres problèmes liés aux combinaisons Spark - S3 - Parquet. Cela me fait penser que S3 avec Spark ou cette combinaison complète n'est peut-être pas le meilleur choix.

Suis-je sur la bonne voie ? Quelqu'un peut-il fournir une réponse officielle expliquant ce qu'il en est ?

  • État actuel du support Parquet avec un focus sur S3.
  • Est-ce que Spark (SQL) peut profiter pleinement des fonctionnalités de Parquet telles que l'élagage des partitions, le pushdown des prédicats (y compris les schémas profondément imbriqués) et les métadonnées Parquet ? Toutes ces fonctionnalités fonctionnent-elles comme prévu sur S3 (ou sur des solutions de stockage compatibles) ?
  • Développements en cours et tickets JIRA ouverts.
  • Existe-t-il des options de configuration dont il faut tenir compte lors de l'utilisation conjointe de ces trois éléments ?

3voto

Steve Loughran Points 4637

Beaucoup de problèmes ne sont pas spécifiques au parquet, mais S3 n'est pas un système de fichiers, même si les APIs essaient de le faire ressembler à cela. De nombreuses opérations nominalement peu coûteuses nécessitent plusieurs requêtes HTTPS, avec les retards qui en découlent.

Concernant les JIRA

  • HADOOP-11694 S3A phase II - tout ce que vous obtiendrez dans Hadoop 2.8. Une grande partie de ces éléments se trouve déjà dans HDP2.5, et oui, ils présentent des avantages significatifs.
  • HADOOP-13204 : la liste des choses à faire est à suivre.
  • En ce qui concerne l'étincelle (et la ruche), l'utilisation de rename() de s'engager dans le travail est un tueur. Il est utilisé à la fin des tâches et des travaux, ainsi que dans les points de contrôle. Plus vous produisez de résultats, plus les choses prennent du temps à se terminer. Les Travail de s3guard inclura un committer zérorename, mais il faudra du temps et de l'attention pour y transférer des choses.

La poussée Parquet ? fonctionne, mais il y a quelques autres options pour accélérer les choses. Je les énumère, ainsi que d'autres, dans : http://www.slideshare.net/steve_l/apache-spark-and-object-stores

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X