Dieser Artikel zeigt ein Beispiel für die Verwendung von Spark als Analyse -Engine, Cassandra als Datenspeicherung und Verwendung von Spring Boot, um Treiber zu entwickeln.
1. Voraussetzungen
Erstellen Sie einen Schlüsselraum
Erstellen Sie Schlüsselspace HFCB mit replication = {'class': 'SimpleStrategy', 'replication_factor': 3};Erstellen Sie eine Tabelle
Tabellenperson erstellen (ID -Text -Primärschlüssel, erster_Name -Text, last_name text);
Testdaten einfügen
In die Person (id, first_name, last_name) values ('1', 'wang', 'yunfei') einfügen. Werte ('4', 'Zhang', 'jie'); in die Person einfügen (id, first_name, last_name) Werte ('5', 'liang', 'Wei'); in Person (id, first_name, last_name) values ('5', 'liang', 'Wei');2. Spark-Cassandra-Connector-Installation
Um Spark-1.5.1 zu aktivieren, um Cassandra als Datenspeicherung zu verwenden, müssen Sie die folgenden JAR-Paketabhängigkeiten hinzufügen (Beispiel, um das Paket in/opt/spark/verwaltet-lib/verzeichnis zu platzieren, die willkürlich sein können):
Cassandra-Clientil-3.0.2.jarcassandra-driver-core-3.1.4.jarguava-16.0.1.Jarcassandra-Thrift-3.0.2.jar Joda-convert-1.2.jarjoda-2.9.9.jarlibhrift-0.9.1.JarSpark-Cassandracassandracassandracassandracassandracassandracassandracassandracassandracassanda-Cassanda-Cassanda-Cassanda-Cassanda-Cassandra-T-T-Thrift
Erstellen Sie im Verzeichnis/opt/spark/conf eine neue Spark-env.sh-Datei und geben Sie den folgenden Inhalt ein
Spark_classpath =/opt/spark/Managed-lib/*
3. Development für Spring -Boot -Anwendungen
Fügen Sie Spark-Cassandra-Connector- und Funkenabhängigkeiten hinzu
<Depepy> <gruppe> com.datastax.spark </GroupId> <artifactId> Spark-cassandra-connector_2.10 </artifactId> <version> 1.5.1 </Version> </abhängig> <Dependycy> <gruppeId> org.apache.spark </gruppen> <artifactid> spark-core_2.10 </artifactId> <artifactid> spark-core_2.10 </artifactid> <thorifactid> fark-core_2.10 </artifactid> <thorifact> </artifactId> <thorifact> </artifactId> <thorifact> </artifactId> <artifactid> fark-core_2.10 </artifactid> <artifactid> fark-core_2.10; <Depepy> <gruppe> org.apache.spark </GroupId> <artifactId> spürt-sql_2.10 </artifactID> <version> 1.5.1 </Version> </abhängig> <deichung> <gruppe.
Konfigurieren Sie Spark- und Cassandra -Pfade in application.yml
Spark.Master: Spark: // Master: 7077Cassandra.host: 192.168.1.140Cassandra.KeySpace: HFCB
Hier geben wir speziell an, dass Spark: // Master: 7077 eher ein Domänenname als eine IP -Adresse ist. Sie können die lokale Hosts -Datei so ändern, dass sie den Master- und IP -Adresse map.
Konfigurieren von SparkContext und Cassandrasqlcontext
@ConfigurationPublic Class SparkCassandRaconfig {@Value ("$ {spark.master}") String sparkmasterUrl; @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 ("funk.cassandra", "cassandra". .set ("spark.submit.deployMode", "client"); JavasparkContext context = new JavasparkContext (SparkMasterurl, "Sparkdemo", Conf); Kontext zurückgeben; } @Bean public CassandrasqlContext Cassandrasqlcontext.setkeySpace (CassandRakeySpace); return Cassandrasqlcontext; }}Einfacher Anruf
@RepositoryPublic Class PersonRepository {@autowired CassandrasqlContext CassandrasqlContext; public long countperson () {DataFrame people = cassandrasqlcontext.sql ("SELECT * AUS SELECT * AUS PERSONENE BY ID"); return people.count (); }}Starten Sie es und führen Sie es wie ein reguläres Spring Boot -Programm aus.
Quellcodeadresse: https://github.com/wiseynman/spring-spark-cassandra.git
Zusammenfassen
Das obige ist ein Beispiel für die Integrationsentwicklung von Spring Boot mit Spark- und Cassandra -System, die Ihnen vom Editor vorgestellt wurden. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!