18th Apr 2024 22 minutes de lecture Comment devenir ingénieur Big Data Gustavo du Mortier carrière en science des données ingénierie des données Table des matières Qu'est-ce que le Big Data ? Les ingénieurs Big Data sont très demandés Les avantages du Big Data Que fait un ingénieur Big Data ? Compétences et outils nécessaires pour devenir ingénieur Big Data Big Data, SQL et bases de données relationnelles Bases de données NoSQL Entrepôt de données Plates-formes et cadres de Big Data Comment piloter une plateforme Big Data Dans le cockpit Outils et plateformes Big Data Spark Flink Storm Cassandra Pig BigQuery Prochaines étapes pour devenir ingénieur Big Data Qu'est-ce qu'un ingénieur Big Data et en quoi ses compétences diffèrent-elles de celles d'un ingénieur en données ? Dans cet article, nous explorons les outils et les plateformes que vous devrez maîtriser en tant qu'ingénieur Big Data. Pour passer du statut d'ingénieur en données à celui d'ingénieur Big Data, vous devez acquérir plusieurs nouvelles compétences et apprendre à utiliser plusieurs nouveaux outils. La bonne nouvelle, c'est que le Big Data vous permet toujours d'utiliser vos bonnes vieilles compétences en SQL pour manipuler et obtenir des informations à partir de référentiels de données. Mais tout d'abord, pourquoi voudriez-vous passer de l'ingénierie des données classique à l'ingénierie des Big Data ? Je vais l'expliquer à l'aide d'un exemple. Pour transporter de petits groupes de personnes sur de courtes distances et sans se presser, vous pouvez vous contenter de conduire un bus. Mais si vous devez transporter de nombreuses personnes sur de longues distances et en un minimum de temps, vous devrez apprendre à piloter un avion. Certes, ce sera plus difficile. Vous aurez plus de responsabilités, mais vous en tirerez plus de satisfaction et vous gagnerez beaucoup plus d'argent. La même différence existe entre le travail d'un ingénieur en données classique et celui d'un ingénieur en Big Data. Qu'est-ce que le Big Data ? Comme vous pouvez l'imaginer, les Big Data font référence à d'énormes ensembles de données. La définition exacte du terme "énorme" peut varier en fonction de la personne à qui l'on s'adresse, mais il est normal que les référentiels de Big Data contiennent bien plus de 10 téraoctets de données. Et il est de plus en plus fréquent d'entendre parler de volumes atteignant l'ordre du pétaoctet (1 pétaoctet = 1 024 téraoctets). Mais le Big Data n'est pas seulement une question de volume important. Il s'agit également d'une grande variété de données (structurées, semi-structurées et non structurées) et de vitesses de traitement et d'accès élevées. Ces qualités sont communément appelées "les trois V" : volume, vitesse et variété. Deux autres attributs sont généralement ajoutés aux trois V ci-dessus. La "véracité", ou la fiabilité des données, est importante pour éviter les informations incomplètes, sales (c'est-à-dire pleines d'erreurs) ou inexactes. La "valeur" fait référence à l'importance d'extraire des informations précieuses qui permettent de prendre des décisions en connaissance de cause et de générer des opportunités d'affaires. Les particularités susmentionnées signifient qu'un ingénieur Big Data doit utiliser des cadres spéciaux en plus des outils d'ingénierie de données conventionnels tels que SQL. Si vous êtes un débutant en SQL, vous pouvez commencer par suivre un cours en ligne sur les requêtes SQL; si vous souhaitez maîtriser le langage, il est préférable de suivre une formation complète en SQL qui vous enseignera tout ce dont vous avez besoin. Plus loin dans cet article, nous aborderons les principales technologies Big Data. Pour l'instant, répondons à une autre question : quelles sont les perspectives d'emploi des ingénieurs Big Data ? Les ingénieurs Big Data sont très demandés La bonne nouvelle pour les ingénieurs Big Data, c'est que la croissance de l'emploi dans le secteur des Big Data est positive. Et la demande de travailleurs qualifiés en Big Data dépasse largement l'offre. En tant qu'ingénieur en données, vous pourrez probablement trouver un emploi raisonnablement bien rémunéré. Mais les offres d'emploi dans le domaine du Big Data visent des salaires beaucoup plus élevés ; vous pouvez parier que le terme "Big Data" sera de plus en plus présent dans l'avenir de chaque ingénieur en données. Pour vous donner une idée, Glassdoor indique que (en mars 2024), le salaire de base moyen d'un ingénieur en données occupant un poste traditionnel dans une base de données aux États-Unis était de 144 00 $ par an. Le salaire de base moyen d'un ingénieur Big Data, également aux États-Unis, était de 157 000 dollars par an. Ces chiffres ne sont que des moyennes. Le salaire de base annuel d'un ingénieur Big Data peut grimper jusqu'à 197 000 dollars - et si vous avez la chance d'obtenir un poste d'ingénieur Big Data chez Google ou Apple, votre salaire de base peut dépasser les 230 000 dollars par an. Tout porte à croire que les tendances salariales du Big Data vont continuer à augmenter et à s'éloigner du niveau de salaire conventionnel de l'ingénierie des données. Les avantages du Big Data Si vous vous demandez pourquoi les entreprises sont prêtes à payer beaucoup plus pour un ingénieur Big Data, la réponse est qu'elles attendent également beaucoup plus en retour. Le Big Data est plus qu'un simple ensemble de données volumineuses - c'est un outil qui crée des informations de très grande valeur, qui peuvent donner aux entreprises un avantage décisif dans leurs activités ou générer des percées très importantes dans leurs objectifs. Pour expliquer pourquoi, examinons quelques exemples : Les entreprises : Le Big Data est un outil indispensable pour comprendre le comportement des consommateurs et anticiper les tendances du marché. L'intégration et la corrélation de différentes sources de données massives - telles que les détails d'achat et les demandes d'assistance, les rapports de crédit, l'activité des médias sociaux et les résultats d'enquêtes - offrent des perspectives de marché qui ne peuvent être obtenues que par la collecte, le traitement et l'analyse de quantités massives d'informations. Soins de santé : Le Big Data est devenu un outil essentiel pour le secteur de la santé. La surveillance en temps réel des données des capteurs des patients hospitalisés et l'analyse prédictive des risques des patients qui sortent de l'hôpital ne sont que deux exemples des nombreuses applications du Big Data dans ce domaine. Le gouvernement : Le Big Data est utilisé pour identifier les schémas de criminalité, optimiser le trafic urbain et gérer les crises environnementales. Il sert également à détecter les fraudes dans la collecte des impôts et à affiner les programmes de sensibilisation des contribuables. Finance : La détection des fraudes est l'une des principales utilisations du Big Data dans la finance. D'autres utilisations comprennent la segmentation de la clientèle, l'optimisation des coûts et la génération de modèles financiers prédictifs. Mines, pétrole et gaz : l'utilisation intensive d'outils Big Data pour traiter de grands volumes d'informations sismiques et microsismiques offre des avantages décisifs dans l'exploration et la découverte de gisements de minerais et de pétrole. Que fait un ingénieur Big Data ? Un ingénieur Big Data est essentiellement un ingénieur logiciel qui doit également avoir une connaissance approfondie de l'ingénierie des données. Une grande partie du travail d'un ingénieur Big Data consiste à concevoir et à mettre en œuvre des systèmes logiciels capables de collecter et de traiter des volumes gigantesques de données. Beaucoup de ces systèmes impliquent des processus d'extraction-transformation-chargement (ETL), qui utilisent des ensembles de règles commerciales pour nettoyer et organiser les données "brutes" (non traitées) et les préparer pour le stockage et l'utilisation dans les processus d'analyse et d'apprentissage automatique (ML). Les autres tâches d'un ingénieur Big Data comprennent : Concevoir des architectures adaptées au traitement de gros volumes de données, alignées sur les objectifs de l'entreprise. Étudier de nouvelles méthodes pour améliorer la qualité et la sécurité des données. Créer des solutions de données basées sur les écosystèmes Big Data (voir ci-dessous) et leurs outils de développement et de visualisation. collaborer avec des analystes de données, des scientifiques des données et d'autres professionnels pour permettre l'accès aux résultats des processus Big Data et leur visualisation. Il existe des domaines de responsabilité communs à ces professionnels, il est donc intéressant de comparer le travail d'un analyste de données à celui d'un ingénieur de données. Compétences et outils nécessaires pour devenir ingénieur Big Data Un ingénieur Big Data doit être titulaire d'une licence dans un domaine lié aux technologies de l'information (IT) ou à la science des données. Un master en systèmes de Big Data ou en analytique peut être d'une grande aide pour obtenir des postes mieux rémunérés et davantage de possibilités d'évolution de carrière. À la fin de cet article, je vous propose quelques pistes de carrière pour vous guider dans votre parcours pour devenir ingénieur Big Data. Au-delà de leur diplôme, les ingénieurs Big Data doivent posséder plusieurs compétences essentielles. Une connaissance approfondie des algorithmes, des structures et de certains langages de programmation est essentielle. Une compréhension de base des systèmes distribués l'est également. Pour travailler avec de grands volumes de données et fournir un accès efficace à leurs informations, l'ingénieur Big Data a besoin de compétences et d'outils beaucoup plus diversifiés qu'un ingénieur en données classique. Un ingénieur en données classique peut très bien faire carrière en ne connaissant que le langage SQL et en gérant les systèmes de gestion de base de données les plus populaires. (D'ailleurs, si vous envisagez de décrocher un emploi de programmeur SQL, préparez-vous au test d'évaluation SQL. Vous pouvez garder à portée de main notre antisèche sur les bases du SQL lorsque vous ne vous souvenez plus des détails d'une commande SQL spécifique). Outre les compétences SQL pour le Big Data, un ingénieur Big Data doit connaître les bases de données NoSQL, les données structurées et non structurées, les entrepôts de données (et leurs variantes, telles que les marts de données et les lacs de données) et ce que l'on appelle les cadres Big Data. Voyons comment chacune de ces compétences influence le travail quotidien d'un ingénieur Big Data. Big Data, SQL et bases de données relationnelles Le langage de requête structuré (SQL) est né avec les bases de données relationnelles et leur est intimement lié. Tout professionnel ayant obtenu une certification en ingénierie des données conventionnelle sait que les bases de données relationnelles sont conçues dans le but principal de stocker des informations structurées et de donner la priorité à la préservation de l'intégrité des données dans le cadre du traitement des transactions. Elles sont donc inadaptées lorsque les priorités deviennent l'évolutivité, la vitesse d'accès et les flux en temps réel - ce qui est le cas lorsque l'on passe des bases de données conventionnelles aux référentiels Big Data. Cela signifie-t-il qu'apprendre à travailler avec des bases de données SQL aura été vain lorsque vous deviendrez un ingénieur Big Data ? Absolument pas. Les ingénieurs Big Data continueront à utiliser SQL pour l'analyse des données pendant de nombreuses années. L'avenir du langage SQL est donc prometteur. Il est tellement répandu qu'il est devenu un standard de facto pour la gestion des données - grandes ou petites. Les nouvelles technologies créées spécialement pour le Big Data ne peuvent ignorer ce fait. C'est pourquoi elles proposent toutes des outils d'accès aux données qui permettent de visualiser les référentiels Big Data comme s'ils avaient une structure de base de données relationnelle. Nous verrons ci-dessous quelques-unes des technologies basées sur SQL utilisées dans les environnements Big Data. Bases de données NoSQL NoSQL (qui signifie "pas seulement SQL") est une famille de technologies de bases de données qui visent à surmonter les limites des bases de données relationnelles et à permettre la vélocité, le volume et la variété des Big Data expliqués ci-dessus. C'est pourquoi elles sont souvent préférées aux bases de données relationnelles pour la mise en œuvre de solutions Big Data. Bien que les bases de données NoSQL varient dans leurs formes de mise en œuvre, elles ont toutes des caractéristiques communes : Sans schéma : Les bases de données NoSQL peuvent stocker des informations sans que la structure des données ne soit prédéfinie - contrairement aux bases de données relationnelles, où le schéma (les tables et leurs relations) doit être défini avant qu'elles ne puissent être alimentées en informations. Évolutivité: Plusieurs architectures de bases de données NoSQL sont conçues avec pour objectif principal l'évolutivité horizontale. Cela signifie qu'une base de données NoSQL peut résider sur un système de fichiers distribués (tel que le système de fichiers distribués Hadoop) dont le volume de données peut augmenter simplement en y ajoutant des nœuds. Temps réel : Plusieurs implémentations de bases de données NoSQL (par exemple Firebase, Redis ou DynamoDB) se distinguent par leurs performances, leur évolutivité et leur disponibilité élevées, ce qui répond aux besoins fondamentaux de toute application de données en temps réel. Malgré leur nom, les bases de données NoSQL utilisent des dialectes SQL, ce qui renforce l'idée que le langage SQL reste pertinent même lorsque les bases de données relationnelles ne sont pas utilisées. Entrepôt de données Lesentrepôts de données sont apparus il y a plusieurs décennies comme un moyen de collecter des informations et de les centraliser en vue d'un traitement analytique. Ils présentent certaines similitudes avec le Big Data : les deux technologies sont conçues pour héberger de grands volumes de données et garantir la véracité des informations. Elles garantissent également l'obtention d'une valeur commerciale à partir de ces grands volumes d'informations. La différence entre le Big Data et l'entreposage de données réside dans le fait que les entrepôts de données sont conçus pour être construits sur des schémas relationnels et alimentés par des informations provenant de systèmes transactionnels (qui sont également basés sur des bases de données relationnelles). Ils ne sont pas préparés à traiter des informations non structurées et encore moins des données en temps réel. Bien que le Big Data soit une technologie plus moderne et plus complète qu'un entrepôt de données, ce dernier ne disparaîtra pas et ne deviendra pas obsolète. Les deux technologies sont complémentaires et répondent à des cas d'utilisation différents ; si vous devez effectuer un traitement analytique sur des données structurées (par exemple, des informations sur les ventes ou la production), un entrepôt de données est la solution la plus conseillée. En revanche, supposons que vous ayez besoin d'effectuer un traitement analytique sur des informations variées et non structurées telles que des courriels, des données de réseaux sociaux, des journaux d'application en temps réel ou des résultats d'enquête. Dans ce cas, vous devez absolument opter pour une solution Big Data. Il existe également des technologies d'entrepôt de données qui fonctionnent sur des référentiels Big Data, comblant ainsi le fossé entre les deux technologies. L'une des plus populaires est DBT, un outil de modélisation et d'analyse des données qui s'intègre aux fournisseurs de données en nuage et exécute la transformation des données au sein de l'entrepôt de données. Plates-formes et cadres de Big Data Dans les bases de données relationnelles, il existe une entité centrale appelée système de gestion de bases de données relationnelles ou SGBDR qui réside sur un serveur et gère les informations stockées dans des bases de données avec des structures prédéfinies (schémas). Le SGBDR fournit des mécanismes d'interrogation et de mise à jour des informations résidant dans les bases de données, principalement par le biais de commandes SQL. Toutes les responsabilités en matière de stockage et d'utilisation des données incombent au SGBDR monolithique. Dans le cadre du Big Data, les responsabilités sont réparties entre différentes entités chargées du stockage, du traitement, de la coordination et de l'exploitation des données. Il y a un peu plus d'une décennie, ce concept a été matérialisé par la fondation Apache Software dans un écosystème appelé Hadoop. La partie fondamentale de tout écosystème Big Data (et Hadoop en particulier) est un système de fichiers capable de stocker des quantités massives d'informations. Ce système de fichiers ne peut pas s'appuyer sur une seule unité de stockage physique. Il utilise plutôt plusieurs nœuds capables de travailler en coordination pour assurer l'évolutivité, la redondance et la tolérance aux pannes. Dans Hadoop, ce système de fichiers est appelé HDFS (Hadoop Distributed File System). Le traitement de ces quantités massives d'informations nécessite un modèle d'ordonnancement basé sur des tâches capables de s'exécuter en parallèle. Leur exécution est répartie entre plusieurs nœuds de traitement. Dans Hadoop, ce modèle de programmation est appelé MapReduce et est basé sur la technologie Java. Avec autant de nœuds de stockage et de traitement, il y a une pièce qui ne peut manquer : un coordinateur ou orchestrateur pour maintenir l'ordre dans l'écosystème Big Data et s'assurer que chaque tâche dispose des ressources dont elle a besoin. Dans Hadoop, cet élément est appelé YARN (Yet Another Resource Negotiator). Dans tout écosystème de Big Data, ces trois éléments de base - stockage, traitement et coordination - sont complétés par des outils qui permettent d'exploiter les données résidant dans l'écosystème. Nombre de ces outils ont été conçus pour fonctionner au-dessus de Hadoop, complétant ainsi l'écosystème et améliorant certaines de ses lacunes. Par ailleurs, il convient de mentionner que Hadoop est la plateforme de Big Data la plus "ancienne" ; elle a été dépassée à plusieurs égards par des outils plus récents et plus efficaces. L'un des principaux aspects négatifs de Hadoop que d'autres technologies ont tenté de résoudre est sa grande complexité et ses coûts d'installation, d'exploitation, de réglage et de mise à l'échelle. Comment piloter une plateforme Big Data Revenons au concept de conducteur de bus et de pilote de ligne présenté au début de cet article. Si vous êtes un ingénieur en données classique, vous avez probablement l'habitude de commencer chaque journée de travail en ouvrant votre client SQL préféré, en vous connectant aux bases de données avec lesquelles vous devez travailler et en exécutant des commandes SQL. C'est un peu comme si le chauffeur de bus tournait la clé pour démarrer le moteur, ouvrait la porte pour que les passagers montent à bord et les transportait jusqu'à leur destination. Mais si vous êtes un ingénieur Big Data, vous êtes à la tête d'un gigantesque écosystème de données. Les données et les processus sont répartis sur des centaines ou des milliers de nœuds qui doivent être soigneusement coordonnés pour apporter de la valeur aux utilisateurs. Imaginez un pilote de ligne : avant d'ouvrir les portes pour que les passagers montent à bord et commencent leur voyage, vous devez vous assurer que plusieurs systèmes sont pleinement opérationnels et fonctionnent de manière coordonnée. La vie de vos passagers et la vôtre en dépendent. Êtes-vous sûr de vouloir suivre la voie du pilote de ligne ? Dans le cockpit Si vous lisez encore ces lignes, j'imagine que vous avez répondu oui à la question précédente. Félicitations ! Voyons le chemin à suivre pour devenir le pilote d'une machine Big Data. Dans votre cockpit, vous pourrez trouver un grand nombre et une grande variété d'outils conçus pour l'exploitation des données dans les référentiels Big Data. Prenons l'un d'entre eux, Hive. Il s'agit d'un cadre qui vous permet de manipuler facilement de grandes quantités de données à l'aide d'un langage de requête appelé HQL (HiveQL), qui est basé sur SQL. En particulier, HQL convertit les commandes SQL en tâches MapReduce afin qu'elles puissent être exécutées sur un cluster Hadoop. Le langage de requête Hive présente de nombreuses similitudes avec le langage SQL standard. Outre la commande SELECT avec toutes ses clauses (WHERE, GROUP BY, ORDER BY, LIMIT, etc.), il prend en charge les commandes DML (telles que INSERT, UPDATE et DELETE) et les commandes DDL (telles que CREATE, ALTER et DROP) pour gérer un schéma de pseudo-table. Lorsqu'une commande est exécutée dans Hive, telle que SELECT ... FROM ..., Hive ne renvoie pas les résultats immédiatement. Au lieu de cela, il envoie un travail MapReduce à YARN. YARN s'assure que le travail dispose des ressources nécessaires (traitement, stockage, mémoire) et le met en file d'attente pour exécution. Hive attend que le travail soit terminé avant de vous renvoyer les résultats de la requête. Pour vous, c'est comme si vous aviez exécuté ce SELECT dans votre client SQL préféré. Mais en réalité, c'est toute une gigantesque machinerie qui s'occupe de cette simple requête. Outils et plateformes Big Data Nous avons dit que Hadoop est une ancienne plateforme et qu'elle a été dépassée par d'autres plus modernes et plus efficaces. Cela ne signifie pas que Hadoop est obsolète. L'avantage du Big Data est que ses technologies sont nées dans le monde de l'open-source, de sorte que l'évolution des écosystèmes Big Data est rapide et constante. Outre plusieurs grandes entreprises, il existe des communautés de développeurs responsables de cette évolution, qui s'appuient sur les solutions existantes et les améliorent et les complètent en permanence. Voici quelques-uns des outils et des technologies qui apparaissent comme les plus sûrs pour s'initier à l'ingénierie des Big Data. Spark Spark est apparu en 2014 pour remédier aux limites de performance de MapReduce. Sa principale optimisation était sa capacité à fonctionner sur des clusters en mémoire au lieu de stocker les résultats sur disque. Spark prend en charge plusieurs langages courants (Python, Java, Scala et R) et comprend des bibliothèques pour une variété de tâches, de SQL à l'apprentissage automatique en passant par le streaming. Il peut fonctionner sur un ordinateur portable ou sur une grappe de milliers de serveurs. Il est donc facile de démarrer avec une petite implémentation et d'évoluer vers le traitement massif de données dans un large éventail d'applications. Bien que Spark ait été conçu pour fonctionner sur plusieurs gestionnaires de clusters, il a été principalement utilisé avec YARN et intégré dans la plupart des distributions Hadoop. Au fil des ans, il y a eu plusieurs itérations majeures de Spark. Avec la montée en puissance de Kubernetes en tant que mécanisme de planification populaire, Spark est maintenant devenu un citoyen de première classe de Kubernetes et a récemment supprimé sa dépendance à Hadoop. Pour l'utilisateur, Apache Spark expose un écosystème de composants adaptés à différents cas d'utilisation. Le composant central est Spark Core, le moteur d'exécution de la plateforme Spark qui fournit l'infrastructure pour le calcul en mémoire ainsi que les fonctions de base d'E/S, d'ordonnancement, de surveillance et de gestion des pannes. Autour de Spark Core se trouvent des composants aux fonctions plus spécifiques, tels que Spark SQL, Spark Streaming, MLlib, SparkR et GraphX. Flink Apache Flink est un moteur de traitement de données à haut débit et à faible latence qui privilégie le calcul en mémoire, la haute disponibilité, l'élimination des points de défaillance uniques et l'évolutivité horizontale. Flink fournit des algorithmes et des structures de données pour prendre en charge le traitement limité et non limité, par le biais d'une interface de programmation unique. Les applications qui traitent des données non bornées s'exécutent en continu, tandis que celles qui traitent des données bornées s'arrêtent lorsqu'elles ont consommé toutes leurs données d'entrée. Storm Apache Storm facilite le traitement fiable de flux de données illimités, faisant pour le traitement en temps réel ce que Hadoop a fait pour le traitement par lots. Ses principales qualités sont la simplicité, la possibilité d'être utilisé avec n'importe quel langage de programmation et une approche de la manipulation des données conviviale pour les développeurs. Les cas d'utilisation de Storm comprennent l'analyse en temps réel, l'apprentissage automatique en ligne, le calcul continu, les RPC (appels de procédure à distance) distribués et l'ETL. Il fait partie des moteurs d'exécution Big Data les plus rapides, dépassant le million de tuples traités par seconde et par nœud. Ses autres qualités sont la grande évolutivité, la tolérance aux pannes, le traitement garanti des données et la facilité de configuration et d'utilisation. Cassandra Apache Cassandra est une base de données NoSQL orientée colonnes spécialement conçue pour le Big Data. Grâce à l'utilisation du stockage en colonnes étendues, elle est capable de traiter de grandes quantités de données par le biais de grappes de serveurs de commodité, offrant une haute disponibilité sans point de défaillance unique. Cassandra utilise une architecture pair-à-pair qui facilite la distribution des données, ce qui lui permet d'évoluer horizontalement et de gérer facilement des quantités croissantes de données et de trafic. En outre, il offre une cohérence évolutive, ce qui signifie que les clients peuvent choisir le niveau exact de cohérence dont ils ont besoin pour chaque opération. Pig Apache Pig est une plateforme de haut niveau utilisée pour créer des programmes MapReduce fonctionnant au-dessus d'Hadoop. Elle utilise un langage de script simple appelé Pig Latin. Ce langage permet aux développeurs d'écrire des tâches complexes de traitement de données de manière concise et simple, en les abstrayant des complexités de MapReduce et en offrant certaines similitudes avec SQL. Les développeurs peuvent étendre les fonctionnalités de Pig Latin avec des UDF (fonctions définies par l'utilisateur) qui peuvent être écrites dans d'autres langages comme Java, Python, JavaScript ou Ruby. Le moteur Pig traduit les scripts Pig Latin en une série de tâches MapReduce qui peuvent être exécutées sur des clusters Hadoop, ce qui leur permet de traiter de grandes quantités de données. BigQuery BigQuery est un entrepôt de données à l'échelle du pétaoctet, à faible coût et sans serveur, qui fait partie de la Google Cloud Platform. Il s'agit d'un service entièrement géré, ce qui signifie que ses utilisateurs n'ont pas à se soucier des ressources de stockage, de traitement ou de réseau. Depuis son lancement en 2010, Google Big Query a gagné des adeptes dans les organisations qui ont besoin d'analyser rapidement de grandes quantités d'informations et de comparer leurs résultats avec des données statistiques accessibles au public. Aujourd'hui, de nombreuses organisations exigent des compétences en BigQuery de la part de leurs candidats à un emploi dans le domaine des données. Les fonctions de fenêtre, également appelées fonctions analytiques ou fonctions OVER, constituent un élément important de BigQuery ; elles font partie de la norme SQL depuis 2003. Apprendre à utiliser les fonctions de fenêtre dans Google BigQuery est un atout important pour un analyste de données ou un poste similaire. Voici quelques ressources utiles : Syntaxe SQL de Google BigQuery : Un guide complet Pourquoi avez-vous besoin de SQL pour travailler avec Google BigQuery ? Aperçu des fonctions de texte SQL dans Google BigQuery Prochaines étapes pour devenir ingénieur Big Data Comme nous l'avons vu précédemment, la plupart des ingénieurs en données possèdent au moins une licence dans le domaine de l'informatique ou des données. Vous pouvez ensuite suivre un master en Big Data, en choisissant l'une des dizaines de formations disponibles en ligne. Des centaines de cours et de certifications en Big Data sont également disponibles, dont beaucoup sont proposés directement par des entreprises technologiques telles que Google ou IBM. Plus important encore, nombre d'entre eux sont gratuits. C'est également une bonne idée de maintenir vos connaissances SQL à jour, pour cela je vous recommande de profiter de notre Tout à vie SQL Package. Il vous permet d'accéder à tous les cours actuels et futurs de LearnSQL.fr, ce qui garantit votre connaissance des principaux dialectes de SQL et vous offre des milliers d'exercices pratiques interactifs. Une fois que vous avez acquis des connaissances de base en matière de Big Data - même si vous n'avez pas encore obtenu suffisamment de diplômes et de certifications pour remplir votre CV - vous pouvez commencer à accumuler de l'expérience en travaillant sur des projets Big Data réels. Pour ce faire, vous aurez besoin de grands référentiels de Big Data, et ce n'est pas quelque chose que vous pouvez construire par vous-même. Heureusement, il existe de nombreux ensembles de Big Data gratuits que vous pouvez utiliser pour mettre vos connaissances en pratique. Le monde des Big Data est en constante évolution. Ne pensez donc pas que vous pourrez vous reposer sur vos lauriers une fois que vous aurez accumulé suffisamment de diplômes, de certifications et d'heures de pratique. Vous devrez vous tenir au courant en lisant des blogs, en suivant des personnes influentes dans le domaine du Big Data et en participant activement à des communautés de passionnés du Big Data. Qui sait, peut-être deviendrez-vous vous-même un gourou des données qui aidera le monde à mieux utiliser les quantités gigantesques d'informations qui circulent sur ses réseaux ! Tags: carrière en science des données ingénierie des données