Accéder aux fichiers de mapping et définir les mappings de types - 8.0

Guide d'utilisation de Talend Big Data Platform Studio

Version
8.0
Language
Français (France)
EnrichDitaval
Big Data Platform
Product
Talend Big Data Platform
Module
Studio Talend
Content
Création et développement

Procédure

  1. Cliquez sur dans la barre d'outils de la fenêtre du Studio ou cliquez sur File > Edit Project Properties dans la barre du menu pour ouvrir la boîte de dialogue Project Settings.
  2. Dans l'arborescence de la boîte de dialogue, développez General et sélectionnez Metadata of TalendType pour ouvrir la vue Metadata of TalendType, listant les fichiers de mapping pour tous les types de bases de données utilisés dans le Studio Talend.

    Vous pouvez importer, exporter ou supprimer un fichier de mapping en cliquant sur Import, Export ou Remove, respectivement.

    Vous pouvez modifier un fichier de mapping selon vos besoins en double-cliquant sur le fichier ou en sélectionnant le fichier et en cliquant sur le bouton Edit pour ouvrir la boîte de dialogue Edit Mapping File, puis en modifiant le code XML directement dans la boîte de dialogue.

    Si vous avez installé la mise à jour mensuelle 8.0 R2022-07 du Studio ou une mise à jour plus récente fournie par Talend :

    • Les fichiers de mapping de types de données par défaut peuvent uniquement être modifiés. Après modification, vous pouvez les restaurer comme les fichiers de mapping de types de données Talend par défaut correspondant à votre version actuelle du Studio Talend.
    • Les fichiers de mapping de types de données par défaut peuvent être migrés automatiquement, après application d'une mise à jour mensuelle du Studio Talend.

    Lorsque vous définissez un mapping de types, vous devez mapper depuis le type Talend vers le type de base de données et depuis le type de base de données vers le type Talend.

    • L'élément <dbTypes> et ses éléments enfants <dbType> définissent les types de bases de données supportés. Pour ajouter un type de base de données dans le fichier de mapping, vous devez ajouter un élément <dbType> sous l'élément <dbTypes>. L'exemple ci-dessous ajoute deux types de bases de données BOOLEAN et YESNO.
      <dbType type="BOOLEAN"/>
      <dbType type="YESNO"/>

      Vous pouvez configurer le modèle par défaut pour chaque type de date. Cela permet aux modèles de date pour les colonnes de type date d'être automatiquement configurés lors de la récupération ou détection du schéma d'une table. L'exemple suivant ajoute deux types de base de données DATE et DATETIME.

      <dbType type="DATE" defaultPattern="yyyy-mm-dd"/>
      <dbType type="DATETIME" defaultPattern="yyyy-mm-dd hh:mm:ss.SSSSSS"/>
    • L'élément <talendToDbTypes> et ses éléments enfants <talendType> définissent une liste de types de bases de données suggérés et le type de base de données par défaut lors de la configuration d'un type Talend pour une colonne de métadonnées. Pur mapper un type Talend vers un ou plusieurs type(s) de base(s) de données, vous devez ajouter un élément talendType sous l'élément <talendToDbTypes>. L'exemple ci-dessous mappe le type Talend id_Boolean à deux types de bases de données BOOLEAN et YESNO.
      <talendType type="id_Boolean">
      	<dbType type="BOOLEAN"/>
      	<dbType type="YESNO"/>
      </talendType>
    • L'élément <dbToTalendTypes> et ses éléments enfants <dbType> définissent une liste de types Talend suggérés et le type Talend par défaut lors de la récupération du schéma depuis la base de données. Pour mapper un ou plusieurs type(s) Talend de bases de données, vous devez ajouter un élément dbType sous l'élément <dbToTalendTypes>. L'exemple ci-dessous mappe le type de base de données YESNO au type Talend id_Boolean.
      <dbType type="YESNO">
      	<talendType type="id_Boolean"/>
      </dbType>
    Remarque : Les attributs default, defaultLength, defaultPrecision, ignoreLen, ignorePre et preBeforelen dans les fichiers de mappings de types Talend ne sont pas pris en compte. Vous n'avez pas besoin d'ajouter ces attributs lors de la définition de nouveaux mappings de types.

    Ci-dessous se trouve le fichier de mapping de métadonnées XML pour la base de données Access :

    <?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>