Partager via


Copier des données de Presto à l’aide d’Azure Data Factory ou Synapse Analytics

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !

Cet article explique comment utiliser l’activité de copie dans le pipeline Azure Data Factory ou Synapse Analytics pour copier des données de Presto. Il s’appuie sur l’article Vue d’ensemble de l’activité de copie.

Important

Le connecteur Presto version 1.0 est à l’étape de suppression. Il vous est recommandé de mettre à niveau le connecteur Presto de la version 1.0 vers la version 2.0.

Fonctionnalités prises en charge

Ce connecteur Presto est pris en charge pour les capacités suivantes :

Fonctionnalités prises en charge IR
Activité de copie (source/-) (1) (2)
Activité de recherche (1) (2)

① Runtime d’intégration Azure ② Runtime d’intégration auto-hébergé

Pour obtenir la liste des banques de données prises en charge en tant que sources ou récepteurs par l’activité de copie, consultez le tableau Banques de données prises en charge.

Le service fournit un pilote intégré qui permet la connexion. Vous n’avez donc pas besoin d’installer manuellement un pilote à l’aide de ce connecteur.

Prise en main

Pour effectuer l’activité de copie avec un pipeline, vous pouvez utiliser l’un des outils ou kits sdk suivants :

Créer un service lié à Presto à l’aide de l’interface utilisateur

Suivez les étapes suivantes pour créer un service lié à Presto dans l’interface utilisateur du portail Azure.

  1. Accédez à l’onglet Gérer dans votre espace de travail Azure Data Factory ou Synapse, sélectionnez Services liés, puis cliquez sur Nouveau :

  2. Recherchez Presto et sélectionnez le connecteur Presto.

    Capture d’écran du connecteur Presto.

  3. Configurez les informations du service, testez la connexion et créez le nouveau service lié.

    Capture d’écran de la configuration du service lié pour Presto.

Détails de configuration du connecteur

Les sections suivantes donnent des précisions sur les propriétés utilisées pour définir des entités Data Factory propres au connecteur Presto.

Propriétés du service lié

Le connecteur Presto prend désormais en charge la version 2.0. Reportez-vous à cette section pour mettre à niveau votre version de connecteur Presto à partir de la version 1.0. Pour plus d’informations sur la propriété, consultez les sections correspondantes.

Version 2.0

Le service lié Presto prend en charge les propriétés suivantes lors de l’application de la version 2.0 :

Propriété Descriptif Obligatoire
type La propriété type doit être définie sur : Presto Oui
version Version que vous spécifiez. La valeur est 2.0. Oui
hôte Adresse IP ou nom d’hôte du serveur Presto (par exemple, 192.168.222.160) Oui
catalogue Contexte du catalogue pour toutes les requêtes effectuées sur le serveur. Oui
port Port TCP utilisé par le serveur Presto pour écouter les connexions clientes. La valeur par défaut est 8443. Non
type d'authentification Mécanisme d’authentification utilisé pour se connecter au serveur Presto.
Les valeurs autorisées sont les suivantes : Anonymous, LDAP
Oui
nom d'utilisateur Nom d’utilisateur utilisé pour se connecter au serveur Presto. Non
mot de passe Mot de passe correspondant au nom d’utilisateur. Marquez ce champ en tant que SecureString afin de le stocker en toute sécurité, ou référencez un secret stocké dans Azure Key Vault. Non
Activer SSL Indique si les connexions au serveur sont chiffrées à l’aide du protocole TLS. La valeur par défaut est true. Non
activerLaValidationDuCertificatDuServeur Spécifiez s’il faut activer la validation des certificats SSL du serveur lorsque vous vous connectez.
Utilisez toujours le magasin de confiance système. La valeur par défaut est true.
Non
identifiant de fuseau horaire Fuseau horaire local utilisé par la connexion. Les valeurs valides de cette option sont spécifiées dans la base de données IANA Time Zone Database. La valeur par défaut est le fuseau horaire système Presto. Non

Exemple :

{
    "name": "PrestoLinkedService",
    "properties": {
        "type": "Presto",
        "version" : "2.0",
        "typeProperties": {
            "host" : "<host>",
            "catalog" : "<catalog>",
            "port" : 8443,
            "authenticationType" : "LDAP",
            "username" : "<username>",
            "password": {
                 "type": "SecureString",
                 "value": "<password>"
            },
            "enableSsl": true,
            "enableServerCertificateValidation": true,
            "timeZoneID" : ""
        }
    }
}

Version 1.0

Le service lié Presto prend en charge les propriétés suivantes lors de l’application de la version 1.0 :

Propriété Descriptif Obligatoire
type La propriété type doit être définie sur : Presto Oui
hôte Adresse IP ou nom d’hôte du serveur Presto (par exemple, 192.168.222.160) Oui
serverVersion Version du serveur Presto (par exemple, 0.148-t) Oui
catalogue Contexte du catalogue pour toutes les requêtes effectuées sur le serveur. Oui
port Port TCP utilisé par le serveur Presto pour écouter les connexions clientes. La valeur par défaut est 8080. Non
type d'authentification Mécanisme d’authentification utilisé pour se connecter au serveur Presto.
Les valeurs autorisées sont les suivantes : Anonymous, LDAP
Oui
nom d'utilisateur Nom d’utilisateur utilisé pour se connecter au serveur Presto. Non
mot de passe Mot de passe correspondant au nom d’utilisateur. Marquez ce champ en tant que SecureString afin de le stocker en toute sécurité, ou référencez un secret stocké dans Azure Key Vault. Non
Activer SSL Indique si les connexions au serveur sont chiffrées à l’aide du protocole TLS. La valeur par défaut est false. Non
trustedCertPath Chemin complet du fichier .pem contenant les certificats d’autorité de certification approuvés permettant de vérifier le serveur en cas de connexion TLS. Cette propriété n’est disponible que si le protocole TLS est utilisé sur un runtime d’intégration auto-hébergé. Valeur par défaut : le fichier cacerts.pem installé avec l'IR. Non
UtiliserLeMagasinDeConfianceDuSystème Indique s’il faut utiliser un certificat d’autorité de certification provenant du magasin de confiance du système ou d’un fichier PEM spécifié. La valeur par défaut est false. Non
allowHostNameCNMismatch Indique si le nom du certificat TLS/SSL émis par l’autorité de certification doit correspondre au nom d’hôte du serveur en cas de connexion TLS. La valeur par défaut est false. Non
allowSelfSignedServerCert Indique si les certificats auto-signés provenant du serveur sont autorisés ou non. La valeur par défaut est false. Non
identifiant de fuseau horaire Fuseau horaire local utilisé par la connexion. Les valeurs valides de cette option sont spécifiées dans la base de données IANA Time Zone Database. La valeur par défaut est le fuseau horaire Azure Data Factory. Non

Exemple :

{
    "name": "PrestoLinkedService",
    "properties": {
        "type": "Presto",
        "typeProperties": {
            "host" : "<host>",
            "serverVersion" : "0.148-t",
            "catalog" : "<catalog>",
            "port" : "<port>",
            "authenticationType" : "LDAP",
            "username" : "<username>",
            "password": {
                 "type": "SecureString",
                 "value": "<password>"
            },
            "timeZoneID" : "Europe/Berlin"
        }
    }
}

Propriétés du jeu de données

Pour obtenir la liste complète des sections et propriétés disponibles pour la définition de jeux de données, consultez l’article sur les jeux de données. Cette section donne la liste des propriétés prises en charge par le jeu de données Presto.

Pour copier des données de Presto, affectez la valeur PrestoObject à la propriété type du jeu de données. Les propriétés prises en charge sont les suivantes :

Propriété Descriptif Obligatoire
type La propriété type du jeu de données doit être définie sur : PrestoObject Oui
schéma Nom du schéma. Non (si « query » est spécifié dans la source de l'activité)
table Nom de la table. Non (si « query » est spécifié dans la source de l'activité)
tableName Nom de la table avec le schéma. Cette propriété est prise en charge pour la compatibilité descendante. Utilisez schema et table pour une nouvelle charge de travail. Non (si « query » est spécifié dans la source de l'activité)

Exemple

{
    "name": "PrestoDataset",
    "properties": {
        "type": "PrestoObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Presto linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propriétés de l’activité de copie

Pour obtenir la liste complète des sections et des propriétés disponibles pour la définition des activités, consultez l’article Pipelines. Cette section donne la liste des propriétés prises en charge par la source Presto.

Presto en tant que source

Pour copier des données de Presto, affectez la valeur PrestoSource au type source de l’activité de copie. Les propriétés prises en charge dans la section source de l’activité de copie sont les suivantes :

Propriété Descriptif Obligatoire
type La propriété type de la source d’activité de copie doit être définie sur : PrestoSource Oui
requête Utiliser la requête SQL personnalisée pour lire les données. Par exemple : "SELECT * FROM MyTable". Non (si « tableName » est spécifié dans dataset)

Exemple :

"activities":[
    {
        "name": "CopyFromPresto",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Presto input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "PrestoSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Mappage de type de données pour Presto

Lorsque vous copiez des données à partir de Presto, les mappages suivants s’appliquent des types de données de Presto aux types de données internes utilisés par le service. Pour découvrir comment l’activité de copie mappe le schéma et le type de données la source au récepteur, consultez Mappage de schéma dans l’activité de copie.

Type de données Presto Type de données de service intermédiaire (pour la version 2.0) Type de données de service intermédiaire (pour la version 1.0)
ARRAY Chaîne Chaîne
bigint Int64 Int64
BOOLEAN Booléen Booléen
CHAR Chaîne Chaîne
DATE Date Date et heure
DÉCIMAL (Précision < 28) Decimal Decimal
DECIMAL (Précision >= 28) Decimal Chaîne
DOUBLE Double Double
INTEGER Int32 Int32
INTERVAL_DAY_TO_SECOND TimeSpan Non pris en charge.
INTERVAL_YEAR_TO_MONTH Chaîne Non pris en charge.
IPADDRESS Chaîne Non pris en charge.
JSON Chaîne Chaîne
CARTE Chaîne Chaîne
real Célibataire Célibataire
ROW Chaîne Chaîne
SMALLINT Int16 Int16
TEMPS Heure TimeSpan
TIME_WITH_TIME_ZONE Chaîne Chaîne
TIMESTAMP Date et heure Date et heure
TIMESTAMPWITHTIMEZONE Datetimeoffset Non pris en charge.
TINYINT SByte Int16
UUID (Identifiant Unique Universel) Guid Non pris en charge.
VARBINARY Byte[] Byte[]
VARCHAR Chaîne Chaîne

Propriétés de l’activité Lookup

Pour en savoir plus sur les propriétés, consultez Activité Lookup.

Mettre à niveau le connecteur Presto

Voici les étapes qui vous aident à mettre à niveau le connecteur Presto :

  1. Dans la page Modifier le service lié , sélectionnez la version 2.0 et configurez le service lié en faisant référence aux propriétés du service lié version 2.0.

  2. Le mappage de type de données pour le service lié Presto version 2.0 est différent de celui de la version 1.0. Pour en savoir plus sur le mappage de type de données le plus récent, consultez Mappage de type de données pour Presto.

Différences entre le connecteur Presto version 2.0 et la version 1.0

Le connecteur Presto version 2.0 offre de nouvelles fonctionnalités et est compatible avec la plupart des fonctionnalités de la version 1.0. Le tableau suivant présente les différences de fonctionnalités entre la version 2.0 et la version 1.0.

Version 2.0 Version 1.0
La fonction serverVersion n'est pas prise en charge. serverVersion est pris en charge.
La valeur par défaut est port 8443. La valeur par défaut est port 8080.
La valeur enableSSL par défaut est true.

enableServerCertificateValidation est pris en charge.

trustedCertPath, useSystemTrustStoreallowHostNameCNMismatch et allowSelfSignedServerCert ne sont pas pris en charge.
La valeur par défaut est enableSSL false.

La fonction enableServerCertificateValidation n'est pas prise en charge.

trustedCertPath, useSystemTrustStore, allowHostNameCNMismatch et allowSelfSignedServerCert sont pris en charge.
La valeur timeZoneID par défaut est le fuseau horaire système Presto. La valeur timeZoneID par défaut est le fuseau horaire Azure Data Factory.
Les mappages suivants sont utilisés des types de données Presto vers un type de données de service intermédiaire.

DATE -> Date
DECIMAL (Précision >= 28) -> Décimale
INTERVAL_DAY_TO_SECOND -> TimeSpan
INTERVAL_YEAR_TO_MONTH -> Chaîne
IPADDRESS -> Chaîne
TEMPS -> Temps
TIMESTAMPWITHTIMEZONE - > "Décalage de date-heure"
TINYINT -> SByte
UUID -> GUID
Les mappages suivants sont utilisés des types de données Presto vers un type de données de service intermédiaire.

DATE -> Horodatage
DECIMAL (Précision >= 28) -> String
TIME -> TimeSpan
TINYINT -> Int16
Les autres mappages pris en charge par la version 2.0 répertoriées à gauche ne sont pas pris en charge par la version 1.0.

Pour obtenir une liste des magasins de données pris en charge comme sources et récepteurs par l’activité de copie, consultez la section sur les magasins de données pris en charge.