Condividi tramite


Copia dati da Greenplum usando Azure Data Factory o Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!

Questo articolo illustra come usare l'attività Copy in una pipeline di Azure Data Factory o Synapse Analytics per copiare dati da Greenplum. Si basa sull'articolo di panoramica dell'attività di copia che presenta una panoramica generale sull'attività di copia.

Importante

Il connettore Greenplum versione 2.0 offre un supporto greenplum nativo migliorato. Se si usa il connettore Greenplum versione 1.0 nella soluzione, aggiornare il connettore Greenplum prima del 31 agosto 2025. Per informazioni dettagliate sulla differenza tra la versione 2.0 e la versione 1.0, vedere questa sezione .

Funzionalità supportate

Questo connettore Greenplum è supportato per le funzionalità seguenti:

Funzionalità supportate IR
Attività Copy (origine/-) 7.3
Attività Lookup 7.3

① Azure Integration Runtime ② Runtime di integrazione self-hosted

Per un elenco degli archivi dati supportati come origini/sink dall'attività di copia, vedere la tabella relativa agli archivi dati supportati.

Il servizio fornisce un driver predefinito per abilitare la connettività, pertanto non è necessario installare manualmente alcun driver usando questo connettore.

Prerequisiti

Se l'archivio dati si trova all'interno di una rete locale, una rete virtuale di Azure o un cloud privato virtuale di Amazon, è necessario configurare un runtime di integrazione self-hosted per connettersi.

Se l'archivio dati è un servizio dati del cloud gestito, è possibile usare Azure Integration Runtime. Se l'accesso è limitato solo agli indirizzi IP approvati nelle regole del firewall, è possibile aggiungere IP di Azure Integration Runtime nell'elenco Consentiti.

È anche possibile usare la funzionalitàruntime di integrazione della rete virtuale gestita in Azure Data Factory per accedere alla rete locale senza installare e configurare un runtime di integrazione self-hosted.

Per altre informazioni sui meccanismi di sicurezza di rete e sulle opzioni supportate da Data Factory, vedere strategie di accesso ai dati.

Introduzione

Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o SDK seguenti:

Creare un servizio collegato a Greenplum usando l'interfaccia utente

Usare la procedura seguente per creare un servizio collegato a Greenplum nell'interfaccia utente del portale di Azure.

  1. Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:

  2. Cercare Greenplum e selezionare il connettore Greenplum.

    Screenshot del connettore Greenplum.

  3. Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.

    Screenshot della configurazione del servizio collegato per Greenplum.

Dettagli di configurazione del connettore

Le sezioni seguenti riportano informazioni dettagliate sulle proprietà che vengono usate per definire entità di Data Factory specifiche per il connettore Greenplum.

Proprietà del servizio collegato

Il connettore Greenplum supporta ora la versione 2.0. Fare riferimento a questa sezione per aggiornare la versione del connettore Greenplum dalla versione 1.0. Per informazioni dettagliate sulla proprietà, vedere le sezioni corrispondenti.

Versione 2.0

Il servizio collegato Greenplum supporta le proprietà seguenti quando si applica la versione 2.0:

Proprietà Descrizione Richiesto
tipo La proprietà type deve essere impostata su Greenplum
Versione Versione specificata. Il valore è 2.0.
ospitante Specifica il nome host e, facoltativamente, la porta in cui è in esecuzione il database.
porto Porta TCP del server di database. Il valore predefinito è 5432. NO
banca dati Database a cui connettersi.
nome utente Nome utente con cui connettersi. Non obbligatorio se si usa IntegratedSecurity.
parola d’ordine Password con cui connettersi. Non obbligatorio se si usa IntegratedSecurity. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro. In alternativa, fare riferimento a un segreto archiviato in Azure Key Vault.
Modalità SSL Controlla se viene usato SSL, a seconda del supporto del server.
- Disabilita: SSL è disabilitato. Se il server richiede SSL, la connessione avrà esito negativo.
- Consenti: preferisce le connessioni non SSL se il server le consente, ma consente le connessioni SSL.
- Preferenza: preferisce le connessioni SSL se il server le consente, ma consente le connessioni senza SSL.
- Richiedi: non eseguire la connessione se il server non supporta SSL.
- Verifica CA: non eseguire la connessione se il server non supporta SSL. Verifica anche il certificato del server.
- Verifica completa: non eseguire la connessione se il server non supporta SSL. Verifica anche il certificato del server con il nome dell'host.
Opzioni: Disabilita (0) / Consenti (1) / Preferisce (2) / Richiedi (3) (impostazione predefinita) / Verify-ca (4) / Verify-full (5)
tipo di autenticazione Tipo di autenticazione per la connessione al database. Supporta solo Basic.
connectVia Il runtime di integrazione da usare per la connessione all'archivio dati. Per altre informazioni, vedere la sezione Prerequisiti. Se non specificato, viene usato il runtime di integrazione di Azure predefinito. NO
Proprietà di connessione aggiuntive:
connectionTimeout Tempo di attesa (in secondi) durante il tentativo di stabilire una connessione prima di terminare il tentativo e generare un errore. Il valore predefinito è 15. NO
comandoTimeout Tempo di attesa (in secondi) durante il tentativo di esecuzione di un comando prima di terminare il tentativo e generare un errore. Impostare su zero per infinito. Il valore predefinito è 30. NO

Esempio:

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "version": "2.0",
        "typeProperties": {
            "host": "<host>",
            "port": 5432,
            "database": "<database>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "sslMode": <sslmode>,
            "authenticationType": "Basic"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Esempio: archiviare la password in Azure Key Vault

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "version": "2.0",
        "typeProperties": {
            "host": "<host>",
            "port": 5432,
            "database": "<database>",
            "username": "<username>",
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            },
            "sslMode": <sslmode>,
            "authenticationType": "Basic"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Versione 1.0

Il servizio collegato Greenplum supporta le proprietà seguenti quando si applica la versione 1.0:

Proprietà Descrizione Richiesto
tipo La proprietà type deve essere impostata su Greenplum
stringa di connessione Una stringa di connessione ODBC per la connessione a Greenplum.
È anche possibile inserire la password in Azure Key Vault ed eseguire lo spostamento forzato dei dati della configurazione pwd all'esterno della stringa di connessione. Vedere gli esempi seguenti e l'articolo Archiviare le credenziali in Azure Key Vault per altri dettagli.
connectVia Il runtime di integrazione da usare per la connessione all'archivio dati. Per altre informazioni, vedere la sezione Prerequisiti. Se non specificato, viene usato il runtime di integrazione di Azure predefinito. NO

Esempio:

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "typeProperties": {
            "connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;PWD=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Esempio: archiviare la password in Azure Key Vault

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "typeProperties": {
            "connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;",
            "pwd": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Proprietà del set di dati

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione di set di dati, vedere l'articolo sui set di dati. Questa sezione presenta un elenco delle proprietà supportate dal set di dati Greenplum.

Per copiare dati da Greenplum, impostare la proprietà type del set di dati su GreenplumTable. Sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
tipo La proprietà tipo del set di dati deve essere impostata su: GreenplumTable
schema Nome dello schema. No (se nell'origine dell'attività è specificato "query")
tabella Nome della tabella. No (se nell'origine dell'attività è specificato "query")
nomeTabella Nome della tabella con schema. Questa proprietà è supportata per garantire la compatibilità con le versioni precedenti. Per i nuovi carichi di lavoro, usare schema e table. No (se nell'origine dell'attività è specificato "query")

Esempio

{
    "name": "GreenplumDataset",
    "properties": {
        "type": "GreenplumTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Greenplum linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Proprietà dell'attività di copia

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. Questa sezione presenta un elenco delle proprietà supportate dall'origine Greenplum.

GreenplumSource come origine

Per copiare dati da Greenplum, impostare il tipo di origine nell'attività di copia su GreenplumSource. Nella sezione origine dell'attività di copia sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
tipo La proprietà type dell'origine dell'attività di copia deve essere impostata su GreenplumSource
quesito Usare la query SQL personalizzata per leggere i dati. Ad esempio: "SELECT * FROM MyTable". No (se nel set di dati è specificato "tableName")

Esempio:

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

Mapping dei tipi di dati per Greenplum

Quando si trasferiscono dati da Greenplum, i mapping seguenti si applicano dai tipi di dati di Greenplum ai tipi di dati interni usati dal servizio. Per informazioni su come l'attività di copia esegue il mapping dello schema di origine e del tipo di dati al sink, vedere Mapping dello schema e del tipo di dati.

Tipo di dati Greenplum Tipo di dati del servizio provvisorio (per la versione 2.0) Tipo di dati del servizio provvisorio (per la versione 1.0)
SmallInt Int16 Int16
Numero intero Int32 Int32
BigInt Int64 Int64
Decimal (precisione <= 28) Decimale Decimale
Decimal (precisione > 28) Decimale Stringa
Numerico Decimale Decimale
Reale Singolo Singolo
Doppio Doppio Doppio
SmallSerial Int16 Int16
Serie Int32 Int32
BigSerial Int64 Int64
Moneta Decimale Stringa
Char Stringa Stringa
Varchar Stringa Stringa
Testo Stringa Stringa
Bytea Byte[] Byte[]
Marca temporale: Data e ora Data e ora
Timestamp con fuso orario DateTimeOffset (struttura per gestire data e ora con fuso orario) Stringa
Dati Dati Data e ora
Tempo Intervallo di tempo Intervallo di tempo
Ora con fuso orario DateTimeOffset (struttura per gestire data e ora con fuso orario) Stringa
Intervallo Intervallo di tempo Stringa
Booleano Booleano Booleano
Punto Stringa Stringa
Linea Stringa Stringa
Iseg Stringa Stringa
Scatola Stringa Stringa
Percorso Stringa Stringa
Poligono Stringa Stringa
Cerchio Stringa Stringa
Cidr Stringa Stringa
Inet Stringa Stringa
Macaddr Stringa Stringa
Macaddr8 Stringa Stringa
Tsvector Stringa Stringa
Tsquery Stringa Stringa
UUID (Identificatore Unico Universale) Guid Guid
Json Stringa Stringa
Jsonb Stringa Stringa
Array Stringa Stringa
Pezzo Byte[] Byte[]
Bit variabile Byte[] Byte[]
XML Stringa Stringa
IntArray Stringa Stringa
TextArray Stringa Stringa
NumericArray Stringa Stringa
DateArray Stringa Stringa
Intervallo Stringa Stringa
Bpchar Stringa Stringa

Proprietà dell'attività Lookup

Per altre informazioni sulle proprietà, vedere Attività Lookup.

Aggiornare il connettore Greenplum

Ecco i passaggi che consentono di aggiornare il connettore Greenplum:

  1. Nella pagina Modifica servizio collegato selezionare la versione 2.0 e configurare il servizio collegato facendo riferimento alle proprietà del servizio collegato versione 2.0.

  2. Il mapping dei tipi di dati per il servizio collegato Greenplum versione 2.0 è diverso da quello per la versione 1.0. Per informazioni sul mapping dei tipi di dati più recente, vedere Mapping dei tipi di dati per Greenplum.

Differenze tra Greenplum versione 2.0 e versione 1.0

Il connettore Greenplum versione 2.0 offre nuove funzionalità ed è compatibile con la maggior parte delle funzionalità della versione 1.0. La tabella seguente illustra le differenze di funzionalità tra la versione 2.0 e la versione 1.0.

Versione 2.0 Versione 1.0
Le mappature seguenti sono utilizzate per passare dai tipi di dati Greenplum ai tipi di dati provvisori del servizio.

Decimale (Precisione > 28) -> Decimale
Denaro -> Decimal
Timestamp con fuso orario -> DateTimeOffset
Ora con fuso orario -> DateTimeOffset
Intervallo -> Intervallo di tempo
Le mappature seguenti sono utilizzate per passare dai tipi di dati Greenplum ai tipi di dati provvisori del servizio.

Decimal (Precisione > 28) -> Stringa
Money -> String
Timestamp con fuso orario ->String
Ora con fuso orario -> Testo
Interval -> String

Per un elenco degli archivi dati supportati come origini e sink dall'attività Copy, vedere Archivi dati supportati.