Apache Cassandra への接続
Apache Cassandra は非 SQL データベース管理システムです。組織の Cassandra データをインポートするには、Analytics のデータ コネクターを使用します。
開始する前に
Cassandra に接続するには、以下を収集する必要があります。
- データベース サーバーのホスト名
- 正しい接続ポート
- ユーザー名とパスワード(認証を使用する場合)
接続の前提条件の収集については、組織のコネクター管理者に支援を仰いでください。管理者から支援を得られない場合は、あなたまたは管理者からコネクターのサポートにお問い合わせください。
Cassandra 接続を作成する
- Analytics のメイン メニューから、[インポート > データベースとアプリケーション]を選択します。
- ACL コネクター セクションの[新規の接続 ]タブから、Cassandraを選択します。
ヒント
使用可能なコネクターのリストをフィルタリングするには、[接続のフィルタリング]ボックスに検索文字列を入力します。コネクターはアルファベット順に表示されます。
- [データ接続の設定]パネルが開いたら、接続設定を入力し、パネルの下部にある[保存して接続]をクリックします。
デフォルトの接続名を使用するか、新しい接続名を入力します。
お使いのコネクターの接続は、[既存の接続]タブに保存されます。今後は、保存したこの接続を使って、お使いのコネクターに再度接続できます。
接続が確立されると、データ アクセス ウィンドウが開いてステージング領域が表示されるので、データのインポートを開始できます。コネクターからのデータのインポートのヘルプについては、データ アクセス ウィンドウを使用したデータのインポートを参照してください。
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 |
基本テーブルには、コレクションを除く元のデータベース テーブルと同じデータを含みます。これはこのテーブルから省略され、他の仮想テーブルで展開されます。
次のテーブルは、List、Map、StringSet 列からデータを再正規化する仮想テーブルを示します。
一覧
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 で終わる列は、コレクションから展開されたデータを含んでいます。