Skip to content

Commit f8933ab

Browse files
committed
Update Greenplum v2
1 parent c06907d commit f8933ab

File tree

2 files changed

+127
-14
lines changed

2 files changed

+127
-14
lines changed

articles/data-factory/connector-greenplum.md

Lines changed: 127 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: jianleishen
66
ms.subservice: data-movement
77
ms.custom: synapse
88
ms.topic: conceptual
9-
ms.date: 10/20/2023
9+
ms.date: 01/09/2025
1010
ms.author: jianleishen
1111
---
1212
# Copy data from Greenplum using Azure Data Factory or Synapse Analytics
@@ -66,13 +66,23 @@ The following sections provide details about properties that are used to define
6666

6767
## Linked service properties
6868

69-
The following properties are supported for Greenplum linked service:
69+
If you use version 2.0 (Preview), the following properties are supported for Greenplum linked service:
7070

7171
| Property | Description | Required |
7272
|:--- |:--- |:--- |
7373
| type | The type property must be set to: **Greenplum** | Yes |
74-
| connectionString | An ODBC connection string to connect to Greenplum. <br/>You can also put password in Azure Key Vault and pull the `pwd` configuration out of the connection string. Refer to the following samples and [Store credentials in Azure Key Vault](store-credentials-in-key-vault.md) article with more details. | Yes |
74+
| version | The version that you specify. The value is `2.0`. | Yes |
75+
| host | Specifies the host name - and optionally port - on which database is running. | Yes |
76+
| port | The TCP port of the database server. | No |
77+
| database | The database to connect to. | Yes |
78+
| username | The username to connect with. Not required if using IntegratedSecurity. |Yes |
79+
| password| The password to connect with. Not required if using IntegratedSecurity. | Yes |
80+
| sslMode | Controls whether SSL is used, depending on server support. <br/>- **Disable**: SSL is disabled. If the server requires SSL, the connection will fail. <br/>- **Allow**: Prefer non-SSL connections if the server allows them, but allow SSL connections. <br/>- **Prefer**: Prefer SSL connections if the server allows them, but allow connections without SSL. <br/>- **Require**: Fail the connection if the server doesn't support SSL. <br/>- **Verify-ca**: Fail the connection if the server doesn't support SSL. Also verifies server certificate. <br/>- **Verify-full**: Fail the connection if the server doesn't support SSL. Also verifies server certificate with host's name. <br/> Options: Disable (0) / Allow (1) / Prefer (2) / Require (3) **(Default)** / Verify-ca (4) / Verify-full (5) | Yes |
81+
| authenticationType | Authentication type for connecting to the database. Only supports **Basic**. | Yes |
7582
| connectVia | The [Integration Runtime](concepts-integration-runtime.md) to be used to connect to the data store. Learn more from [Prerequisites](#prerequisites) section. If not specified, it uses the default Azure Integration Runtime. |No |
83+
| ***Additional connection properties:*** | | |
84+
| connectionTimeout | The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. The default value is 15. | No |
85+
| commandTimeout | The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Set to zero for infinity. The default value is 30. | No |
7686

7787
**Example:**
7888

@@ -81,8 +91,18 @@ The following properties are supported for Greenplum linked service:
8191
"name": "GreenplumLinkedService",
8292
"properties": {
8393
"type": "Greenplum",
94+
"version": "2.0",
8495
"typeProperties": {
85-
"connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;PWD=<password>"
96+
"host": "<host>",
97+
"port": 5432,
98+
"database": "<database>",
99+
"username": "<username>",
100+
"password": {
101+
"type": "SecureString",
102+
"value": "<password>"
103+
},
104+
"sslMode": <sslmode>,
105+
"authenticationType": "Basic"
86106
},
87107
"connectVia": {
88108
"referenceName": "<name of Integration Runtime>",
@@ -91,24 +111,53 @@ The following properties are supported for Greenplum linked service:
91111
}
92112
}
93113
```
94-
95114
**Example: store password in Azure Key Vault**
115+
```json
116+
{
117+
"name": "GreenplumLinkedService",
118+
"properties": {
119+
"type": "Greenplum",
120+
"typeProperties": {
121+
"host": "<host>",
122+
"port": 5432,
123+
"database": "<database>",
124+
"username": "<username>",
125+
"password": {
126+
"type": "AzureKeyVaultSecret",
127+
"store": {
128+
"referenceName": "<Azure Key Vault linked service name>",
129+
"type": "LinkedServiceReference"
130+
},
131+
"secretName": "<secretName>"
132+
},
133+
"sslMode": <sslmode>,
134+
"authenticationType": "Basic"
135+
},
136+
"connectVia": {
137+
"referenceName": "<name of Integration Runtime>",
138+
"type": "IntegrationRuntimeReference"
139+
}
140+
}
141+
}
142+
```
143+
144+
If you use version 1.0, the following properties are supported:
145+
146+
| Property | Description | Required |
147+
|:--- |:--- |:--- |
148+
| type | The type property must be set to: **Greenplum** | Yes |
149+
| connectionString | An ODBC connection string to connect to Greenplum. <br/>You can also put password in Azure Key Vault and pull the `pwd` configuration out of the connection string. Refer to the following samples and [Store credentials in Azure Key Vault](store-credentials-in-key-vault.md) article with more details. | Yes |
150+
| connectVia | The [Integration Runtime](concepts-integration-runtime.md) to be used to connect to the data store. Learn more from [Prerequisites](#prerequisites) section. If not specified, it uses the default Azure Integration Runtime. |No |
151+
152+
**Example:**
96153

97154
```json
98155
{
99156
"name": "GreenplumLinkedService",
100157
"properties": {
101158
"type": "Greenplum",
102159
"typeProperties": {
103-
"connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;",
104-
"pwd": { 
105-
"type": "AzureKeyVaultSecret", 
106-
"store": { 
107-
"referenceName": "<Azure Key Vault linked service name>", 
108-
"type": "LinkedServiceReference" 
109-
}, 
110-
"secretName": "<secretName>" 
111-
}
160+
"connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;PWD=<password>"
112161
},
113162
"connectVia": {
114163
"referenceName": "<name of Integration Runtime>",
@@ -193,9 +242,73 @@ To copy data from Greenplum, set the source type in the copy activity to **Green
193242
]
194243
```
195244

245+
## Data type mapping for Greenplum
246+
247+
When copying data from Greenplum, the following mappings are used from Greenplum data types to interim data types used by the service internally. See [Schema and data type mappings](copy-activity-schema-and-type-mapping.md) to learn about how copy activity maps the source schema and data type to the sink.
248+
249+
|Greenplum data type | Interim service data type (for version 2.0) | Interim service data type (for version 1.0) |
250+
|:---|:---|:---|
251+
|`SmallInt`|`Int16`|`Int16`|
252+
|`Integer`|`Int32`|`Int32`|
253+
|`BigInt`|`Int64`|`Int64`|
254+
|`Decimal` (Precision <= 28)|`IBigDecimal`|`Decimal`|
255+
|`Decimal` (Precision > 28)|`IBigDecimal` |`String`|
256+
|`Numeric`|`IBigDecimal`|`Decimal`|
257+
|`Real`|`Single`|`Single`|
258+
|`Double`|`Double`|`Double`|
259+
|`SmallSerial`|`Int16`|`Int16`|
260+
|`Serial`|`Int32`|`Int32`|
261+
|`BigSerial`|`Int64`|`Int64`|
262+
|`Money`|`IBigDecimal`|`String`|
263+
|`Char`|`String`|`String`|
264+
|`Varchar`|`String`|`String`|
265+
|`Text`|`String`|`String`|
266+
|`Bytea`|`Byte[]`|`Byte[]`|
267+
|`Timestamp`|`DateTime`|`DateTime`|
268+
|`Timestamp with time zone`|`DateTimeOffset`|`String`|
269+
|`Date`|`Date`|`DateTime`|
270+
|`Time`|`TimeSpan`|`TimeSpan`|
271+
|`Time with time zone`|`DateTimeOffset`|`String`|
272+
|`Interval`|`TimeSpan`|`String`|
273+
|`Boolean`|`Boolean`|`Boolean`|
274+
|`Point`|`String`|`String`|
275+
|`Line`|`String`|`String`|
276+
|`Iseg`|`String`|`String`|
277+
|`Box`|`String`|`String`|
278+
|`Path`|`String`|`String`|
279+
|`Polygon`|`String`|`String`|
280+
|`Circle`|`String`|`String`|
281+
|`Cidr`|`String`|`String`|
282+
|`Inet`|`String`|`String`|
283+
|`Macaddr`|`String`|`String`|
284+
|`Macaddr8`|`String`|`String`|
285+
|`Tsvector`|`String`|`String`|
286+
|`Tsquery`|`String`|`String`|
287+
|`UUID`|`Guid`|`Guid`|
288+
|`Json`|`String`|`String`|
289+
|`Jsonb`|`String`|`String`|
290+
|`Array`|`String`|`String`|
291+
|`Bit`|`Byte[]`|`Byte[]`|
292+
|`Bit varying`|`Byte[]`|`Byte[]`|
293+
|`XML`|`String`|`String`|
294+
|`IntArray`|`String`|`String`|
295+
|`TextArray`|`String`|`String`|
296+
|`NumericArray`|`String`|`String`|
297+
|`DateArray`|`String`|`String`|
298+
|`Range`|`String`|`String`|
299+
|`Bpchar`|`String`|`String`|
300+
196301
## Lookup activity properties
197302

198303
To learn details about the properties, check [Lookup activity](control-flow-lookup-activity.md).
199304

305+
## Upgrade the Greenplum connector
306+
307+
Here are steps that help you upgrade your Greenplum connector:
308+
309+
1. In **Edit linked service page**, select **2.0 (Preview)** under **Version** and configure the linked service by referring to [Linked service properties](#linked-service-properties).
310+
311+
1. The data type mapping for the latest Greenplum linked service is different from that for version 1.0. To learn the latest data type mapping, see [Data type mapping for Greenplum](#data-type-mapping-for-greenplum).
312+
200313
## Related content
201314
For a list of data stores supported as sources and sinks by the copy activity, see [supported data stores](copy-activity-overview.md#supported-data-stores-and-formats).
-6.8 KB
Loading

0 commit comments

Comments
 (0)