ibm.infosvr-metadata-asset-manager
ansible-role-infosvr-metadata-asset-manager
IBM Metadata Asset Managerを使用してメタデータのデプロイを自動化するAnsibleロールです。
Ansibleが初めてですか?このシンプルな紹介が役に立つかもしれません。
要件
- Ansible v2.4.x
- IBM Information Server環境への「dsadm」アクセス権
- インベントリーグループ名は「IBM.infosvr」ロールと同じように設定
ロール変数
インラインドキュメントについてはdefaults/main.yml
を参照し、必要な主要変数の例は以下を確認してください。
各ブローカーとブリッジには独自のパラメーターがあり、これらはvars/
内の各YAMLファイルで詳細にドキュメント化されています。また、すべてのブローカーとブリッジの最低限の要件はvars/simple_examples.yml
に文書化されています。すべてのブローカーとブリッジが動作する予定ですが、リストは徐々に増加するため、特定のバージョンのこのロールでvars/
に含まれているものだけが動作します。
例プレイブック
このロールは、メタデータをデプロイするために他のプレイブックに必要に応じてインポートされることを主に意図しています。情報サーバー環境内のサポートされているブローカーやブリッジを通じて行います。(そのため、Ansible v2.4.xおよびimport_role
モジュールが必要です。)
以下の例は、次のことを行います:
- Information Serverに含まれるDB2ドライバーをJDBC設定に追加します。
- DB2データベース
MYDB
に接続するためのデータ接続AutoJDBC
を作成します(まだ存在しない場合)。myhost.somewhere.com
で接続します。(Information Server v11.7以上が必要) - インポートエリアを作成し、情報サーバーエンジンティアのファイルシステムの
/data/loadable
内のファイルのメタデータをインポートします(見つかったホスト名を'IS-SERVER.IBM.COM'として記録)。 AutoJDBC
接続のMYDB
のDB2INST1
スキーマのメタデータ(例えば、テーブルや列のメタデータ)を自動的にインポートし、その後、列分析を実行し、用語の割当てを自動的に検出し、データ品質分析を実行し、完了後、結果を情報ガバナンスカタログに公開します。(Information Server v11.7以上が必要)
変数の定義順序は重要ではありません。このロールは、自動的に依存オブジェクトが最初に実行されるように適切な順序で実行します(例えば、JDBC設定がデータ接続やインポートエリア経由でデータ接続をしようとする前に完了します)。
- import_role: name=IBM.infosvr-metadata-asset-manager
vars:
import_areas:
- name: Simple_LocalFileConnector_ImportArea
type: LocalFileConnector
description: "LocalFileConnectorインポートエリアの簡単なサンプル(必須フィールドのみを設定)"
metadata_interchange_server: myhost.domain.com
dcn:
name: LOCALFS
assets_to_import:
- "folder[/data/loadable]"
hostname: "IS-SERVER.IBM.COM"
jdbc_entries:
classpaths:
- /opt/IBM/InformationServer/ASBNode/lib/java/db2jcc.jar
classnames:
- com.ibm.db2.jcc.DB2Driver
data_connections:
- name: AutoJDBC
type: JDBCConnector
description: JDBCソースに対して自動的に発見するためのデータ接続
url: jdbc:db2://myhost.somewhere.com:50000/MYDB
username: db2inst1
password: "{{ a_password_from_eg_vault }}"
discover_sources:
- dcn: AutoJDBC
project: UGDefaultWorkspace
target_host: myhost.somewhere.com
steps:
- import
- columnAnalysis
- termAssignment
- dataQualityAnalysis
- publish
parameters:
rootAssets: schema[MYDB|DB2INST1]
Asset_description_already_exists: Replace_existing_description
可能な変数
import_areas
この変数を使用して、Metadata Asset Managerのインポートエリアを定義する複雑な構造のリスト(配列)を提供します。インポートエリアがまだ存在しない場合は作成され、ロードされます。既に同じ名前のインポートエリアが存在する場合は、そのメタデータが再インポートされます(インポートエリアは置き換えられません)。
完全に文書化された例の構造はvars/documented_*.yml
で見つけることができます。簡単な構造はvars/simple_examples.yml
にあります。
data_connections
v11.7以上でのみ利用可能で、この変数を使用して完全なインポートエリアではなくデータ接続のみを定義できます。これは、たとえば、v11.7以降で利用可能な自動発見機能を利用したい場合に便利です(つまり、メタデータの収穫をパイプラインし、その後自動的に列分析を行うことなど)。
odbc_entries
この変数を使用して、{DSHOME}/.odbc.ini
ファイルに追加すべきODBCエントリを定義します。これは、DataStageやIMAMのODBC接続を介して適切な接続性を確保するために必要です。
通常、これらのオブジェクト内で必要なキーは次のとおりです:
name
: ODBCエントリの(ユニークな)名前description
: ODBCエントリの説明(=
という文字をどこにも使用しないこと)type
: ODBCエントリのタイプ、db2
、dbase
、informix
、oracle
、oraclewire
、sqlserver
、sqlservernative
、sybase
、sybaseiq
、salesforce
、text
、teradata
、openedge
、mysql
、postgres
、greenplum
、hive
、impala
のいずれかdatabase
: データベースの名前(RDBMSエントリ用)host
: データソースをホストするシステムのホスト名またはIPアドレスport
: ポート番号(RDBMSエントリ用) -- 通常、特定のデータベースタイプのデフォルトポートに設定されます
異なるプラットフォームのODBCドライバーはさまざまなプラットフォーム固有のオプションをサポートするため、これらも(オプションとして)指定できます。指定できるオプションについてはtemplates/odbc/*.j2
のテンプレートを参照してください。必要でないオプション(上記のリスト)を指定しない場合、自動的にODBC設定でデフォルト値が設定されます。
最後に、特定のエントリに追加したい追加のプロパティがあり、デフォルト値がない場合(つまり、上記のテンプレートにリストされていない場合)は、extras
エントリにキーと値のペアとして追加します。
例:
odbc_entries:
- name: IADB on DB2
description: IADB on DB2への接続
type: db2
database: IADB
host: infosvr.vagrant.ibm.com
- name: Test database on Oracle
description: Oracle上のテストデータセットへの接続
type: oracle
database: TESTDB
host: infosvr.vagrant.ibm.com
SID: TESTDB
extras:
- QueryTimeout: -1
- ColumnSizeAsCharacter: 1
- ColumnsAsChar: 1
jdbc_entries
この変数を使用して、{DSHOME}/isjdbc.config
ファイルに含めるべきJDBCクラスを定義します。これは、DataStageやIMAMのJDBC接続を介して適切な接続性を確保するために必要です。
2つのサブキーが必要です:
classpaths
: CLASSPATHに追加すべきJavaクラスの場所を定義します。すなわち、JDBCドライバーを提供します。classnames
: 上記のCLASSPATH内のJDBCドライバーを提供するJavaクラスの名前を定義します。
ロールは、すでに設定ファイルに含まれていないclasspathsやclassnamesが追加されるようにし、すでに存在するものはそのままにします。
例:
jdbc_entries:
classpaths:
- "{{ ibm_infosvr_metadata_asset_mgr_install_location }}/ASBNode/lib/java/db2jcc.jar"
classnames:
- com.ibm.db2.jcc.DB2Driver
osh_schemas
この変数を使用して、データファイルのためのOSHスキーマファイルを生成するためのDDLファイル(CREATE TABLE文を含む)を定義します。
すべてのパラメーターは必須ですが、tables
パラメーターはオプションです -- 指定しない場合、指定されたddl
内のすべてのCREATE TABLE文に対してOSHスキーマが生成されます。
これにより、以下が作成されます:
- 指定された
dest
ディレクトリ内に、指定されたddl
内の各CREATE TABLE文に対して1つの(空の)データファイル(オプションのtables
パラメーターで定義されたテーブルによって制限されます)。指定されたfileext
をファイル拡張子とします。 - 作成された各空のデータファイルに対して、同じ指定された
dest
ディレクトリ内に1つのOSHスキーマファイルを作成し、.osh
を追加のファイル拡張子として追加します。
例:
osh_schemas:
- ddl: /some/location/MYDB.sql
structure: "file_format: 'delimited', header: 'false'"
recordfmt: "delim='|', final_delim=end, null_field='', charset=UTF-8"
dest: /some/target/directory
fileext: csv
tables:
- TABLE1
- TABLE2
上記の例では、以下が作成されます:
/some/target/directory/TABLE1.csv
/some/target/directory/TABLE1.csv.osh
/some/target/directory/TABLE2.csv
/some/target/directory/TABLE2.csv.osh
discover_sources
この変数を使用して、v11.7以上で自動的に発見するデータソースを定義します。
各エントリに必要なサブキーは次のとおりです:
dcn
: 使用するデータ接続の名前を指定project
: 発見を行うメタ情報分析プロジェクトの名前を指定target_host
: 発見対象のソースで使用するホスト名を指定
残りのサブキーはオプションです:
parameters
: 発見に適用する追加の動作や制限を定義するサブキーのセットを提供し、例えば:rootAssets
: 発見を実行する資産のサブセットを定義(指定しない場合はターゲット内のすべての資産が発見されます)Asset_description_already_exists
: 同じ識別子を持つ特定のテクニカル資産が既に存在する場合の対処方法を定義- その他のパラメーターも、ソースのタイプによって可能(詳細はInformation ServerKnowledge Centreを参照)
steps
: 発見プロセスの各ステップを適用することを示し、以下を含むことができます:import
: ソースの技術メタデータを発見し、情報ガバナンスカタログにインポートしますcolumnAnalysis
: ソースに対して列分析を実行し、フォーマット、値の頻度分布、データクラスを検出しますtermAssignment
: 検出されたデータクラスに基づいて技術メタデータにビジネス用語を自動的に割り当てることを試みますdataQualityAnalysis
: 標準的な品質チェックを実施しますpublish
: その他のステップの結果を情報ガバナンスカタログに公開します
最後のpublish
ステップまで、すべての作業は発行されていない状態でメタ情報分析プロジェクト/ワークスペースで保持されます。一度公開されると、すべての分析は情報ガバナンスカタログで誰でも見ることができます。そのため、レビューを強制(および手動で公開する決定)するために、この最後のpublish
ステップを省略することをお勧めします。デフォルトでは、ステップが指定されていない場合、発見にはpublish
ステップを除くすべてのステップが含まれます。
また、rootAssets
のschema[DBNAME|SCHEMA]
形式は、JDBC接続に適用されるときにDBNAME
部分に特別な値が必要な場合があります(例:DB2の場合、データベースはデータ接続の一部として提供されるURLに含まれるため、ここでは常にdb2
を提供します)。
例:
discover_sources:
- dcn: AutoJDBC
project: UGDefaultWorkspace
target_host: myhost.somewhere.com
steps:
- import
- columnAnalysis
- termAssignment
- dataQualityAnalysis
- publish
parameters:
rootAssets: schema[MYDB|DB2INST1]
Asset_description_already_exists: Replace_existing_description
ライセンス
Apache 2.0
著者情報
クリストファー・グローテ
Automates data connectivity configuration through IBM Metadata Asset Manager
ansible-galaxy install ibm.infosvr-metadata-asset-manager