이 기사에서는 Spark를 분석 엔진으로 사용하는 예를 보여주고 Cassandra는 데이터 저장소로서 Spring Boot를 사용하여 드라이버를 개발하는 예를 보여줍니다.
1. 전제 조건
키 공간을 만듭니다
replication = { 'class': 'simplestrategy', 'replication_factor': 3}을 사용하여 키 스페이스 HFCB를 만듭니다.테이블을 만듭니다
테이블 사람 만들기 (ID 텍스트 기본 키, First_Name Text, Last_name 텍스트);
테스트 데이터를 삽입하십시오
사람 (ID, First_Name, Last_Name) 값 ( '1', 'wang', 'yunfei'); person (id, first_name, last_name) 값 ( '2', 'peng', 'chao')에 삽입; perient (id, first_name, last_name) 값 ( '3', 'li', 'in insert in') (id, first_name, last_name) 값 ( '4', 'zhang', 'jie'); person (id, first_name, last_name) 값 ( '5', 'liang', 'wei')에 삽입; 개인에 삽입 (id, first_name, last_name) 값 ( '5', 'liang', 'wei');
2. 스파크-카산산드라-커넥터 설치
Spark-1.5.1이 Cassandra를 데이터 저장소로 사용하도록하려면 다음 JAR 패키지 종속성을 추가해야합니다 (예를 들어 패키지를/opt/spark/managed-lib/directory에 배치하려면 : 임의 할 수 있습니다) :
CASSANDRA-CLIENTUTIL-3.0.2. JARCASSANDRA-CORE-3.1.4.JARGUAVA-16.0.1.JARCASSANDRA-THRIFT-3.0.2.JAR JODA-CONVERT-1.2.JARJODA-TIME-2.9.9.9.Jarlibthrift-0.9.1.jarlibthrift-0.9.1.jarsparkandra-Connercnect-10.10-10-1.1.1.jarnector
/opt/spark/conf directory에서 새로운 spark-env.sh 파일을 만들고 다음 내용을 입력하십시오.
spark_classpath =/opt/spark/managed-lib/*
3. 스프링 부트 응용 프로그램 개발
Spark-Cassandra-Connector 및 Spark Dependencies를 추가하십시오
<pectionency> <groupid> com.datastax.spark </groupid> <artifactid> spark-cassandra-connector_2.10 </artifactid> <version> 1.5.1 </version> </fectionency> <pectionency> <groupid> org.apache.spark </groupid> <artifactid> spark-core_2.10 </artifactid> <pectionency> <groupid> org.apache.spark </groupid> <artifactid> spark-sql_2.10 </artifactid> <bersion> 1.5.1 </version> </dependency> <prectionency> <groupid> org.apache.spark </groupid> <artifactid> spark-sql_2.10 </artifactid> </version> 1.1 </version> 1.1.15.
Application.yml에서 Spark 및 Cassandra 경로를 구성하십시오
Spark.master : Spark : // Master : 7077cassandra.host : 192.168.1.140cassandra.keyspace : HFCB
여기서 우리는 Spark : // Master : 7077이 IP 주소가 아닌 도메인 이름이라고 명시합니다. 마스터 및 IP 주소를 매핑하기 위해 로컬 호스트 파일을 수정할 수 있습니다.
SparkContext 및 CassAndrasqlContext 구성
@ConfigurationPublic 클래스 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 ( "spark.cassandra.auth.auth.Auth.Password." .SET ( "spark.submit.deploymode", "client"); JavasparkContext Context = New JavasparkContext (SparkMasterUrl, "SparkDemo", conf); 반환 컨텍스트; } @bean public cassandrasqlcontext sqlcontext () {cassandrasqlcontext cassandrasqlcontext = new CassandrasqlContext (javasparkContext (). sc ()); cassandrasqlcontext.setkeyspace (cassandrakeyspace); CassandrasqlContext를 반환합니다. }}간단한 전화
@repositorypublic class personrepository {@autowired cassandrasqlcontext cassandrasqlcontext; Public Long Countperson () {dataframe people = CassandrasqlContext.sql ( "Select * From Person Order wher ID"); Return People.count (); }}시작하여 일반 스프링 부팅 프로그램처럼 실행하십시오.
소스 코드 주소 : https://github.com/wiselyman/spring-spark-cassandra.git
요약
위의 것은 Spark 및 Cassandra 시스템과 함께 Spring Boot의 통합 개발의 예입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!