メイン コンテンツをスキップする 補完的コンテンツへスキップ

IBM InfoSphere DataStage - インポート

Availability-note AWS

ブリッジの仕様

ベンダー IBM
ツール名 InfoSphere DataStage
ツールバージョン 7.5〜11.x
ツールのWebサイト http://www.ibm.com/software/data/infosphere/datastage/
サポートされている方法論 [データ統合] マルチモデル、XMLおよびDSXファイル経由のETL (ソースとターゲットのデータストア、変換来歴、式解析)。
データプロファイリング
増分収集
マルチモデル収集
モデル選択のためのリモートリポジトリーの参照

仕様
ツール: XMLファイルとDSXファイル経由のIBM / InfoSphere DataStageバージョン7.5〜11.x
http://www.ibm.com/software/data/infosphere/datastage/をご覧ください。
メタデータ: [データ統合] マルチモデル、 ETL (ソースとターゲットのデータストア、変換来歴、式解析)
コンポーネント: AscentialDataStageバージョン11.2.0

概要
このインポートブリッジはDataStageで生成されたDSXファイルやXMLファイルを読み取ります。

要件
該当なし

よくある質問
該当なし

制限事項
現在判明している一般的な制限事項は、MIMB Known Limitationsか、バンドルされているDocumentation/ReadMe/MIMBKnownLimitations.htmlをご覧ください。

一部のモデルには特殊文字が含まれており、その場合は正しく転送するためにエンコーディングが必要です。DataStageからエクスポートされた場合、XML形式では問題が頻発しますが、DSXでは正しいエンコーディング情報が提供されます。この問題はXMLの解析エラーとして顕在化する可能性が高いです。エラーを回避するためには、DSXファイルをDataStageからエクスポートします。

サポート
トラブルシューティングパッケージを次の項目と共に提供してください:
- デバッグログ(UIまたはconf/conf.propertiesでMIR_LOG_LEVEL=6を使って設定可能)
- 利用できる場合はメタデータバックアップ(技術的理由によりこの共通オプションが実装されていないブリッジがあるものの、Miscellaneousパラメーターで-backupオプションを使って設定可能)


ブリッジパラメーター

パラメーター名 説明 タイプ デフォルト 範囲
ファイル DataStageでは2種類のエクスポート形式(XMLとDSX)を利用できます。このインポートブリッジは両方に対応していますが、XMLで問題が発生することもあります。このようなファイルを作成するためには、次の手順に従います。
- Designerクライアントでプロジェクトを開きます。
- モデルとしてエクスポートするジョブフォルダーを選択します。
- エクスポートメニューを選択します。
- - [DataStageコンポーネント...]メニュー項目を選択します。
DataStage XMLファイルで[解析に失敗しました]というエラーが発生する場合は、通常、XMLファイル内のエンコーディングエラーが原因です。この問題を回避するためには、モデルをDSXファイルにエクスポートします。
ファイル
*.dsx
*.xml
  必須
インポートスコープ このパラメーターは、XMLファイルの選択からインポートされるメタデータのスコープを制限するために使用します。

含まれるオプション:
- テーブル定義のみ
- シーケンスおよびスタンドアロンジョブ(そこで使用するテーブル定義を含む)
- すべてのオブジェクト。選択したXMLファイル内にあるすべて。

来歴と影響の分析を含むほとんどすべてのアプリケーションで、このパラメーターはシーケンスとスタンドアロンジョブに対して設定する必要があります。この設定により、DataStageファイル内にあるすべてのソース、宛先、および変換がインポートされるからです。
ENUMERATED
テーブル定義のみ
シーケンスとスタンドアロンジョブ
サポートされているすべてのオブジェクト
シーケンスとスタンドアロンジョブ  
変数値ファイル 特定のDataStageジョブについて、パラメーターはファイルConfiguration.iniで定義でき、パラメーターセット (例: ソースパラメーターとターゲットパラメーター)で定義できるため、各パラメーターセットでは同じ変数(開発と本番の値など)を複数の値のオプションで提供できます。したがって、特定のDataStageジョブのパラメーターは、次のように多くの変数ファイルが含まれるディレクトリーに定義される場合があります:
/home/DataStage/
.../ini/
....../Project1.ini
....../Project2.ini
.../ParameterSets/
.../project1_paramSets
....../ParameterSetName1/
.....,..../ParameterSet1Option1_valueFile
........../ParameterSet1Option2_valueFile
....../ParameterSetName2/
.....,..../ParameterSet2Option1_valueFile
........../ParameterSet2Option2_valueFile
.../project2_paramSets
....../ParameterSetName3/
.....,..../ParameterSet3Option1_valueFile
........../ParameterSet3Option2_valueFile
....../ParameterSetName4/
.....,..../ParameterSet4Option1_valueFile
........../ParameterSet4Option2_valueFile

このインポートブリッジパラメーター_Variable値file_ は、次のいずれかで設定できます:

- 単一の変数ファイル、次のいずれかになります:
/home/DataStage/Job1/configuration.ini
/home/DataStage/Job1/ParameterSetName1/ParameterSetValueOption1/VariableValueFile
/tmp/Job1/CustomerGeneratedCustomCompleteVariableValueFile

- または次のようなディレクトリーになります:
/home/DataStage/Job1/
これは、ルートにあるconfiguration.iniとその下の変数ファイルを含むすべてのファイルを排他的に読み取ります。
警告1: 他のタイプのファイルをそのディレクトリーに入れないでください。job.dsxファイルがありません
警告2: コピーを作成せず、不要なオプションパラメーターファイルを削除すると、パラメーター値は最後に読み取られたオプション値ファイルで定義された値になります。

DataStageは、ジョブおよび接続内で指定されるパラメータの多くで置換変数を使用します。多くの場合、これらの変数に割り当てられる必要がある値は、このインポートブリッジが解析するXMLファイルによって入力されることはありません。そのような場合、インポートブリッジは変数の値を決定できなかったという警告をログに報告し、結果モデルには何も置換せずに変数名をそのまま残します。このような変数の正しい置換値を決定するため、インポートブリッジは変数名が書かれた変数値ファイルを読み取り、代入する正しい値を判断します。

変数値ファイルのパス名をこのパラメーターに入力します。

指定されたディレクトリーには、通常のパラメーターファイルまたはパラメーターセットをが含まれている必要があります。このディレクトリーには他のファイルを含めないようにしてください。.iniという拡張子を持つファイルはすべて、通常のパラメーターファイルであることが期待されます。他のファイルは、パラメーターセットの値ファイルとして処理されます。通常、パラメーターセットファイルには拡張子はなく、セット名は親ディレクトリー名から取得されます。

通常、環境変数を参照する変数名はドル記号($)で始まります。変数名では大文字と小文字が区別されず、先頭と末尾のスペースがすべて切り詰められます。

変数が見つかり、その値が変数値ファイルにないか、ここで指定した変数値ファイルがない場合、インポートブリッジは(そのインポートブリッジの実行時に)オペレーティングシステム環境変数を使用して値の解決を試みます。
パラメーターファイルを使用して接続名のシステムタイプを指定できます。使用する形式:
'CONNECTION.'<ConnectionName>=<SystemType>
<SystemType>:={'DB2/UDB'|'MICROSOFT SQL SERVER'|'ORACLE'|'TERADATA'|'SYBASE SQL SERVER'|'INFORMIX'|'HIVE'}
ODBC接続では、接続の背後にある実際のデータベースシステムを知っていると有益です。
ファイル *.*    
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>は空であることが必要です。

このオプションの主な用途は、データストアインポートブリッジ(特にJDBCベースのデータベースインポートブリッジ)です。

なお、このオプションは次のようなブリッジでは動作しません。
- ファイルベースのインポートブリッジ(入力ファイルで代用可能なため)
- DI/BIリポジトリーインポートブリッジ(ツールのリポジトリーネイティブバックアップで代用可能なため)
- APIベース(COMベースなど)による一部のインポートブリッジ(技術的な理由のため)

データ接続オプション
使用するソースとターゲットのデータストアを参照するよう、通常は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 (デフォルト)

ETLのオプション
これらのオプションは、以下の目的ですべてのETL/DIツールとスクリプティングインポートブリッジで利用できます:
- SQL解析をすべて処理する
- デザインモデルとランタイム変数からランタイムモデルをビルドする
- ランタイムサマリー来歴を計算する

-etl.summary.add.ultimate (以前の-ppus)

最終的なランタイム来歴サマリーを追加します(非常に大きなモデルが生成される可能性があります)。

-etl.summary.only.ultimate (以前の-ppsp)

最終的なランタイム来歴サマリーのみ生成します(非常に大きなモデルが生成される可能性があります)。

-etl.connections.add.internal.design (以前の-pppd)

内部ETLデザインデータコネクター(ETL変換に必要)を追加します。

-etl.connections.remove.input (以前の-ri)

生成されるモデルのサイズ縮小のため、入力(ソース)データ接続をすべて削除します。

-etl.transformations.enable.xml

このオプションによって、DI/ETLインポートブリッジ(Informatica PowerCenter、Informatica Developer、Microsoft SSIS、IBM DataStage、Talend Data Integration など)でのXML変換の解析とサポートが有効になります。
Informaticaの場合、そのようなXML変換は次のPowerCenterの機能に相当します。
https://docs.informatica.com/data-integration/powercenter/10-5/xml-guide/midstream-xml-transformations.html
https://docs.informatica.com/data-integration/powercenter/10-5/xml-guide/xml-source-qualifier-transformation.html
ただし、このオプションはインポートの速度を著しく低下させる可能性がありますのでご注意ください。

IBM DATA STAGEのオプション
-Statistics <Statistics_file_path>

ETLインポート統計を生成。例:
-Statistics C:\Temp\Stats.csv

-cd: ディレクトリーパスでファイルシステムの接続を分割またはマージします。

接続を複数のルートフォルダーに分割するのに便利です。それをスティッチして複数のファイル保存先にまとめることができます。orig_conという接続を2つの接続に分割する場合は、aフォルダーに基づくa_conが1つで、残りがorig_con接続に残ることになります。
-cd a_con=orig_con:/a

orig_conという接続を2つの接続に分割する場合は、root/aフォルダーに基づいてa_conとなります。
-cd a_con=orig_con:/root/a -

複数の接続をマージして1つにするのに便利です。2つの接続(R1というルートフォルダーを持つC:、およびR2というルートフォルダーを持つB:)を、R1とR2という2つのルートフォルダーを持つ1つのC:接続にマージさせる場合:
-cd C:\=B:\
STRING      

 

ブリッジのマッピング

Meta Integration Repository (MIR)
メタモデル
(OMG CWM標準に基づく)
[IBM InfoSphere DataStage]
メタモデル
AscentialDataStage
マッピングのコメント
     
関連 ForeignKey  
AssociationRole ForeignKey  
多重度   外部キー情報に基づく
ソース   外部キー情報に基づく
AssociationRoleNameMap ForeignKey  
属性 カラム  
説明 説明  
名前 名前  
オプション Null可能  
BaseType カラム、StageVariable  
データ型 SQL型 データ型変換配列をご覧ください。
名前   データ型に基づく
PhysicalName   データ型から派生
CandidateKey カラム  
クラス テーブル定義  
CppClassType   ENTITYに設定
CppPersistent   Trueに設定
説明 説明  
名前 [Table name] (テーブル名) クラス名。設定されていない場合は計算
PhysicalName   クラスの物理名。設定されていない場合は[名前]から計算
ClassifierMap ステージ (ある場合は)ステージ変数に1、および入力または出力ピンごとに1
名前 名前  
操作 制約、SqlRef、SqlPrimary、SqlInsert  
DataAttribute カラム、StageVariable  
説明 説明  
名前 名前  
DataSet ステージ (ある場合は)ステージ変数に1、および入力または出力ピンごとに1
名前 名前  
DatabaseSchema テーブル定義  
名前 所有者 レコード識別子内
DerivedType カラム、StageVariable  
データ型 SQL型 データ型変換配列をご覧ください。
長さ 精度  
名前 SQL型  
PhysicalName   データ型から派生
スケール スケール  
UserDefined   Falseに設定
DesignPackage ジョブカテゴリー、共有コンテナーカテゴリー、テーブル定義カテゴリー  
名前 名前、Source.DBDName カテゴリーから
UserDefined   Falseに設定
FeatureMap カラム、StageVariable  
名前 名前  
操作 式、導出、初期値  
ForeignKey ForeignKey  
StoreModel DataStageファイル  
名前   ファイル名に基づく

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。