DSE AnalyticsとSearchの統合
DSE SearchAnalyticsクラスターは、DSE AnalyticsジョブでDSE Searchクエリーを使用できます。
統合されたDSE SearchAnalytics
クラスターでは、検索クエリーを使用して分析ジョブを実行できます。この統合によって、分析ワークロードで使用されるクエリーをより詳細に制御できるようになり、処理するデータの量を減らすことでパフォーマンスが向上します。ただし、DSE SearchAnalytics
クラスターではワークロードの分離が行われず、実稼働環境におけるプロビジョニングとパフォーマンスに関する詳細なガイドラインも存在しません。
SearchAnalytics
モードで起動されたノードでは、DSE Searchインデックスを使用する分析クエリーを作成できます。このようなクエリーによって、Sparkジョブで使用されるRDDが返され、返されたデータが分析されます。
以下のコードは、DSE SparkコンソールからDSE Searchクエリーを使用する方法を示しています。
val table = sc.cassandraTable("music","solr")
val result = table.select("id","artist_name")
.where("solr_query='artist_name:Miles*'")
.take(10)
RDDの代わりに、Spark Spark Datasets/DataFramesを使用できます。
val table = spark.read.format("org.apache.spark.sql.cassandra")
.options(Map("keyspace"->"music", "table" -> "solr"))
.load()
val result = table.select("id","artist_name").where("solr_query='artist_name:Miles*'")
.show(10)
また、Spark SQLクエリーを使用することもできます。
val result = spark.sql("SELECT id, artist_name FROM music.solr WHERE solr_query = 'artist_name:Miles*' LIMIT 10")
詳細な例については、「SearchAnalyticsによるウィキペディア・デモの実行」を参照してください。
DSE SearchAnalyticsクラスターの構成
- 「ワークロードの種類別に単一データ・センターを初期化する」の説明に従い、混在ワークロード・クラスターでDSE SearchAnalyticsノードを作成します。
DseSimpleSnitch
を使用すると、データ・センターの名前はSearchAnalytics
に設定されます。DseSimpleSnitch
を使用する既存のSearchノードまたはAnalyticsノードをSearchAnalyticsノードに変更しないでください。GossipingPropertyFileSnitch
などの別のスニッチを使用する場合は、データ・センター内に混在ワークロードを含めることができます。 - 負荷テストを実行して、SparkおよびSolrに必要な追加のリソース・オーバーヘッドに十分なCPUとメモリーをハードウェアが備えていることを確認します。 注: SearchAnalyticsノードは常にドライバー・ページング設定を使用します。「CQL Solrクエリーでのページネーション(カーソル)の使用」を参照してください。
SearchAnalyticsノードは、SearchノードまたはAnalyticsノードよりもリソースを消費する可能性があります。ノードのリソース要件は、使用するクエリー・パターンの種類によって大きく異なります。
パッケージ・インストールInstaller-Servicesインストール |
/etc/dse/dse.yaml |
tarボール・インストールInstaller-No Servicesインストール |
installation_location/resources/dse/conf/dse.yaml |
DSE SearchAnalyticsクラスターの考慮事項
DSEノードでSearchおよびAnalyticsを両方とも有効にする場合は、注意が必要です。両方のワークロードが有効になるため、これらの同時ワークロードに適切なリソースがプロビジョニングされることを確認してください。リソースには、このユース・ケースに該当する固有のインデックス作成、クエリー、処理に対応できる十分なメモリーと計算リソースが含まれます。
SearchAnalyticsクラスターは、すべてのDSEクラスターと同様に、特定のワークロードに対応できる十分なリソースが環境に提供されている場合に実稼働環境に適しています。