データ接続
はじめに
データサイエンスツールとして効果を発揮するために、Altair AI Studioはまずデータに接続する必要があります。
- データがコンピュータ上のファイルにある場合、Altair AI Studioはファイル形式を読み取る必要があります。
- データがデータベースにある場合、Altair AI Studioはそのデータベースに接続し、データベースの言語(SQL / NoSQL)を知っている必要があります。
- データがクラウドにある場合、Altair AI Studioはクラウドサービスに接続し、そのAPIを知っている必要があります。
- データが他のソフトウェアツール、例えば、Python や Tableauからインポートまたはエクスポートされている場合、Altair AI Studioはそのツールについて知っている必要があります。
- 接続がプロキシ または 自己署名のSSL証明書を介している場合、Altair AI Studioはそれらに対応する必要があります。
Altair AI Studioは幅広いファイル形式、データベース、クラウドサービス、その他のソフトウェアツールをネイティブまたはエクステンションを介してサポートしています。
メソッド
詳細: データベースのベストプラクティス
Altair AI StudioまたはAltair AI Hubを使用してリモートデータを処理する場合、大きく分けて3つの異なるアプローチがあります
- リモートリポジトリからデータをダウンロードし、AI Studio / AI Hubで処理してから、Read Amazon S3、Read Google Storage、Write Database、Write Salesforceなどのオペレータを使用して再度データを書き戻すことができます。
- リモートリポジトリのネイティブツールを使用して、リモートリポジトリ内でデータを処理できます。
- Execute SQLオペレータはリモートデータベース内でSQLを直接実行します。
- In-Database Processingエクステンションを使用すると、Google BigQuery、Oracle、Snowflake、その他サポートされているサービスのどれであっても、リモートリポジトリのクエリ言語に自動的に変換されるネイティブAI Studioプロセスを作成できます。
接続オブジェクト
データの接続がネットワーク経由で発生する場合は、まず接続オブジェクトを作成する必要があります。接続オブジェクトを使用すると、データベース、クラウド、メールサービスへの接続が可能になります。すべての接続オブジェクトは、Connectionsサブフォルダ内のリポジトリに保存されます。
以降、単に接続と呼ぶことにしますが、リポジトリ内の他のオブジェクトと類似点があることを覚えておいてください。例えば、データベース接続をプロセスパネルにドラッグして、データベース接続をRetrieveオペレータで取得し、Read Databaseオペレータに接続することができます。
接続を作成するには、Connectionsフォルダを右クリックして、Create Connectionを選択します。Create a new connectionダイアログが開き、接続を設定できます。SQLデータベースに接続している場合は以下のような設定となります。
- Connection Type(Database)とRepository(接続が保存される場所)を選択し、Connection Nameを入力します。
- Createをクリックすると、Edit Connectionダイアログが開きます。
- Setupタブで、Database Systemを選択し、User、Password、Host、Port、(オプションで)Database名を入力します。
- Test connectionをクリックして接続をテストします。接続が正常に動作したら、Saveをクリックして接続を保存します。接続は手順(1)で選択したリポジトリのConnectionsサブフォルダに表示されます。
リポジトリパネルで接続をダブルクリックするか、接続を右クリックして Openまたは Editを選択することで、いつでも接続の詳細を確認することができます。
挿入パラメータ:接続の共有
接続オブジェクトは共有することができます。
あるユーザーグループが同じデータベースにアクセスし、Altair AI Hubで共同作業をしている場合、ユーザー名とパスワードを共有せずに、データベースの接続を共有することができるでしょうか? 答えはイエスです!
解決策は接続をテンプレートとして構築することです。共通のパラメータはあらかじめ入力されるようにしておき、ユーザー固有のパラメータは挿入されるようにします。挿入パラメータの値は接続オブジェクトに保存されるのではなく、接続が使用されるたびに外部ソースから取得されます。考えられる外部ソースには、マクロ や Altair AI Hub上の安全なストレージなどがあります。
Altair AI Hubのリポジトリで接続を作成、またはAltair AI Hubのリポジトリに接続をコピーするには、ユーザーが接続マネージャーグループに属している必要があります。「共有と権限」を参照してください。
概略すると、データベースの認証情報がAltair AI Hubに安全に保存されると仮定した場合、接続テンプレートを使用するプロセス全体は以下のように進むでしょう。接続マネージャーのロールを持つユーザーをadmin(管理者)と呼びます。
- Altair AI Studio内で管理者はAltair AI Hubリポジトリに接続を作成します。ローカルリポジトリに接続を作成することも可能ですが、その接続は挿入するソースにマクロしか提供しません。
- 接続の編集時、管理者はSet injected parametersボタンをクリックし、後で値が空白になるパラメータ(例:UserとPassword)を選択します。また管理者は挿入する値のソースとしてAltair AI Hubを選択する必要があります。
- 挿入する値を設定するには、ユーザーがAltair AI HubのWebインタフェースに接続する必要があります。Edit connection ダイアログに表示されるリンクをクリックします。
または、Webインタフェースに直接接続してから、Repository > Connectionsに移動し、名前で接続を選択します。「This connection has missing values(この接続には値がありません)」という警告が表示されます。ユーザーがリンクをクリックし、自分のユーザー名とパスワードを入力して、Save in Altair AI Hubボタンを押すと、認証情報が安全に保存されます。手順(3)は、各ユーザーごとに繰り返す必要があります。
詳細については、Altair AI Hubのドキュメント「接続の作成」 および 「使用法と挿入」をご覧ください。
挿入パラメータのマクロ
Altair AI Studioでは、接続の設定にプロセスのマクロの値をすぐに使用することが可能です。接続を編集時、Set injected parametersをクリックして、どのパラメータがマクロから値を取得するかを選択します。マクロ名はその値を挿入できるようにパラメータキーと一致する必要があります。パラメータキーはパラメータの横の情報で確認できます。
マクロソースの設定は任意です。プレフィックスを設定しない場合、マクロ名はパラメータキーと一致する必要があります。プレフィックスを設定する場合、マクロ名はプレフィックスの後にアンダースコア(_)を付け、パラメータキーで終わる必要があります。プレフィックスがmyprefixの場合、パラメータキーuserは以下のようなマクロ名になります。
myprefix_user
使用するマクロは、挿入の設定時に表示されるほか、ビューや編集ダイアログ自体にも表示されます。
これを使用してマクロを適切に接続に挿入します。
プレースホルダー
プレースホルダーは他のパラメータを参照するために任意の設定パラメータ値の中で使用することができます。プレースホルダーはフリーテキストと連結することができます。プレースホルダーのネストはサポートされていません。
プレースホルダーの構文はマクロと同じであるため、コンテキストを明確にすることが重要です。
- マクロのコンテキストはプロセスです。
- プレースホルダーのコンテキストは接続です。
プレースホルダーは現在のタブからだけでなく、他のタブからもパラメータ値にアクセスすることができます。プレースホルダーを介して別のフィールドで参照したいフィールドのキーを見つけるには、元のフィールドの情報ツールチップを参照してください。Full keyがそれにあたります。
このプレースホルダーを別のフィールドで使用するには、以下のように、パーセンテージ記号(%)と中かっこ({})で囲んで、他のフィールドのFull keyを参照します。
%{db_config.database}
プレースホルダーを解決できない場合は、単に空の文字列に置き換えられますが、それでも挿入された値としてカウントされ、プロセスの実行に失敗することはありません。
JDBCベースのデータベース接続では、このメカニズムを使用してパラメータからURLを作成します。
パラメータ情報がない場合、URLは複数のプレースホルダーと2つのコロンで構成されます。パラメータを設定することにより、これらの値は置き換えられます。
このようなプレースホルダーシステムを使用して、動的パラメータ値を設定します。