Bonjour,
Désolé, mais je n'ai pas le niveau requis pour valider ton architecture. Pour résumer, j'ai fait un MOOC de 6 mois et demi en Big Data où j'en ai pris plein la tête sur Hadoop, Pig, Hive, Spark, HBase, Neo4j, Knime, Splunk et sur le Machine Learning.
Et j'ai complété tout cela avec les formations gratuites en ligne sur MongoDB :
http://university.mongodb.com
D'ailleurs je viens de voir qu'il y en a une sur l'utilisation de Spark et MongoDB :
https://university.mongodb.com/courses/M233/about
Je manque donc cruellement d'expériences !!!
Par contre, je te donne quand même mon avis : il y a beaucoup trop de technos pour moi dans ton choix. A priori, ton Use Case porte sur la maintenance prédictive. Pour moi, cela s'apparente à de la recherche de signaux faibles, à savoir détecter dans une masse d'infos souvent issues de capteurs, de faibles traces supposant un risque potentiel de panne sur un équipement quelconque.
Pour ma part, j’essaierai de voir si je peux m'en sortir avec uniquement 2 technos, à savoir MongoDB et Spark.
Car le problème du Big Data, c'est qu'il y a pléthores de produits et de technos, et les prendre en main et les maitriser demandent du temps, beaucoup de temps.
Dans ce cas, pour tes données sources autres que JSON, il va falloir voir si tu peux les traiter en JSON, ou bien si ce sont des données tabulaires (donc en format lignes / colonnes), ce qui est le cas d'Oracle puisque ce sont des tables. Tu peux donc les travailler sous Spark à l'aide de Dataframes.
Pour finir, toute cette architecture Spark et MongoDB tournent en cluster. Sur quelle infrastructure vas-tu la faire tourner ? On Premise ou dans le Cloud ? Tu comptes te monter ton infra tout seul ou utiliser des distributions genre Cloudera ou autres ?
En tous cas, l'avantage de Spark et de MongoDB, c'est qu'ils tournent aussi sous Windows. Donc pour faire un POC ou se lancer dans un premier test, tu peux faire cela sur un portable bureautique, sous Windows et en standalone (pas de cluster pour démarrer), du moment que tu as un peu de ressources (notamment au moins 16 Go de RAM, et même plutôt 32 Go).
Et si les essais sont convaincants, tu bascules alors sur une architecture clusterisée, sous Linux.
Partager