Afterwork hadoop

Information about Afterwork hadoop

Published on June 10, 2016

Author: OCTOTechnologySuisse

Source: slideshare.net

Content

1. Frédéric Schafer [email protected] Philippe Kernevez [email protected] 09/06/2016

2. 2

3. BIG DATA @ OCTO : THE NUMBERS TB, the biggest volume of distributed storage on a single project 250 TB, the biggest volume of data analyzed by OCTO’s data scientists 18 Is the number of Big Data projects at OCTO in the past 12 months The number of OCTO certified on the Hadoop platform 30 850 800 cores, the biggest Hadoop cluster built by OCTO 16 The number of active partnerships with major Big Data actors 3

4. 2016 is the Year of Big Data @OCTO Switzerland Afterworks Big Data Romandie 4

5. Présente academy.octo.ch DEVOPS AGILE & LEAN CRAFTSMANSHIP ARCHITECTURES DU SI USER EXPERIENCE (UX) STRATEGIE DIGITALE WEB & MOBILE HADOOP 5

6. AGENDA 6 HADOOP, qu’est-ce que c’est ? Quelques cas d’usage Industrialisation de la plateforme

7. AGENDA 7 HADOOP, qu’est-ce que c’est ? Quelques cas d’usage Industrialisation de la plateforme

8. HADOOP ? 8 scalability

9. HADOOP ? 9 Ecosystème Open source Stocker et traiter de larges jeux de données Scalable Sur des serveurs de type “commodity hardware” Tolérant aux pannes

10. HISTORIQUE 10 2003 2004 2005 2006 2007 2008 2009 2012 2013 2014 2016 109 searches 106 web pages 1000 nodes @ Yahoo! ✔ 4000 nodes ✔ Hadoop sorted 1 Po in 17h 109 searches 106 web pages ✔

11. « Vanilla » IT Relational DB, Application server, ETL, ESB, BPM Distributed Storage Extreme Transaction Processing Parallel Programming Event Stream Processing 10 To online 3,000 TPS 10 threads/core3,000 events/sec Events intensive Transaction intensive Storage intensive Computation intensive LES LIMITES DES OUTILS TRADITIONNELS* * Il ne s’agit pas de limites absolues, mais d’ordres de grandeur à partir desquels les coûts de mise en œuvre explosent (hardware spécialisé, expertise, etc.) 11

12. LES LIMITES DES OUTILS TRADITIONNELS Events intensive Transaction intensive Storage intensive Computation intensive NoSQL CEP, ESP In-memory Grid, GPU 12

13. HADOOP : VOLUME, VÉLOCITÉ MAIS AUSSI VARIÉTÉ 13 VVolume V Variety VVelocity Structured Data Unstructured Data Semi-Structured Data

14. HADOOP : DES DISTRIBUTIONS [1/2] ¤  Pourquoi une distribution ? >  Une installation pour avoir la plupart des outils d’Hadoop >  Combinaison de versions compatibles 14

15. DIVERSITÉ DE L’ÉCOSYSTÈME 15 ¤  Chaque composant est un projet indépendant (cycle de vie, équipe, etc.)

16. MATURITÉ 16 ¤  Hadoop est un écosystème en pleine évolution : >  Les principaux composants sont matures >  D’autres sont encore jeunes

17. HADOOP : DES DISTRIBUTIONS [1/2] ¤  Pourquoi une distribution ? >  Une installation pour avoir la plupart des outils d’Hadoop >  Combinaison de versions compatibles >  Upgrade >  Support éditeur ¤  Trois distributeurs majeurs : >  HortonWorks >  Cloudera >  MapR ¤  Les éditeurs traditionnels sont des suiveurs sur Hadoop >  Teradata, Oracle, Microsoft, IBM, etc. >  Certains s’appuient sur une des 3 distributions majeures 17

18. HADOOP : DES DISTRIBUTIONS [2/2] 18 400 KLOC 200 KLOC 0

19. AGENDA 19 HADOOP, qu'est-ce que c’est ? Quelques cas d’usage Industrialisation de la plateforme

20. CARTOGRAPHIE 20 DATA MANAGEMENT DATA ACCESSDATA WORKFLOW MANAGEMENT

21. STOCKAGE

22. 22 ENJEUX

23. ENJEUX Extreme Transaction Processing Parallel Programming Event Stream Processing Distributed Storage YOU ARE HERE 23 Events intensive Transaction intensive Storage intensive Computation intensive

24. LA RÉPONSE HADOOP - HDFS 24 DATA MANAGEMENT 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Hadoop repose sur HDFS, un système de fichiers distribués hautement disponible

25. LA RÉPONSE HADOOP - HDFS 25 ~ 3’000 CHF / To 2014

26. APPEND ONLY - WRITE ONCE READ MANY

27. UNIX “LIKE” ¤  HDFS supporte des commandes similaires aux systèmes de fichiers sur Linux : >  Ajout, lecture et suppression de fichiers >  Créer, lister et supprimer des répertoires >  Gérer les permissions et propriétés des fichiers et des répertoires 27

28. HDFS A Fichier B C D E F G Le fichier est découpé en blocs NameNodes DataNodes Rogatus ad ultimum admissusque in consistorium ambage nulla praegressa inconsiderate et leviter proficiscere inquit ut praeceptum est, Caesar sciens quod si cessaveris, et tuas epalatii tui auferri iubebo prope diem annonas. hocque solo contumaciter dicto subiratus abscessit nec in conspectum eius postea venit saepius arcessitus. puis réparti sur les nœuds 28

29. DISTRIBUTION DES DONNÉES ET FAILOVER A B C D E F G A G B C D E F Et répliqué (par default x3, ici x2) DataNodes 29

30. DISTRIBUTION DES DONNÉES ET FAILOVER A B C D E F G AG B C D E F ! AG E Les blocks A, E, G sont maintenant sous-répliqués Il sont alors répliqués sur d’autres nœuds DataNodes 30

31. ALIMENTATION ? 31

32. STOCKAGE Composants et flux 32 RDBMS Log Data, Event Data, Social Media, etc. Files HDFS CLI

33. CARTOGRAPHIE HADOOP 33 DATA MANAGEMENT 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop DATA WORKFLOW MANAGEMENT Oozie

34. EXEMPLE DE MISE EN ŒUVRE ¤  Client bancaire ¤  Stockage de données de marché 34 ¤  50 To / an, redondance * 3(7200 trs/min) ¤  2 NameNodes : 1 proc, 32Go RAM, 6 * 2 To en RAID (HA) ¤  4 DataNodes : 1 proc, 32Go RAM, 12 * 4 To / serveurs (7200 trs/min) ¤  Investissement : +/- 50’000 CHF (hardware) >  Soit : +/- 1’000 CHF / To

35. TRAITEMENTS LOURDS EN IO

36. ENJEUX Distributed Storage Extreme Transaction Processing Parallel Programming Event Stream Processing Exécuter un traitement sur des données volumineuses réparties sur un grand nombre de serveurs (HDFS) YOU ARE HERE 36 Events intensive Transaction intensive Storage intensive Computation intensive

37. LA RÉPONSE HADOOP 37 cluster 0100011101 010101101 010001110101010 010001110 0100011 Architecture classique Architecture Hadoop cluster Hadoop Déplacer les traitements au plus près des données, plutôt que l’inverse 37

38. FONCTIONNEMENT DE MAPREDUCE Hive – MR SELECT a.state JOIN (a, c) SELECT c.price SELECT b.id JOIN(a, b) GROUP BY a.state COUNT(*) AVERAGE(c.price) M M M R R M M R M M R M M R HDFS HDFS HDFS SELECT a.state, COUNT(*), AVERAGE(c.price) FROM a JOIN b ON (a.id = b.id) JOIN c ON (a.itemId = c.itemId) GROUP BY a.state 38

39. DÉPASSER MAPREDUCE [1/4] ¤  MapReduce, le modèle de programmation à l’origine d’Hadoop, s’avère contraignant et sous-optimisé pour certains types de traitements Map Reduce Map Reduce Map Reduce Traitement unique 4 phases d’I/O Traitement itératif N x 4 phases d’I/O 39

40. DÉPASSER MAPREDUCE [2/4] Dans le contexte d’Hadoop 1, MapReduce joue le rôle de… A: Algorithme distribué B: Framework de dév. C: Plateforme de distribuJon D: La réponse D 40

41. DÉPASSER MAPREDUCE [2/4] Dans le contexte d’Hadoop 1, MapReduce joue le rôle de… A: Algorithme distribué B: Framework de dév. C: Plateforme de distribuJon D: La réponse D 41

42. DÉPASSER MAPREDUCE [3/4] Hadoop 1.x HDFS (redundant, reliable storage) MapReduce (cluster resource management & data processing) Batch Apps HDFS (redundant, reliable storage) YARN (cluster resource management) MapReduce (data processing) Others (data processing) Hadoop 2.x Tez (data processing) Batch, Interactive, Streaming, etc. 42

43. DÉPASSER MAPREDUCE [4/4] Fonctionnement de TEZ Hive – MR SELECT a.state JOIN (a, c) SELECT c.price SELECT b.id JOIN(a, b) GROUP BY a.state COUNT(*) AVERAGE(c.price) M M M R R M M R M M R M M R HDFS HDFS HDFS SELECT a.state, COUNT(*), AVERAGE(c.price) FROM a JOIN b ON (a.id = b.id) JOIN c ON (a.itemId = c.itemId) GROUP BY a.state M MM R R R M M R R SELECT a.state, c.itemId JOIN (a, c) JOIN(a, b) GROUP BY a.state COUNT(*) AVERAGE(c.price) SELECT b.id Tez avoids unnecessary writing to HDFS Hive – Tez 43

44. CARTOGRAPHIE HADOOP 44 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Tez DATA WORKFLOW MANAGEMENT Oozie MapReduceMapReduce

45. 45 EXEMPLE : NETTOYAGE ET PRÉPARATION DES DONNÉES

46. LA RÉPONSE HADOOP 46 Files (Avro,…) HBase HCatalog ORC2 … Pig

47. PIG : LA PROBLÉMATIQUE 47

48. CARTOGRAPHIE HADOOP 48 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Pig Tez DATA WORKFLOW MANAGEMENT Oozie MapReduceMapReduce

49. RETOUR D’EXPÉRIENCE 1 ¤  Publigroupe ¤  Nettoyage des données : filtrage jointure, dédoublonnage et dénormalisation ¤  1.9 milliards de print, 1.5 M clicks 49 ¤  4 machines, 1 master + 3 data nodes >  4 core / 8 threads, 32GoRAM >  4 * 2 To JBOD >  2 x 1Go réseau (1 patte interne, 1 patte externe) ¤  HDFS : 20 To ¤  Hébergeur : 420 CHF / mois

50. RETOURS D’EXPÉRIENCE 2 ¤  Client Bancaire ¤  Calcul batch intensif en I/O 50 ¤  10 machines virtuelles (2 + 8) ¤  Durée de calcul : >  Avant : 23h (mainframe) >  Après : 2h

51. EXEMPLE : EXPLORATION MODELISATION

52. PROBLÉMATIQUE ET RÉPONSE HADOOP 52 MLlib Requêtage Prediction Visualisation / Modélisation Classification …. Machine LearningExploration Extraction

53. CARTOGRAPHIE HADOOP 53 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark MLlib GraphX Pig Hive Tez Tez DATA WORKFLOW MANAGEMENT Oozie MapReduce MapReduce

54. RETOUR D’EXPÉRIENCE ¤  Publigroupe ¤  Génération d’arbre de décision 54 ¤  Hive : avg, min, max, etc. ¤  R : Analyse de données, sortie PDF ¤  Création d’un arbre de décision pour optimiser les enchères sur les espaces publicitaires

55. ANALYSE DES STRATEGIES D’UNE CAMPAGNE List of (strategies & exchange) Low click-rate High click-rate Limited incertitude interval Big incertitude interval 55

56. LE PRIX A-T-IL UN INFLUENCE SUR LE TAUX DE CLIC ? 56 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 0.0 0.2 0.4 0.6 0 10 20 30 40 50 rank click_rate/avg_total_spend*1000 campaign_goal_type ● ● ● ● cpa cpc reach spend Click rate per $ − all campaign

57. AUTRE CAS D’USAGE ¤  Banque d’investissement ¤  Contrôle de prises de positions hors normes ¤  ~ 100 millions de lignes à vérifier par jour 57 ¤  Spark MLlib : >  Calculs : régressions linéaire, statistiques >  Classification : hors normes ou pas ? ¤  Réduire le nombre de contrôles non automatisés à 10 000 lignes par jours en première étape

58. EVENT PROCESSING STREAMING

59. ENJEUX Distributed Storage Extreme Transaction Processing Parallel Programming Event Stream Processing YOU ARE HERE 59 Events intensive Transaction intensive Storage intensive Computation intensive

60. ENJEUX 60

61. 2 MODÈLES 61 Event Microbatch Streaming

62. CARTOGRAPHIE HADOOP 62 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Streaming Pig Hive Storm Tez SliderTez DATA WORKFLOW MANAGEMENT Oozie MapReduceMapReduce Slider

63. RETOUR D’EXPÉRIENCE ¤  Transporteur ¤  Evénements de suivi de colis ¤  20 millions de messages par jour (180 Go / jour) ¤  200 à 4000 événements par seconde 63 ¤  Génération d’alertes ¤  Statistiques « fil de l’eau » ¤  Et bien d’autres (analyses, simulations, etc.) ¤  Spark Streaming (entre autre) : >  Calcul de l’état du colis >  Détection d’anomalies / alertes >  Filtrage / routage / enrichissement >  Génération d’événements manquants

64. RETOUR D’EXPÉRIENCE 64 Evénements Lectures API Traitements Synchrone HTTP/2.0 SOA IoT API Traitements Synchrones Tampon API Traitements Synchrone Traitements Asynchrones Ecritures Messages d’écritures Mobile HTML Service WebHistorique Streaming Alertes

65. ENJEUX Distributed Storage Extreme Transaction Processing Parallel Programming Event Stream Processing YOU ARE HERE 65 Events intensive Transaction intensive Storage intensive Computation intensive

66. CARTOGRAPHIE HADOOP 66 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Pig Hive Storm Tez SliderTez HBase DATA WORKFLOW MANAGEMENT Oozie MapReduce SliderMapReduce

67. AGENDA 67 HADOOP, qu'est-ce que c’est ? Quelques cas d’usage Industrialisation de la plateforme

68. INDUSTRIALISATION ? Stockage élastique distribué Support de plusieurs workloads Partage des ressources Gouvernance des données Interopérabilité logicielle Exploitabilité Accumulation de grandes profondeurs d’historique, données structurées, semi- structurées et non structurées TP, batch, interactif, analytique/machine learning, temps réel (fast data) Sécurité des données, gestion des ressources de stockage et de calcul, reporting analytique de l’usage Catalogage des données, traçabilité de la production des datasets, gestion du cycle de vie Support de SQL, connecteurs xDBC, support natif par les produits tiers (ETL, etc.) Monitoring, outillage de la configuration et des déploiements, production de KPI, haute disponibilité, PRA 68

69. LA MATURITÉ D’HADOOP (1/2) Stockage élastique distribué Support de plusieurs workloads Partage des ressources Gouvernance des données Interopérabilité logicielle Exploitabilité Hadoop début 2013 … 69

70. LA MATURITÉ D’HADOOP (2/2) Stockage élastique distribué Support de plusieurs workloads Partage des ressources Gouvernance des données Interopérabilité logicielle Exploitabilité … et Hadoop en 2016 Améliorations sur tous les fronts ! 70

71. GOUVERNANCE : DES DONNÉES MIEUX MAÎTRISÉES ¤  Traçabilité de la production des datasets ¤  Gestion du cycle de vie des données ¤  Réplication de datasets sur site distant 71

72. CONNECTIVITÉ ET OUTILLAGE 72

73. SÉCURITÉ Authentification forte des utilisateurs et services, Intégration annuaire d’entreprise Habilitations étendues (ACL) sur HDFS, modèle de sécurité RBAC Extension partielle des ACL aux couches SQL et NoSQL Chiffrement des flux 73 Sécuriser une plateforme Hadoop nécessite une forte expertise Partage des ressources

74. EXPLOITATION ¤  La plupart des services sont aujourd’hui en haute disponibilité, et les rolling upgrades permettent de migrer des gros clusters sans interruption ¤  La nécessité de reposer sur des standards d’exploitation (API REST, socles de déploiement) a été bien comprise et la richesse des API augmente ¤  Les API de récupération de métriques, essentielles pour le reporting d’usage, la refacturation ou le capacity planning apparaissent 74

75. EXPLOITATION 75 Collaboration Déploiement Continu Infrastructure As Code

76. VISION 360 DE LA PLATEFORME AVEC AMBARI / CLOUDERA MANAGER 76

77. CARTOGRAPHIE HADOOP 77 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Pig Hive Storm Tez SliderTez HBase DATA WORKFLOW MANAGEMENT Oozie MapReduce SliderMapReduce Ambari Cloudera Manager Falcon Navigator Sentry Ranger

78. TAKE AWAY

79. ENJEUX Distributed Storage Extreme Transaction Processing Parallel Programming Event Stream Processing Events intensive Transaction intensive Storage intensive Computation intensive YOU ARE HERE 79

80. YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Pig Hive Storm Tez SliderTez HBase DATA WORKFLOW MANAGEMENT Oozie Ambari Cloudera Manager Falcon Navigator Sentry Ranger MapReduce SliderMapReduce UNE ARCHITECTURE ÉVOLUTIVE 80 Outils Exécution Stockage API API

81. EN SYNTHÈSE… 81 L’écosystème Hadoop a rapidement évolué pour proposer aujourd’hui une solution mature Hadoop propose une solution industrialisée : intégration au SI, sécurité, gouvernance, déploiement, etc. Hadoop est prêt à répondre à vos besoins. C’est une composante inévitable de votre SI !

82. 2016 is the Year of Big Data @OCTO Switzerland 2 autres à venir en 2016 14.06 - Kafka Fondamentaux d’Hadoop 27&28.06 Big Data Romandie Free Download bit.ly/1KJVsD1 82

83. 83

Related presentations


Other presentations created by OCTOTechnologySuisse