Apache Cassandra への接続

Apache Cassandra は非 SQL データベース管理システムです。組織の Cassandra データをインポートするには、Analytics のデータ コネクターを使用します。

開始する前に

Cassandra に接続するには、以下を収集する必要があります。

  • データベース サーバーのホスト名
  • 正しい接続ポート
  • ユーザー名とパスワード(認証を使用する場合)

接続の前提条件の収集については、組織のコネクター管理者に支援を仰いでください。管理者から支援を得られない場合は、あなたまたは管理者からコネクターのサポートにお問い合わせください。

Cassandra 接続を作成する

  1. Analytics のメイン メニューから、[インポート > データベースとアプリケーション]を選択します。
  2. ACL コネクター セクションの[新規の接続 ]タブから、Cassandraを選択します。

    ヒント

    使用可能なコネクターのリストをフィルタリングするには、[接続のフィルタリング]ボックスに検索文字列を入力します。コネクターはアルファベット順に表示されます。

  3. データ接続の設定]パネルが開いたら、接続設定を入力し、パネルの下部にある[保存して接続]をクリックします。

    デフォルトの接続名を使用するか、新しい接続名を入力します。

お使いのコネクターの接続は、[既存の接続]タブに保存されます。今後は、保存したこの接続を使って、お使いのコネクターに再度接続できます。

接続が確立されると、データ アクセス ウィンドウが開いてステージング領域が表示されるので、データのインポートを開始できます。コネクターからのデータのインポートのヘルプについては、データ アクセス ウィンドウを使用したデータのインポートを参照してください。

Cassandra の問い合わせ

Apache Cassandra 設計の利点の 1 つは、非正規化されたデータを少ない数のテーブルに格納できることです。セット、リスト、マップなどのネストされたデータ構造を利用することで、トランザクションが簡易化されます。ただし、Analytics はこのデータ型へのアクセスをサポートしません。コレクション(セット、リスト、マップ)内のデータを仮想テーブルに再正規化することで、コネクターを使用して、ユーザーは直接データを操作できますが、Cassandra の非正規化された形式のデータの保存は残します。

テーブルにコレクション列が含まれる場合は、初めてテーブルが問い合わせられるときに、コネクターは次の仮想テーブルを作成します。

  • コレクション列を除く、実際のテーブルと同じデータを含む「基本」テーブル。
  • 各コレクション列の仮想テーブル。ネストされたデータを展開します。

仮想テーブルは実際のテーブルのデータを参照し、コネクターが非正規化されたデータにアクセスできるようにします。仮想テーブルを問い合わせることで、ODBC 経由で Cassandra コレクションの内容にアクセスできます。

基本テーブルと仮想テーブルは、データベースに存在するテーブルのリストに追加テーブルとして表示されます。基本テーブルは表される実際のテーブルと同じ名前を使用します。コレクションを表す仮想テーブル名は実際のテーブル名、区切り文字(デフォルトは _vt_)、列の名前を使用して設定されます。

ExampleTable は Cassandra データベース テーブルであり、整数の主キー列 pk_int、リスト列、マップ列、およびセット列(StringSet)を含みます。

コレクションを含むソース テーブル

pk_int 一覧 Map StringSet
1 ["1","2","3"] {"S1" : "a", "S2" : "b"} {"a", "b", "c"}
3 ["100","101","102","105"] {"S1" : "t"} {"a","e"}

コネクターは複数の仮想テーブルを生成し、この単一テーブルを表します。最初の仮想テーブルは基本テーブルです。

基本テーブル

pk_int
1
3

基本テーブルには、コレクションを除く元のデータベース テーブルと同じデータを含みます。これはこのテーブルから省略され、他の仮想テーブルで展開されます。

次のテーブルは、ListMapStringSet 列からデータを再正規化する仮想テーブルを示します。

一覧

pk_int List#index List#value
1 0 1
1 1 2
1 2 3
3 0 100
3 1 101
3 2 102
3 3 105

Map

pk_int Map#key Map#value
1 S1 a
1 S2 十億
3 S1

StringSet

pk_int StringSet#value
1 a
1 十億
1 c
3 a
3 e

仮想テーブルの外部キー列は実際のテーブルの主キー列を参照し、仮想テーブル行が対応する実際のテーブル行を示します。列名が #index または #key で終わる列は、元のリストまたはマップ内のデータの位置を示します。列名が #value で終わる列は、コレクションから展開されたデータを含んでいます。

Analytics 14.1 ヘルプ