2 votes

Analyse de données Scala sur Spark

Je suis novice en Scala, et je dois utiliser Scala et SQL, Mllib et GraphX de Spark afin d'effectuer une analyse sur un énorme ensemble de données. Les analyses que je veux faire sont :

  • Valeur du cycle de vie du client (CLV)
  • Mesures de la centralité (degré, vecteur propre, interdépendance des bords), proximité) Les données sont dans un fichier CSV (60GB (3 ans de données transnationales)) situé dans le cluster Hadoop.

Ma question porte sur l'approche optimale pour accéder aux données et effectuer les calculs ci-dessus ?

  • Dois-je charger les données du fichier CSV dans le cadre de données et travailler sur les éléments suivants le cadre de données ? ou
  • Dois-je charger les données à partir du fichier CSV et les convertir en RDD ? puis travailler sur le RDD ? ou
  • Existe-t-il une autre approche pour accéder aux données et effectuer les analyses ?

Merci beaucoup d'avance pour votre aide

1voto

pamu Points 12013

Dataframe vous offre une syntaxe de type SQL pour travailler avec les données, tandis que RDD offre des méthodes de type collection Scala pour la manipulation des données.

Un avantage supplémentaire des Dataframes est que le système sprak sous-jacent optimisera vos requêtes, tout comme l'optimisation des requêtes sql. Ceci n'est pas disponible dans le cas des RDD.

Comme vous êtes novice en Scala, il est fortement recommandé d'utiliser l'API Dataframes dans un premier temps, puis d'opter pour l'API RDD en fonction des besoins.

0voto

Shankar Points 2402

Vous pouvez utiliser Databricks CSV reader qui est facile à utiliser et qui retourne DataFrame . Il déduit automatiquement les types de données. Si vous passez le fichier avec l'en-tête, il peut automatiquement l'utiliser comme schéma, sinon vous pouvez construire le schéma en utilisant la commande StructType .

https://github.com/databricks/spark-csv

Mise à jour : Si vous utilisez la version 2.0 de Spark, elle supporte par défaut la source de données CSV, veuillez consulter le lien ci-dessous.

https://spark.apache.org/releases/spark-release-2-0-0.html#new-features

Voir ce lien pour le mode d'emploi. https://github.com/databricks/spark-csv/issues/367

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