マッピングファイルにアクセスしてタイプマッピングを定義 - Cloud - 8.0

Talend Studioユーザーガイド

Version
Cloud
8.0
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Cloud
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発
Last publication date
2023-11-24

手順

  1. Talend Studioのメインウィンドウのツールバーでをクリックするか、メニューバーで[File] (ファイル) > [Edit Project Properties] (プロジェクトプロパティを編集)とクリックして[Project Settings] (プロジェクト設定)ダイアログボックスを開きます。
  2. ダイアログボックスのツリービューで[General] (全般)を展開し、[Metadata of TalendType] (タイプのメタデータ)を選択して[Metadata of TalendType] (TalendTypeのメタデータ)ビューを開くと、Talend Studioで使用されているすべてのデータベースタイプのマッピングファイルがリスト表示されます。

    [Import] (インポート)[Export] (エクスポート)[Remove] (削除)をクリックすれば、マッピングファイルをインポート、エクスポート、削除できます。

    必要に応じてマッピングファイルを変更するには、ファイルをダブルクリックまたは選択し、[Edit] (編集)ボタンをクリックして[Edit mapping file] (マッピングファイルの編集)ダイアログボックスを開いてXMLコードを直接変更します。

    Talendが提供する8.0 R2022-07以降のTalend Studioマンスリーアップデートをインストール済みである場合:

    • デフォルトデータタイプのマッピングファイルは変更のみ可能です。変更後は、Talend Studioの現行バージョンに対応するTalendのデフォルトデータタイプのマッピングファイルに復元できます。
    • Talend Studioのマンスリーアップデートを適用すれば、デフォルトデータタイプのマッピングファイルを自動的に移行できます。

    タイプマッピングを定義する時は、Talendタイプからデータベースタイプへ、そしてデータベースタイプからTalendタイプへの両方にマッピングする必要があります。

    • <dbTypes>エレメントとその子エレメントである<dbType>によって、サポートされるデータベースタイプが定義されます。マッピングファイルに新しいデータベースを追加するには、<dbTypes>エレメントの下に<dbType>エレメントを追加する必要があります。下の例では、BOOLEANYESNOという2つのデータベースタイプを追加します。
      <dbType type="BOOLEAN"/>
      <dbType type="YESNO"/>

      日付タイプごとにデフォルトのパターンを設定できます。これにより、テーブルからスキーマを取得したり推測したりする際に、日付タイプのカラムの日付パターンを自動的に設定できるようになります。次の例では、DATEDATETIMEという2つのデータベース型が追加されています。

      <dbType type="DATE" defaultPattern="yyyy-mm-dd"/>
      <dbType type="DATETIME" defaultPattern="yyyy-mm-dd hh:mm:ss.SSSSSS"/>
    • <talendToDbTypes>エレメントとその子エレメントである<talendType>エレメントによって、メタデータカラムでTalendタイプを設定する時に、提案されたデータベースタイプリストとデフォルトのデータベースタイプが定義されます。Talendタイプを1つまたは複数のデータベースタイプにマップするには、talendTypeエレメントを<talendToDbTypes>エレメントに追加する必要があります。下の例では、Talendタイプid_BooleanBOOLEANYESNOという2つのデータベースタイプにマップされています。
      <talendType type="id_Boolean">
      	<dbType type="BOOLEAN"/>
      	<dbType type="YESNO"/>
      </talendType>
    • <dbToTalendTypes>エレメントとその子エレメントである<dbType>によって、データベースからスキーマを取得する時に、提案されたTalendタイプリストとデフォルトのTalendタイプが定義されます。データベースタイプを1つまたは複数のTalendタイプにマップするには、dbTypeエレメントを<dbToTalendTypes>エレメントに追加する必要があります。下の例では、データベースYESNOTalendタイプid_Booleanにマップされています。
      <dbType type="YESNO">
      	<talendType type="id_Boolean"/>
      </dbType>
    注: TalendタイプマッピングファイルにあるdefaultdefaultLengthdefaultPrecisionignoreLenignorePrepreBeforelenの各属性は考慮されません。新しいタイプマッピングを定義する時にこれらの属性を追加する必要はありません。

    Accessデータベース用のXMLメタデータマッピングファイルは次のとおりです。

    <?xml version="1.0"?>
    <mapping>
        <dbms product="ACCESS" id="access_id" label="Mapping Access" default="true">
            <dbTypes>
                <dbType type="BIT" ignoreLen="true" ignorePre="true"/>
                <dbType type="BOOLEAN" ignoreLen="true" ignorePre="true"/>
                <dbType type="COUNTER"/>
                <dbType type="DATE" ignoreLen="true" ignorePre="true"/>
                <dbType type="DOUBLE" ignoreLen="true" ignorePre="true"/>
                <dbType type="DECIMAL" ignoreLen="true" ignorePre="true"/>
                <dbType type="FLOAT" ignoreLen="true" ignorePre="true"/>
                <dbType type="INTEGER" ignoreLen="true" ignorePre="true"/>
                <dbType type="NUMERIC" ignoreLen="true" ignorePre="true"/>
                <dbType type="REAL" ignoreLen="true" ignorePre="true"/>
                <dbType type="SMALLINT" ignoreLen="true" ignorePre="true"/>
                <dbType type="TINYINT" ignoreLen="true" ignorePre="true"/>
                <dbType type="TIME" ignoreLen="true" ignorePre="true"/>
                <dbType type="TIMESTAMP" ignoreLen="true" ignorePre="true"/>
                <dbType type="VARCHAR" default="true" defaultLength="200" ignorePre="true"/>
                <dbType type="DATETIME" ignoreLen="true" ignorePre="true"/>
                <dbType type="MEMO" ignoreLen="true" ignorePre="true"/>
                <dbType type="YESNO" ignoreLen="true" ignorePre="true"/>
            </dbTypes>
    
            <language name="java">
                <talendToDbTypes>
                    <!-- Adviced mappings  -->
                    <talendType type="id_List"/>
                    <talendType type="id_Boolean">
                        <dbType type="YESNO" default="true"/>
                        <dbType type="BOOLEAN"/>
                    </talendType>
                    <talendType type="id_Byte">
                        <dbType type="TINYINT" default="true"/>
                        <dbType type="SMALLINT"/>
                        <dbType type="INTEGER"/>
                    </talendType>
                    <talendType type="id_byte[]"> </talendType>
                    <talendType type="id_Character">
                        <dbType type="VARCHAR" default="true"/>
                    </talendType>
                    <talendType type="id_Date">
                        <dbType type="DATE" default="true"/>
                        <dbType type="TIMESTAMP"/>
                        <dbType type="TIME"/>
                        <dbType type="DATETIME"/>
                    </talendType>
                    <talendType type="id_BigDecimal">
                        <dbType type="NUMERIC" default="true"/>
                        <dbType type="DOUBLE"/>
                        <dbType type="FLOAT"/>
                        <dbType type="DECIMAL"/>
                        <dbType type="REAL"/>
                    </talendType>
                    <talendType type="id_Double">
                        <dbType type="DOUBLE" default="true"/>
                        <dbType type="NUMERIC"/>
                        <dbType type="FLOAT"/>
                        <dbType type="DECIMAL"/>
                        <dbType type="REAL"/>
                    </talendType>
                    <talendType type="id_Float">
                        <dbType type="FLOAT" default="true"/>
                        <dbType type="DOUBLE"/>
                        <dbType type="NUMERIC"/>
                        <dbType type="DECIMAL"/>
                        <dbType type="REAL"/>
                    </talendType>
                    <talendType type="id_Integer">
                        <dbType type="INTEGER" default="true"/>
                        <dbType type="SMALLINT"/>
                        <dbType type="TINYINT"/>
                        <dbType type="COUNTER"/>
                    </talendType>
                    <talendType type="id_Long">
                        <dbType type="INTEGER" default="true"/>
                        <dbType type="SMALLINT"/>
                        <dbType type="TINYINT"/>
                        <dbType type="COUNTER"/>
                    </talendType>
                    <talendType type="id_Object"> </talendType>
                    <talendType type="id_Short">
                        <dbType type="SMALLINT" default="true"/>
                        <dbType type="INTEGER"/>
                        <dbType type="TINYINT"/>
                        <dbType type="COUNTER"/>
                    </talendType>
                    <talendType type="id_String">
                        <dbType type="VARCHAR" default="true"/>
                        <dbType type="MEMO"/>
                    </talendType>
                </talendToDbTypes>
                <dbToTalendTypes>
                    <dbType type="BIT">
                        <talendType type="id_Boolean" default="true"/>
                    </dbType>
                    <dbType type="BOOLEAN">
                        <talendType type="id_Boolean" default="true"/>
                    </dbType>
                    <dbType type="COUNTER">
                        <talendType type="id_Integer" default="true"/>
                    </dbType>
                    <dbType type="DATE">
                        <talendType type="id_Date" default="true"/>
                    </dbType>
                    <dbType type="DECIMAL">
                        <talendType type="id_Double"/>
                        <talendType type="id_BigDecimal" default="true"/>
                        <talendType type="id_Float"/>
                    </dbType>
                    <dbType type="DOUBLE">
                        <talendType type="id_Double" default="true"/>
                        <talendType type="id_BigDecimal"/>
                        <talendType type="id_Float"/>
                    </dbType>
                    <dbType type="FLOAT">
                        <talendType type="id_Float" default="true"/>
                        <talendType type="id_BigDecimal"/>
                        <talendType type="id_Double"/>
                    </dbType>
                    <dbType type="INTEGER">
                        <talendType type="id_Integer" default="true"/>
                        <talendType type="id_Short"/>
                        <talendType type="id_Long"/>
                        <talendType type="id_Byte"/>
                    </dbType>
                    <dbType type="NUMERIC">
                        <talendType type="id_Float"/>
                        <talendType type="id_BigDecimal" default="true"/>
                        <talendType type="id_Double"/>
                    </dbType>
                    <dbType type="REAL">
                        <talendType type="id_Float" default="true"/>
                        <talendType type="id_BigDecimal"/>
                        <talendType type="id_Double"/>
                    </dbType>
                    <dbType type="SMALLINT">
                        <talendType type="id_Short" default="true"/>
                        <talendType type="id_Integer"/>
                        <talendType type="id_Long"/>
                        <talendType type="id_Byte"/>
                    </dbType>
                    <dbType type="TINYINT">
                        <talendType type="id_Byte" default="true"/>
                        <talendType type="id_Integer"/>
                        <talendType type="id_Short"/>
                        <talendType type="id_Long"/>
                    </dbType>
                    <dbType type="TIME">
                        <talendType type="id_Date" default="true"/>
                    </dbType>
                    <dbType type="TIMESTAMP">
                        <talendType type="id_Date" default="true"/>
                    </dbType>
                    <dbType type="VARCHAR">
                        <talendType type="id_String" default="true"/>
                    </dbType>
                    <dbType type="DATETIME">
                        <talendType type="id_Date" default="true"/>
                    </dbType>
                    <dbType type="MEMO">
                        <talendType type="id_String" default="true"/>
                    </dbType>
                    <dbType type="YESNO">
                        <talendType type="id_Boolean" default="true"/>
                    </dbType>
                </dbToTalendTypes>
            </language>
        </dbms>
    </mapping>