Vertica SQL Data Warehouse (JDBC経由) - インポート
ブリッジの仕様
ベンダー | Vertica |
ツール名 | SQL Data Warehouse |
ツールバージョン | 7.x〜8.x |
ツールのWebサイト | https://www.vertica.com/ |
サポートされている方法論 | [リレーショナルデータベース] マルチモデル、JDBC API経由のデータストア(物理データモデル) |
データプロファイリング | |
増分収集 | |
マルチモデル収集 | |
モデル選択のためのリモートリポジトリーの参照 |
仕様
ツール: JDBC API経由のVertica / SQL Data Warehouseバージョン2.x
https://www.vertica.com/をご覧ください。
メタデータ: [リレーショナルデータベース] マルチモデル、データストア(物理データモデル)
コンポーネント: JdbcHpVerticaバージョン11.2.0
概要
このインポートブリッジは、ジェネリックデータベースサーバーへのJDBC接続を使ってそのメタデータ(スキーマ、テーブル、カラム、データ型など)をすべて抽出し、SQL (ビュー、ストアドプロシージャーなど)を解析してデータフロー来歴を生成します。
このインポートブリッジは、スキーマごとに1つのモデルを使い、データベースサーバーのメタデータをマルチモデルとしてインポートします。追加のインポート(増分収集)では、スキーマ内の変更が検出され、変更されたスキーマのみがインポートされます(収集済みで変更のないスキーマを再利用)。
警告
このインポートブリッジで使用されるJDBCドライバーでは、高度なメタデータ(シノニム、ビューの依存項目、候補キー、ストアドプロシージャーなど)を抽出できる実装が限られています。その場合は、各データベースに固有の専用システムテーブルに対し、より詳細なクエリーを行う必要があります。また、そのようなクエリーの実行には各データベースベンダーから提供されたネイティブドライバーを使用することも必要です。
このジェネリックJDBCデータベースブリッジは、Oracle、IBM DB2 (DB/2 UDBデータベースのみ)、Microsoft SQL Server、Sybase、Teradataでのみテスト済みであり(ここでも特定のデータベースブリッジよりも少ないメタデータを提供)、このインポートブリッジをその他のデータベースと共に使用する時にメタデータアクセスの要求は行われません。
したがって、Oracle、IBM DB2 (DB/2 UDBデータベース)、Microsoft SQL Server、Sybase、Teradataからメタデータにアクセスする場合は、専用のデータベースインポートブリッジを使用することをお勧めします。
要件
JDBCドライバーの要件については、[ドライバーの位置]パラメーターをご覧ください。
下の「権限」セクションをご覧ください。
認証
該当なし
権限
どのインポートブリッジも読み取り専用でメタデータのみ抽出することが保証されています。したがって、このインポートブリッジのユーザーは、データの読み書きを必要とするクラシックユーザーよりもはるかに必要な権限が少ないです。
ただしこのインポートブリッジの場合、JDBCドライバーのメタデータ部分に実装されていないビューやストアドプロシージャーのSQLなどの高度なメタデータにアクセスするうえでシステムテーブルへの(読み取り専用の)アクセス権を持つユーザーが必要となるので、十分な権限を持つ適切なユーザーを取得できるようデータベース管理者(DBA)を関与させる必要があります。
データベースタイプとバージョンに応じて異なるため、最小限必要な権限のセットについて特定の指示はありません。このインポートブリッジが正常に動作することを確認するためには、まずFULL Sys Adminタイプのユーザー名(すべての権限)、つまりデータベースの作成と保守に使うものと同じタイプのユーザー名でこのインポートブリッジを使用し、インポートする必要があります。このインポートブリッジが特定のデータベースに対して正常に機能するようになれば、データベース管理者は、より少ない権限であっても正しい結果を出せるユーザーを作成できます。
このジェネリックデータベースJDBCのインポートの場合:
最小限必要な権限セットについてはデータベースのタイプとバージョンによって異なるため、特定の指示はありません。このインポートブリッジが正常に動作することを確認するためには、まずFULL Sys Adminタイプのユーザー名(すべての権限)、つまりデータベースの作成と保守に使うものと同じタイプのユーザー名でこのインポートブリッジを使用し、インポートする必要があります。このインポートブリッジが特定のデータベースに対して正常に機能するようになれば、データベース管理者は、より少ない権限であっても正しい結果を出せるユーザーを作成できます。
JDBCドライバーの要件については、[ドライバーの位置]パラメーターをご覧ください。
ユーザー権限の要件については、[ユーザー]パラメーターをご覧ください。
よくある質問
Q: このインポートブリッジは、私が使用したいJDBCドライバーをどのようにしてロードしますか?
A: このインポートブリッジを開始する前に、[ドライバーパス]ブリッジパラメーターまたはシステムのCLASSPATH環境変数で、ディレクトリーまたはJARファイルのパス名を設定する必要があります。
Q: ドライバーを実行するためにはJavaのセキュリティ権限が必要ですか?
A: 一部のドライバーでは、実行時にセキュリティ権限を追加で付与する必要があります。java.policyファイルを以下のように編集すれば、追加の権限をドライバーに付与できます。
grant codeBase 'file:/C:/oracle/ora9/jdbc/lib/classes12.zip' {
permission java.security.AllPermission;
};
詳細は、ドライバーのドキュメンテーションをお読みください。
このjava.policyファイルは、実行ファイルと同じディレクトリー(通常は${MODEL_BRIDGE_HOME}/java)に作成する必要があります
制限事項
現在判明している一般的な制限事項は、https://metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.htmlをご覧ください。
サポート
トラブルシューティングパッケージを次の項目と共に提供してください:
- デバッグログ(UIまたはconf/conf.propertiesでMIR_LOG_LEVEL=6を使って設定可能)
- 利用できる場合はメタデータバックアップ(技術的理由によりこの共通オプションが実装されていないブリッジがあるものの、Miscellaneousパラメーターで-backupオプションを使って設定可能)
ブリッジパラメーター
パラメーター名 | 説明 | タイプ | 値 | デフォルト | 範囲 | ||||
ドライバーの位置 | JDBCドライバーファイルが配置されているファイルディレクトリー 指定されたドライバーのクラス名が異なる場合は、Miscellaneousブリッジパラメーターの-driver.classNameオプションを使ってその名前を指定します。 |
DIRECTORY | |||||||
ドライバークラス | JDBCドライバーのインターフェイスを実装するJavaクラスのフルネーム(パッケージ名を含む)。 この値はデータベースとドライバーに依存します。例: 'IBM DB2' com.ibm.db2.jcc.DB2Driver 'IBM Netezza' org.netezza.driver 'Ingres 10 / Actian VectorWise' com.ingres.jdbc.IngresDriver 'Ingres 9' ca.ingres.jdbc.IngresDriver 'Microsoft Access' sun.jdbc.odbc.JdbcOdbcDriver 'Microsoft SQL Server' com.microsoft.sqlserver.jdbc.SQLServerDriver 'Oracle 7' oracle.jdbc.driver.OracleDriver 'Oracle 8 Thin' oracle.jdbc.driver.OracleDriver 'PostgreSQL' org.postgresql.driver 'SAP Sybase' com.sybase.jdbc3.jdbc.SybDriver 'SQLite' org.sqlite.JDBC 'Teradata' sun.jdbc.odbc.JdbcOdbcDriver、またはビューをインポートする場合はcom.teradata.jdbc.TeraDriver 'Progress OpenEdge' com.ddtek.jdbc.openedge.OpenEdgeDriver |
STRING | sun.jdbc.odbc.JdbcOdbcDriver | 必須 | |||||
[URL] | データベースサーバーに接続するためにJDBCによって使用されるURL/完全修飾JDBC接続の文字列。例: jdbc:URLSubProtocol:URLSubName この値はデータベースとドライバーに依存します。例: 'IBM DB2 8.1 Net' jdbc:db2://COMPUTER_NAME_OR_IP:PORT/DATABASE_NAME 'IBM DB2 8.1 App' jdbc:db2:DATABASE_NAME 'IBM Netezza' jdbc:netezza://COMPUTER_NAME_OR_IP:PORT/DBname 'IBM Informix 12.10.xC3 and earlier' jdbc:informix-sqli://COMPUTER_NAME_OR_IP:PORT/DATABASE_NAME:INFORMIXSERVER=DATABASE_SERVER 'IBM Informix' jdbc:informix-sqli://COMPUTER_NAME_OR_IP:PORT/DATABASE_NAME 'Ingres / Actian VectorWise' jdbc:ingres://COMPUTER_NAME_OR_IP:PORT/DATABASE_NAME 'Microsoft Access' jdbc:odbc:YOUR_DSN 'Microsoft SQL Server' jdbc:sqlserver://COMPUTER_NAME_OR_IP:PORT 'MySQL' jdbc:mysql://COMPUTER_NAME_OR_IP/DATABASE_NAME 'Oracle 7 Thin' jdbc:oracle:thin:@COMPUTER_NAME_OR_IP:PORT:ORACLE_SID 'Oracle 8 Thin' jdbc:oracle:thin:@(description=(address=(host=DATABASE_HOST)(protocol=tcp)(port=1521))(connect_data=(sid=SID))) 'PostgreSQL' jdbc:postgresql://COMPUTER_NAME_OR_IP:PORT/DATABASE_NAME 'SAP HANA' jdbc:sap://COMPUTER_NAME_OR_IP:DATABASE_TUNNEL_PORT/?autocommit=false 'SAP SyBase' jdbc:sybase:Tds:COMPUTER_NAME_OR_IP:PORT 'SQLite' jdbc:sqlite:/C:/path/file.sqlitedb 'Teradata' jdbc:odbc:YOUR_DSN、TeraDriverの使用時は jdbc:teradata://COMPUTER_NAME_OR_IP/TMODE=ANSI,CHARSET=UTF8 (ネイティブのJavaドライバーの場合) 'Progress OpenEdge' jdbc:datadirect:openedge://COMPUTER_NAME_OR_IP:PORT;databaseName=DATABASE_NAME |
STRING | jdbc:[jdbc-prefix]:COMPUTER_NAME_OR_IP:PORT/DATABASE_NAME | 必須 | |||||
[URL Sensitive Extension] (URL機密拡張部分) | URLパラメーターに付加された、URLの機密部分(keys/secret/passwordなど)。 | パスワード | |||||||
ユーザー | データベースサーバーに接続するためにJDBCが使用するユーザー名。 ユーザー名を含んでいる完全修飾JDBC接続の文字列に[ホスト]パラメーターが基づいている場合、このパラメーターは無視されます。 ユーザーはオプションです ユーザーパラメーターは次の理由でオプションになります: - ユーザーの資格情報が不要: Microsoft Accessなどの一部のデータベースの場合。 - ユーザーの資格情報にホストパラメーターを組み込むことが可能: OracleやMicrosoft SQL Serverなどの一部のデータベースの場合。 - ユーザーの資格情報を完全性セキュリティに含めることが可能: Microsoft SQL Serverについては、http://msdn.microsoft.com/en-us/library/ms378428.aspx#Connectingintegratedをご覧ください。 この場合、インポートブリッジは接続に使うタイプの署名は次のとおりです。 - 次のタイプを使用: jdbc:sqlserver://; integratedSecurity=true - これは次の代用となります: jdbc:sqlserver://; user=userid;password=userpassword ただし、これが動作するよう、ユーザーはPATH環境変数でsqljdbc_auth.dllを利用できるようにしておく必要があります。また、ライブラリーのバージョンはそのユーザーが使用しているsqljdbc4.jarのバージョンと一致していることが必要です。 権限 このインポートブリッジのメインドキュメンテーションで「権限」のセクションをご覧ください。 |
STRING | |||||||
パスワード | データベースサーバーに接続するためにJDBCが使用するユーザーパスワード。 | パスワード | |||||||
カタログ | このブリッジは、インポートするカタログのフィルタリングをサポートしていません。一度に1つのカタログのみインポートします。 | STRING | |||||||
スキーマ | インポートするスキーマのサブセットで、セミコロンで区切られたスキーマ名のリストとして表現されたものです。例: schema1; schema2 リストが空の場合は、アクセス可能なユーザースキーマがすべてインポートされます。 デフォルトでは、システムスキーマ(例: SysAdmin)とオブジェクトがすべて無視されます。システムスキーマが必要である場合は、Miscellaneousパラメーターオプションである-system.objects.importを使用します。 SQLのLIKE演算子で使われる構文規則を使ったスキーマ名パターン: - 包含構文 %または*を使用。例: A%; %B; %C%; D - Aで開始、または - Bで終了、または - Cを含む、または - Dに等しい - 除外構文: NOTを使用。例: A%; %B; NOT %SYS; NOT 'SYS%' - where (A%のような名前または%Bのような名前) - and (%SYSとは異なる名前) - and ('SYS%'とは異なる名前) - 特殊文字: ^ $ * + ? | \ ( ) [ ] { } 空白 この名前を角括弧で囲み、特殊文字をエスケープします。例: OneWord%; [Two\sWords.*]; [Dollar\$] |
STRING | |||||||
テーブル | インポートする「テーブル」のサブセットで、テーブル、ビュー、ファンクションなど、スキーマにあるオブジェクトをセミコロンで区切ったリストが表されたもの。例: table1; table2; view1; function1 このリストが空であれば、ブリッジがサポートしているユーザーオブジェクトがすべてインポートされます。 デフォルトでは、システムテーブル(例: SysAdmin)とオブジェクトがすべて無視されます。システムテーブルが必要である場合は、Miscellaneousパラメーターオプションである-system.objects.importを使用します。 SQLのLIKE式構文を使用するテーブル名パターン: - 包含構文: %または*を使用。例: A%; %B; %C%; D - Aで開始、または - Bで終了、または - Cを含む、または - Dに等しい - 除外構文: NOTを使用。例: A%; %B; NOT %SYS; NOT 'SYS%' - where (A%のような名前または%Bのような名前) - and (%SYSとは異なる名前) - and ('SYS%'とは異なる名前) - 特殊文字: ^ $ * + ? | \ ( ) [ ] { } 空白 この名前を角括弧で囲み、特殊文字をエスケープします。例: OneWord%; [Two\sWords.*]; [Dollar\$] |
STRING | |||||||
大文字と小文字を区別 | ネームスペースでのデータベースの大文字と小文字の区別を制御(テーブル、ビュー、テーブル、カラム、ストアドプロシージャー): [自動] このインポートブリッジは、JDBC APIを使って、データベースが大文字と小文字を区別するモードに設定されているかどうかを調べようとします。 そのAPI呼び出しがJDBCドライバーによって実装されていない場合、このインポートブリッジは、データベースで大文字と小文字が区別されると仮定します。 [大文字と小文字を区別] 大文字と小文字を区別することを強制します。 [大文字と小文字を区別しない] 大文字と小文字を区別しないことを強制します。 |
ENUMERATED |
|
自動 | |||||
定義抽出SQLを表示 | ビュー定義を取得するデータベース固有のSQLクエリー。 空のままにしおくと、ビューとそのソーステーブルのリレーションシップはビルドされません。 このクエリーは、最初のパラメーターがビュー名であると想定し、オプションとして2番目のパラメーターがスキーマ名であると想定します。 実際のクエリーテキストはソースデータベースによって異なります。例: 'IBM DB2 UDB' SELECT CREATOR, NAME, TEXT FROM SYSIBM.SYSVIEWS WHERE CREATOR IN (?) 'IBM DB2 AS400' SELECT TABLE_SCHEMA, TABLE_NAME, VIEW_DEFINITION FROM QSYS2.SYSVIEWS WHERE TABLE_SCHEMA IN (?) 'IBM Netezza' SELECT CURRENT_SCHEMA, VIEWNAME, DEFINITION FROM _V_VIEW WHERE OBJTYPE='VIEW' 'Microsoft SQL Server': SELECT s.name, o.name, t.definition FROM sys.sql_modules t INNER JOIN sys.objects o ON (t.object_id=o.object_id) INNER JOIN sys.schemas s ON (o.schema_id=s.schema_id) WHERE o.type IN ('V') AND s.name IN (?) 'MySQL' SELECT '',TABLE_NAME,VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS 'Oracle' SELECT OWNER, VIEW_NAME, TEXT FROM ALL_VIEWS WHERE OWNER IN (?) 'PostgreSQL' SELECT schemaname, viewname, definition FROM pg_views WHERE schemaname IN (?) 'SAP HANA' SELECT SCHEMA_NAME, VIEW_NAME, DEFINITION FROM VIEWS 'Teradata' SELECT d.DatabaseName, m.TVMName, CASE WHEN m.CreateText IS NULL THEN m.RequestText ELSE m.CreateText END FROM DBC.TVM m INNER JOIN dbc.dbase d ON(m.DatabaseId=d.DatabaseId) WHERE m.TableKind IN('V') AND d.DatabaseName IN (?) 'Amazon Athena' SELECT TABLE_SCHEMA, TABLE_NAME, VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA IN (?) - 結果は3つのカラムを持つ次の形式の結果セットとなります: table_schema | table_name | view_definition |
STRING | |||||||
シノニム来歴SQL | シノニムを取得するデータベース固有のSQLクエリー。 このクエリーは、フルシノニム名とフルテーブル名という2つのカラムを返す必要があります。 フルネームにはスキーマ名とテーブル名が含まれている必要があります 実際のクエリーテキストはソースデータベースに応じて変わります。例: 'IBM DB2' サポートされていません。 'Microsoft SQL Server' SELECT s.name, a.name, null, a.base_object_name FROM sys.schemas AS s, sys.synonyms AS a WHERE s.schema_id = a.schema_id - 結果は次の形式の2つのカラムを持つ結果セットです: Schema.Synonym; Catalog.Schema.Table ; 'MySQL' サポートされていません。 'Oracle' SELECT OWNER, SYNONYM_NAME, TABLE_OWNER, TABLE_NAME FROM SYS.DBA_SYNONYMS [WHERE OWNER='SCOTT'] - [ と ] の間に含まれているクエリーテキストはオプションです。 - 結果は次の形式の2つのカラムを持つ結果セットです: Schema.Synonym; Schema.Table ; 'SAP HANA' SELECT SCHEMA_NAME, SYNONYM_NAME, OBJECT_SCHEMA, OBJECT_NAME FROM SYNONYMS 'Teradata' サポートされていません。 'Amazon Athena' サポートされていません。 |
STRING | |||||||
インデックスをインポート | インデックスのインポートを制御します。 'False' インデックスはインポートされません 'True' インデックスはインポートされます |
BOOLEAN |
|
False | |||||
ストアドプロシージャーの詳細 | ストアドプロシージャーからインポートされる詳細の量を制御します。 [シグナチャー] ストアドプロシージャーの名前とパラメーター [コード、シグナチャー] 上記のプラスコード [来歴、コード、シグナチャー] コードから派生した上記のプラスデータ来歴 [なし] ストアドプロシージャーの詳細は含まれていません。 |
ENUMERATED |
|
署名 | |||||
プロシージャーテキストSQL | ストアドプロシージャーのテキストを取得するためのデータベース固有のSQLクエリー。このクエリーは、フルシノニム名とフルテーブル名という2つのカラムを返す必要があります。 フルネームにはスキーマ名とテーブル名が含まれている必要があります 実際のクエリーテキストはソースデータベースによって異なります。例: 'IBM DB2' SELECT procschema, procname, text FROM syscat.procedures WHERE procschema IN (?) UNION ALL SELECT FUNCSCHEMA, FUNCNAME, BODY FROM syscat.functions WHERE FUNCSCHEMA IN (?) - 結果は3つのカラムを持つ次の形式の結果セットとなります: Schema; Procedure; Code; 'Microsoft SQL Server' SELECT s.name, o.name, t.definition FROM sys.sql_modules t INNER JOIN sys.objects o ON (t.object_id=o.object_id) INNER JOIN sys.schemas s ON (o.schema_id=s.schema_id) WHERE o.type IN ('TF','P','FN','IF') AND s.name IN (?) - 結果は3つのカラムを持つ次の形式の結果セットとなります: Schema; Procedure; Code; 'MySQL' SELECT '', ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES 'Oracle' SELECT s.owner, s.name, s.text FROM sys.dba_source s INNER JOIN sys.dba_procedures p ON (p.owner=s.owner AND p.object_name=s.name AND p.object_type=s.type) WHERE s.type IN ('PROCEDURE', 'FUNCTION') AND s.owner IN (?) ORDER BY s.name, s.line - 結果は3つのカラムを持つ次の形式の結果セットとなります: Schema; Procedure; Code; 'SAP HANA' SELECT SCHEMA_NAME, PROCEDURE_NAME, DEFINITION FROM PROCEDURES 'Teradata' サポートされていません。 'Amazon Athena' ストアドプロシージャーはサポートされていません。 |
STRING | |||||||
Miscellaneous | はじめに ダッシュで始まるMiscellaneousオプションを指定し、必要であればその後にパラメーターを追加できます。例: - connection.cast MyDatabase1="MICROSOFT SQL SERVER" 該当する場合は複数回使用できるオプションもあります。例: - connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2; オプションのリストは長い文字列になるため、${MODEL_BRIDGE_HOME}\data\MIMB\parametersにあり拡張子が.txtであるファイルからロードすることもできます。その場合、オプションはすべて、このパラメーターの唯一の値としてそのファイル内で定義されることが必要です。例: ETL/Miscellaneous.txt JAVA環境のオプション -java.memory <Javaメモリの最大サイズ> (以前の-m) 64ビットJREではデフォルトで1G、またはconf/conf.properties内の設定に従います。例: -java.memory 8G -java.memory 8000M -java.parameters <Javaランタイム環境コマンドラインオプション> (以前の-j) -java.parameters -Dname=value -Xms1G のように、-java.parametersの後ろのテキストはすべてそのままJREに渡されるため、このオプションはMiscellaneousパラメーター内の最後に来る必要があります。インターネットへのアクセスにプロキシを使用している場合は、必要なサードパーティのソフトウェアライブラリーをダウンロードできるよう、次のオプションを設定する必要があります(このオプションはhttps://repo.maven.apache.org/maven2/にアクセスするため、そして例外的にいくつかの他のツールサイトにアクセスするために不可欠です)。 注: プロキシは、(会社の)外部トラフィックをHTTPSで暗号化しながら、HTTPでプロキシにアクセスできる内部トラフィックを信頼しているものがほとんどです。この場合、HTTPSリクエストはHTTPでプロキシに到達し、プロキシはそれをHTTPSで暗号化します。 -java.parameters -java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass モデルインポートのオプション -model.name <モデル名> モデル名をオーバーライドをオーバーライドします。例: -model.name "My Model Name" -prescript <スクリプト名> このオプションによって、ブリッジの実行前にスクリプトを実行できるようになります。 スクリプトはbinディレクトリー(またはconf/conf.propertiesのM_SCRIPT_PATHで指定)にあり、拡張子が.batか.shであることが必要です。 スクリプトのパスに親ディレクトリーの記号( .. )を含めることはできません。 スクリプトは、成功した場合は終了コードである0を、失敗した場合は別の値を返します。 例: -prescript "script.bat arg1 arg2" -postscript <スクリプト名> このオプションによって、ブリッジが正しく実行された後にスクリプトを実行できるようになります。 スクリプトはbinディレクトリー(またはconf/conf.propertiesのM_SCRIPT_PATHで指定)にあり、拡張子が.batか.shであることが必要です。 スクリプトのパスに親ディレクトリーの記号( .. )を含めることはできません。 スクリプトは、成功した場合は終了コードである0を、失敗した場合は別の値を返します。 例: -postscript "script.bat arg1 arg2" -cache.clear インポート前にキャッシュをクリアするため、増分収集せずにフルインポートを実行します。 モデルが変更されず、-cache.clearパラメーターが使われていない場合(増分収集)、新しいバージョンは作成されません。 モデルが変更されず、-cache.clearパラメーターが設定されている場合(増分ではなくフルソースインポート)、新しいバージョンが作成されます。 -backup <directory> さらなるトラブルシューティングのため、入力メタデータを保存できるようにします。指定された<directory>は空であることが必要です。 -restore <ディレクトリー> 復元するバックアップ<ディレクトリー>を指定します。 データ接続オプション 使用するソースとターゲットのデータストアを参照するよう、通常はETL/DIツールとBIツールのインポートブリッジによってデータ接続が生成されます。これらのデータ接続はメタデータ管理ツールによって実際のデータストア(データベースやファイルシステムなど)への接続(メタデータスティッチング)に使われ、完全なエンドツーエンドのデータフローの来歴とインパクト分析が行われます。各データ接続の名前はインポートモデルごとに一意です。DI/BIデザインツールで使われているデータ接続名を可能な限り使用します。そうでない場合は、データベース/スキーマ名、ファイルシステムのパス、Uniform Resource Identifier (URI)など、短くても意味のある接続名が生成されます。次のオプションを使えば、接続を操作できます。これらのオプションによって、レガシーオプションである-c、-cd、-csが置き換えられます。 -connection.cast ConnectionName=ConnectionType SQL解析のためにジェネリックデータベース接続(ODBCやJDBCなど)を正確なデータベースタイプ(ORACLEなど)にキャストします。例: -connection.cast "My Database"="MICROSOFT SQL SERVER" サポートされているデータストア接続タイプのリストは次のとおりです。 ACCESS APACHE CASSANDRA DB2/UDB DENODO GOOGLE BIGQUERY HIVE MYSQL NETEZZA ORACLE POSTGRESQL PRESTO REDSHIFT SALESFORCE SAP HANA SNOWFLAKE MICROSOFT SQL AZURE MICROSOFT SQL SERVER SYBASE SQL SERVER SYBASE AS ENTERPRISE TERADATA VECTORWISE HP VERTICA -connection.rename OldConnection=NewConnection 既存の接続を新しい名前に変更します。例: -connection.rename OldConnectionName=NewConnectionName 既存の複数のデータベース接続の名前を変更し、新しい1つのデータベース接続に統合できます。例: -connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase -connection.split oldConnection.Schema1=newConnection データベース接続を1つまたは複数のデータベース接続に分割します。 1つのデータベース接続をスキーマごとの1つの接続に分割できます。例: -connection.split MyDatabase すべてのデータベース接続をスキーマごとの1つの接続に分割できます。例: -connection.split * データベースにスキーマ名を追加することで、データベース接続を明示的に分割し、新しいデータベース接続を作成できます。例: -connection.split MyDatabase.schema1=MySchema1 -connection.map SourcePath=DestinationPath ソースパスをデスティネーションパスにマッピングします。これは、異なるパスが同じオブジェクト(ディレクトリーまたはファイル)をポイントしている場合にファイルシステム接続にとって便利です。 Hadoopでは、あるプロセスがHDFSの完全パスで指定されたCSVファイルに書き込む一方、別のプロセスが、デフォルトのファイル名と拡張子を持つ相対パスで指定されている同じファイルによって実装されたHiveテーブル(外部)から読み取ります。例: -connection.map /user1/folder=hdfs://host:8020/users/user1/folder/file.csv Linuxでは、/users/johnや/users/paulといった複数のシンボリックリンクによって、/dataのような特定のディレクトリー(またはファイル)が参照されます。例: -connection.map /data=/users/John -connection.map /data=/users/paul Windowsでは、M:やN:といった複数のネットワークドライブによって、C:\dataのような特定のディレクトリーが参照されます。例: -connection.map C:\data=M:\ -connection.map C:\data=N:\ -connection.casesensitive ConnectionName... 検出されたデータストアのタイプがこの設定(Microsoft SQL ServerやMySqlなど)をサポートしている場合は、指定された接続内のオブジェクト識別子に対し、大文字と小文字を区別しないデフォルトのマッチングルールがオーバーライドされます。例: -connection.casesensitive "My Database" -connection.caseinsensitive ConnectionName... 検出されたデータストアのタイプがこの設定(Microsoft SQL ServerやMySqlなど)をサポートしている場合は、指定された接続内のオブジェクト識別子に対し、大文字と小文字を区別するデフォルトのマッチングルールがオーバーライドされます。例: -connection.caseinsensitive "My Database" -connection.level AggregationLevel 外部接続の集計レベルを指定します。例: -connection.level catalog サポートされている値のリスト: server catalog schema (デフォルト) JDBCデータベースのオプション -system.objects.import (以前の-s) (デフォルトでスキップされる)システムオブジェクトをすべてインポートします。 -synonyms.ignore (以前の-synonyms) インポート中にシノニムを無視します。これにより、シノニムが多数存在する場合はモデルのサイズが縮小されます。 -data.dictionary.server <データベース識別名> (以前の-server.name) テーブルの抽出および定義の表示に使うデータディクショナリーのサーバー名を設定します。 マルチテナントコンテナーデータベース(CDB)の場合、データディクショナリーテーブルとビュー定義のメタデータはルートレベルにのみ保存されます。ただし、各プラグ可能データベース(PDB)には、PDBに含まれているデータベースオブジェクトに関するデータディクショナリーテーブルとビューの独自のセットが存在します。dba_viewsによっては、適用不可のため使用できないものもあります。 -driver.fetch.size <行数> (以前の-f) 行数におけるデータベースドライバーのフェッチサイズ。例: -driver.fetch.size 100 -model.split (以前の-multiModel) 大型データベースモデルをマルチモデル(例: モデルごとに1つのスキーマ)に分割します。 警告: これはこのインポートブリッジを呼び出すアプリケーションによって管理されるシステムオプションであり、ユーザーが設定するものではありません。 -driver.className JDBCドライバーのインターフェイスを実装するJavaクラスのフルネーム(パッケージ名を含む)。 -tt <文字列> インポートするJDBCテーブルタイプを設定します。データベースドライバーがサポートしていないテーブルタイプ(EXTERNAL_TABLEなど)で役立ちます。例: -tt TABLE;VIEW |
STRING |
ブリッジのマッピング
Meta Integration Repository (MIR) メタモデル (OMG CWM標準に基づく) |
"Vertica SQL Data Warehouse (JDBC経由)" メタモデル Jdbc |
マッピングのコメント |
名前 | 名前 | |
属性 | テーブルカラム | |
コメント | カラムへのコメント | JDBCドライバーがサポートしている場合 |
InitialValue | デフォルト値 | |
名前 | 名前 | |
オプション | Null可能なプロパティに基づく | Accessデータベースの場合は属性が一意のインデックスにある場合のみFalseに設定 |
PhysicalName | 名前 | |
位置 | 位置 | 位置が指定されていない場合は属性の取得順序が使用されます。 |
BaseType | タイプ | |
データ型 | データ型 | データ型変換配列をご覧ください。 |
長さ | サイズ | |
名前 | 名前はデータ型から計算されます | |
PhysicalName | 名前 | |
スケール | 最大スケール | |
クラス | テーブル | TABLEタイプ |
コメント | テーブルへのコメント | JDBCドライバーがサポートしている場合 |
CppClassType | ENTITYに設定 | |
CppPersistent | Trueに設定 | |
名前 | 名前 | |
PhysicalName | 名前 | |
ClassDiagram | スキーマ | パッケージごとにクラス図が作成され、パッケージのエレメントがすべて含まれます |
DerivedType | カラム | テーブルカラム、ストアドプロシージャーカラムSQL Viewカラムまたはタイプ |
データ型 | データ型 | データ型変換配列をご覧ください。 |
長さ | サイズ | |
名前 | 名前はデータ型から計算されます | |
PhysicalName | 名前 | |
スケール | 10進数 | |
UserDefined | タイプの場合はTrue | |
DesignPackage | スキーマ | 取得されたスキーマごとにパッケージが作成されます。スキーマがない場合はデフォルトのパッケージが作成されます。 |
名前 | 名前 | スキーマがない場合、またはスキーマに名前がない場合は、[スキーマ]に設定されます。 |
SQLViewAttribute | カラムを表示 | |
コメント | カラムへのコメント | JDBCドライバーがサポートしている場合 |
名前 | 名前 | |
PhysicalName | 名前 | |
位置 | 序数位置 | |
SQLViewEntity | テーブル | [ビュー]タイプ |
コメント | テーブルへのコメント | JDBCドライバーがサポートしている場合 |
名前 | 名前 | |
PhysicalName | 名前 | |
StoreModel | カタログ | カタログに含まれているエレメント(MS SQL Serverのデータベースなど)を使ってモデルがビルドされます。 |
名前 | 名前 | カタログに名前がない場合は、[カタログ]に設定されます。 |
シノニム | テーブルのシノニム | JDBCドライバーがサポートしている場合 |
名前 | 名前 |