Este artigo demonstra um exemplo de uso do Spark como o mecanismo de análise, Cassandra como armazenamento de dados e o uso da Spring Boot para desenvolver drivers.
1. Pré -requisitos
Crie um espaço de chave
Crie Keyspace HFCB com replicação = {'classe': 'SimleStrategy', 'Replicação_factor': 3};Crie uma tabela
Criar Table Person (TEXT PRIMÁRIO ID TEXT, FIRST_NAME TEXT, TEXTO DE LAST_NAME);
Insira dados de teste
inserir em pessoa (id, primeiro_name, last_name) valores ('1', 'wang', 'yunfei'); inserir na pessoa (id, primeiro_name, last_name) valores ('2', 'peng', 'Chao'); inserir na pessoa, id, first_name, last_name), '3,' 3 ',' '); (id, primeiro_name, last_name) valores ('4', 'zhang', 'jie'); inserir em pessoa (id, primeiro_name, last_name) valores ('5', 'liang', 'wei'; inserir em pessoa (id, primeiro_name, last_name) ('5', 'liang' ',' ',' firm_name, last_name) ('5' '' lian '', '', ';2.Spark-Cassandra-Connector Instalação
Para ativar o Spark-1.5.1 para usar o Cassandra como armazenamento de dados, você precisa adicionar as seguintes dependências do pacote JAR (exemplo para colocar o pacote no diretório/opt/spark/gerenciado-libl/, que pode ser arbitrário):
cassandra-clientutil-3.0.2.jarcassandra-driver-core-3.1.4.jarguava-16.0.1.jarcassandra-thrift-3.0.2.jar joda-convert-1.2.jarjoda-time-2.9.9.jarlibthrift-0.9.1.jarspark-cassandra-connector_2.10-1.5.1.jar
No diretório/opt/spark/conf, crie um novo arquivo Spark-env.sh e insira o seguinte conteúdo
Spark_classpath =/opt/Spark/gerenciado-lib/*
3. Desenvolvimento de aplicativos de inicialização de primavera
Adicione o Spark-Cassandra Connector e Spark Dependências
<dependency> <groupId>com.datastax.spark</groupId> <artifactId>spark-cassandra-connector_2.10</artifactId> <version>1.5.1</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.10</artifactId> <version>1.5.1</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.10</artifactId> <version>1.5.1</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.10</artifactId> <version>1.5.1</version> </dependency>
Configure os caminhos de Spark e Cassandra em Application.yml
Spark.Master: Spark: // Master: 7077Cassandra.Host: 192.168.1.140Cassandra.Keyspace: HFCB
Aqui, afirmamos especificamente que o Spark: // Master: 7077 é um nome de domínio em vez de um endereço IP. Você pode modificar o arquivo hosts locais para mapear o endereço mestre e IP.
Configurando SparkContext e CassandrasqlContext
@ConfigurationPublic Classe 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")/ "spark.cassandra.auth.username", "cassandra") //. .set ("Spark.submit.deployMode", "Client"); JavasParkContext Context = new JavasparkContext (Sparkmasterurl, "Sparkdemo", conf); contexto de retorno; } @Bean public CassandrasqlContext sqlContext () {CassandrasqlContext CassandrasqlContext = new CassandrasqlContext (JaVasparkContext (). SC (); CassandrasqlContext.SetKeyspace (Cassandrakeyspace); retornar CassandrasqlContext; }}Chamada simples
@RepositoryPublic Classe PessoaRrepository {@AUTOWIRED CASSANDRASQLCONTEXT CASSANDRASQLCONTEXT; public Long CountPerson () {DataFrame People = CassandrasqlContext.sql ("Selecione * FROM PESSOON ORDER BY ID"); devolver pessoas.count (); }}Inicie -o e execute -o como um programa regular de inicialização da primavera.
Endereço do código-fonte: https://github.com/wiselyman/spring-spark-cassandra.git
Resumir
O exposto acima é um exemplo do desenvolvimento de integração do Spring Boot com o sistema Spark e Cassandra apresentado a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!