Эта статья демонстрирует пример использования Spark в качестве механизма анализа, Cassandra в качестве хранения данных и использования Spring Boot для разработки драйверов.
1. Предварительные условия
Создайте ключ
Создать Keyspace hfcb с репликацией = {'class': 'Sommetestrategy', 'replication_factor': 3};Создать таблицу
Создать таблицу (ID Text Primary Key, First_Name Text, The Last_Name Text);
Вставьте данные тестирования
Вставьте в личность (id, first_name, fast_name) values ('1', 'wang', 'yunfei'); вставьте в личность (id, first_name, last_name) значения ('2', 'peng', 'chao'); вставьте в личность (id, first_name, last_name) (id, first_name, last_name) values ('4', 'zhang', 'jie'); вставьте в личность (id, first_name, last_name) values ('5', 'liang', 'wei'); вставьте в личность (id, first_name, last_name) значения ('5', 'liang', 'wei');2. Установка Spark-Cassandra-Connector
Чтобы позволить Spark-1.5.1 использовать Cassandra в качестве хранения данных, вам необходимо добавить следующие зависимости пакета JAR (пример для размещения пакета в/opt/spark/managed-lib/каталог, который может быть произвольным):
Cassandra-Clientutil-3.0.2.jarcassAndra-Driver-Core-3.1.4.jarguava-16.0.1.Jarcassandra-Trift-3.0.2.jar Joda-Convert -1.2.jarjoda-Time-2.9.9.jarlibthrift-0.9.1.jarspark-cassandra-connector_2.10-5.1.jar
В каталоге/Opt/Spark/Conf Confic создайте новый файл Spark-env.sh и введите следующий контент
Spark_classpath =/opt/spark/Managed-lib/*
3. Разработка приложений Spring Boot
Добавить зависимости от Spark-Cassandra-Connector и Spark
<depervice> <groupid> com.datastax.spark </groupid> <artifactid> spark-cassandra-connector_2.10 </artifactid> <sersive> 1.5.1 </version> </dependency> <dehyederence> <groupid> org.apache.spark </Ground> <ratifactid> spark-core_2.10 </artifactid> <sersemence> <serse> 1.5.11 </Groupid> <strifactid> spark-core_2.10 </2.10 </2.10 </2.10 </2.10 </2.10 </2.10 </2.10 </2.10 </2.10 <dependency> <groupid> org.apache.spark </groupid> <artifactid> spark-sql_2.10 </artifactid> <sersion> 1.5.1 </version> </depervice> <dehydency> <groupid> org.apache.spark </groupid> <strifactid> spark-sql_2.10 </artifactid> <serse> 1.5.1 </5.1 </5.1 </5.1 </5.1 </5.1 </5.1 </5.1 </5.1 </5.1 </5.1 </5.1 </.
Настроить пути Spark и Cassandra в Application.yml
Spark.master: Spark: // Master: 7077cassandra.host: 192.168.1.140cassandra.keyspace: HFCB
Здесь мы специально утверждаем, что Spark: // Master: 7077 - это доменное имя, а не IP -адрес. Вы можете изменить файл локальных хостов на карту Master и IP -адрес.
Настройка SparkContext и 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.concection.host", cassandrahost) // .set ("spark.cassandra.auth.username", "cassandra") // .set ("spark.cassandra.Auth.pass.pass '") ")". .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 * of permon order от id"); вернуть People.count (); }}Запустите его и выполните, как обычная программа загрузки весной.
Адрес исходного кода: https://github.com/wiselyman/spring-park-cassandra.git
Суммировать
Выше приведено пример разработки интеграции Spring Boot с системой Spark и Cassandra, введенной вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!