Cet article montre un exemple d'utilisation de Spark comme moteur d'analyse, Cassandra comme stockage de données et l'utilisation de Spring Boot pour développer des pilotes.
1. Prérequis
Créer un espace de clé
Créer Keyspace HFCB avec réplication = {'class': 'Simplestrategy', 'réplication_factor': 3};Créer une table
Create Table Person (ID Text Key Primary Key, First_name Text, Last_name Text);
Insérer les données de test
Insérer dans la personne (id, first_name, last_name) valeurs ('1', 'wang', 'yunfei'); insérer dans la personne (id, first_name, last_name) ('2', 'Peng', 'chao'); insert in Person (id, first_name, last_name) valeurs ('3', 'li', 'jian'); insistation in Person dans les valeurs de personne (3 ',' li ',' jian '); INSERT (id, first_name, last_name) valeurs ('4', 'zhang', 'jie'); insérer dans la personne (id, first_name, last_name) valeurs ('5', 'liang', 'wei'); insert in Person (id, first_name, last_name) valeurs ('5', 'liang', 'wei');2.Snatk-Cassandra-Connector Installation
Pour permettre à Spark-1.5.1 d'utiliser Cassandra comme stockage de données, vous devez ajouter les dépendances de package JAR suivantes (exemple pour placer le package dans le répertoire / spark / managed-lib /, qui peut être arbitraire):
Cassandra-Clientutil-3.0.2.Jarcassandra-Driver-Core-3.1.4
Dans le répertoire / opt / spark / conf, créez un nouveau fichier Spark-env.sh et entrez le contenu suivant
Spark_classpath = / opt / spark / managed-lib / *
3. Spring Boot Application Development
Ajouter des dépendances à Spark-Cassandra et Spark
<dependency> <proupId> com.datastax.spark </proupId> <Artifactid> Spark-Cassandra-Connector_2.10 </ artifactid> <version> 1.5.1 </ version> </ Dependency> <Dedency> <proupId> org.apache.spark </pruimId> <artificity> Spark-core_2.10 </ptifactid> <Dedency> <ProupId> org.apache.Spark </rompuprid> <Artifactid> Spark-SQL_2.10 </ artifactid> <version> 1.5.1 </ version> </ Dependency> <Dedency> <ProupId> org.apache.Spark </proncID> <ArtifActid> Spark-SQL_2.10 </RetifActid> <Dersion> 1.5.1 </ version>
Configurer les chemins Spark et Cassandra dans Application.yml
Spark.Master: Spark: // Master: 7077Cassandra.host: 192.168.1.140cassandra.Keyspace: HFCB
Ici, nous indiquons spécifiquement que Spark: // Master: 7077 est un nom de domaine plutôt qu'une adresse IP. Vous pouvez modifier le fichier hôte local pour mapper maître et adresse IP.
Configuration de SparkContext et CassandrasqlContext
@Configurationpublic class sparkcassAndraconfig {@value ("$ {spark.master}") String SparkMasterL; @Value ("$ {Cassandra.host}") String Cassandrahost; @Value ("$ {Cassandra.Keyspace}") String CassAndrakeySpace; @Bean public JavasparkContext javasparkContext () {SparkConf conf = new SparkConf (true) .set ("spark.cassandra.connection.host", Cassandrahost) // .set ("Spark.cassandra.Auth.username", "Cassandra") // .set ("Spark.cassandra.Auth.password") ")") ")") .set ("Spark.Submit.DeployMode", "Client"); JavasparkContext context = new JavasparkContext (SparkMasterL, "SparkDemo", conf); contexte de retour; } @Bean public CassAndrasqlContext sqlContext () {CassAndrasqlContext CassAndrasqlContext = new CassAndrasqlContext (javasparkContext (). SC ()); CassandrasqlContext.setKeyspace (CassAndrakeySpace); return CassandRasqlContext; }}Appel simple
@RepositoryPublic class PersonRepository {@Autowired CassAndRasqlContext CassAndRasqlContext; public Long CountSerson () {dataFrame People = CassandrasqlContext.sql ("SELECT * FROM Person Order by Id"); Retour People.Count (); }}Démarrez-le et exécutez-le comme un programme de démarrage de printemps ordinaire.
Adresse du code source: https://github.com/wiselyman/spring-spark-cassandra.git
Résumer
Ce qui précède est un exemple du développement d'intégration de Spring Boot avec Spark et Cassandra System présenté par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!