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クラスターの構成

  1. ワークロードの種類別に単一データ・センターを初期化する」の説明に従い、混在ワークロード・クラスターでDSE SearchAnalyticsノードを作成します。

    DseSimpleSnitchを使用すると、データ・センターの名前はSearchAnalyticsに設定されます。DseSimpleSnitchを使用する既存のSearchノードまたはAnalyticsノードをSearchAnalyticsノードに変更しないでください。GossipingPropertyFileSnitchなどの別のスニッチを使用する場合は、データ・センター内に混在ワークロードを含めることができます。

  2. 負荷テストを実行して、SparkおよびSolrに必要な追加のリソース・オーバーヘッドに十分なCPUとメモリーをハードウェアが備えていることを確認します。
    注: SearchAnalyticsノードは常にドライバー・ページング設定を使用します。「CQL Solrクエリーでのページネーション(カーソル)の使用」を参照してください。

    SearchAnalyticsノードは、SearchノードまたはAnalyticsノードよりもリソースを消費する可能性があります。ノードのリソース要件は、使用するクエリー・パターンの種類によって大きく異なります。

dse.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/dse.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/dse/conf/dse.yaml

DSE SearchAnalyticsクラスターの考慮事項

DSEノードでSearchおよびAnalyticsを両方とも有効にする場合は、注意が必要です。両方のワークロードが有効になるため、これらの同時ワークロードに適切なリソースがプロビジョニングされることを確認してください。リソースには、このユース・ケースに該当する固有のインデックス作成、クエリー、処理に対応できる十分なメモリーと計算リソースが含まれます。

SearchAnalyticsクラスターは、すべてのDSEクラスターと同様に、特定のワークロードに対応できる十分なリソースが環境に提供されている場合に実稼働環境に適しています。