この記事では、Sparkを分析エンジンとして、Cassandraをデータストレージとして使用し、Spring Bootを使用してドライバーを開発する例を示しています。
1。前提条件
キースペースを作成します
Replication = {'class': 'simpleStrategy'、 'Replication_Factor':3}を使用してKeySpace HFCBを作成します。テーブルを作成します
テーブルパーソン(IDテキストPrimary Key、First_name Text、last_name Text);
テストデータを挿入します
人(id、first_name、last_name)値( '1'、 'wang'、 'yunfei') values( '4'、 'zhang'、 'jie'); insertingine person(id、first_name、last_name)values( '5'、 'liang'、 'wei')
2.Spark-Cassandra-Connectorのインストール
Spark-1.5.1がデータストレージとしてCassandraを使用できるようにするには、次のJARパッケージ依存関係を追加する必要があります(Packageを/opt/spark/managed-lib/ディレクトリに配置する例は、任意の場合があります):
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.9.9.9.9.99
/opt/spark/confディレクトリで、新しいSpark-env.shファイルを作成し、次のコンテンツを入力します
spark_classpath =/opt/spark/managed-lib/*
3。スプリングブートアプリケーション開発
Spark-Cassandra-ConnectorとSparkの依存関係を追加します
<Dependency> groupId> com.Datastax.Spark </groupId> <artifactid> Spark-Cassandra-Connector_2.10 </artifactid> 1.5.1 </version> </dependency> <seplency> <shepence> <groupid> <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
Application.ymlでSparkとCassandraパスを構成します
Spark.master:Spark:// Master:7077Cassandra.Host:192.168.1.140Cassandra.Keyspace:HFCB
ここでは、Spark:// Master:7077はIPアドレスではなくドメイン名であると具体的に述べています。ローカルホストファイルを変更して、マスターと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.connection.host"、cassandrahost)//。 .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 by id"); return people.count(); }}それを起動し、通常のスプリングブートプログラムのように実行します。
ソースコードアドレス:https://github.com/wiselyman/spring-spark-cassandra.git
要約します
上記は、編集者が紹介したSparkとCassandraシステムを備えたSpring Bootの統合開発の例です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!