適用対象: Azure Data Factory
Azure Synapse Analytics
ヒント
企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。
この記事では、Azure Data Factory または Synapse Analytics パイプラインでコピー アクティビティを使用して、Greenplum からデータをコピーする方法について説明します。 この記事は、コピー アクティビティの概要を示しているコピー アクティビティの概要に関する記事に基づいています。
Von Bedeutung
Greenplum コネクタ バージョン 2.0 では、ネイティブ Greenplum のサポートが強化されています。 ソリューションで Greenplum コネクタ バージョン 1.0 を使用している場合は、2025 年 8 月 31 日より前に Greenplum コネクタをアップグレードしてください。 バージョン 2.0 とバージョン 1.0 の違いについて詳しくは、こちらのセクションをご覧ください。
サポートされる機能
この Greenplum コネクタでは、次の機能がサポートされます。
サポートされる機能 | IR |
---|---|
Copy アクティビティ (ソース/-) | (1) (2) |
Lookup アクティビティ | (1) (2) |
① Azure 統合ランタイム ② セルフホステッド統合ランタイム
コピー アクティビティによってソースまたはシンクとしてサポートされているデータ ストアの一覧については、サポートされているデータ ストアに関する記事の表をご覧ください。
このサービスでは接続を有効にする組み込みのドライバーが提供されるので、このコネクタを使用してドライバーを手動でインストールする必要はありません。
前提条件
データ ストアがオンプレ ミスネットワーク、Azure 仮想ネットワーク、または Amazon Virtual Private Cloud 内にある場合は、それに接続するようセルフホステッド統合ランタイムを構成する必要があります。
データ ストアがマネージド クラウド データ サービスである場合は、Azure Integration Runtime を使用できます。 ファイアウォール規則で承認されている IP にアクセスが制限されている場合は、Azure Integration Runtime の IP を許可リストに追加できます。
また、Azure Data Factory のマネージド仮想ネットワーク統合ランタイム機能を使用すれば、セルフホステッド統合ランタイムをインストールして構成しなくても、オンプレミス ネットワークにアクセスすることができます。
Data Factory によってサポートされるネットワーク セキュリティ メカニズムやオプションの詳細については、「データ アクセス戦略」を参照してください。
作業の開始
パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用します。
UI を使用して Greenplum のリンク サービスを作成する
次の手順を使用して、Azure portal UI で Greenplum のリンク サービスを作成します。
Azure Data Factory または Synapse ワークスペースの [管理] タブに移動し、[リンクされたサービス] を選択して、[新規] をクリックします。
- Azureデータファクトリー
- Azure Synapse
Greenplum を検索し、Greenplum コネクタを選択します。
サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。
コネクタの構成の詳細
次のセクションでは、Greenplum コネクタに固有の Data Factory エンティティの定義に使用されるプロパティについて詳しく説明します。
リンクされたサービスのプロパティ
Greenplum コネクタでバージョン 2.0 がサポートされるようになりました。 Greenplum コネクタのバージョンをバージョン 1.0 からアップグレードするには、この セクション を参照してください。 プロパティの詳細については、対応するセクションを参照してください。
バージョン 2.0
Greenplum のリンクされたサービスでは、バージョン 2.0 を適用するときに次のプロパティがサポートされます。
プロパティ | 内容 | 必須 |
---|---|---|
種類 | type プロパティを Greenplum に設定する必要があります | はい |
バージョン | 指定するバージョン。 値は 2.0 です。 |
はい |
ホスト | データベースが実行されているホスト名 (および必要に応じてポート) を指定します。 | はい |
港 | データベース サーバーの TCP ポート。 既定値は 5432 です。 |
いいえ |
データベース | 接続先のデータベース。 | はい |
ユーザー名 | 接続するためのユーザー名。 IntegratedSecurity を使用している場合は必要ありません。 | はい |
パスワード | 接続するためのパスワード。 IntegratedSecurity を使用している場合は必要ありません。 安全に保存するには、このフィールドを SecureString としてマークします。 また、Azure Key Vault に格納されているシークレットを参照することもできます。 | はい |
SSLモード | サーバーのサポートに応じて、SSL を使用するかどうかを制御します。 - Disable: SSL が無効です。 サーバーで SSL が必要である場合、接続は失敗します。 - Allow: サーバーで許可されている場合は非 SSL 接続が優先されますが、SSL 接続も許可されます。 - Prefer: サーバーで許可されている場合は SSL 接続が優先されますが、SSL を使用しない接続も許可されます。 - Require: サーバーで SSL がサポートされていない場合、接続は失敗します。 - Verify-ca: サーバーで SSL がサポートされていない場合、接続は失敗します。 サーバー証明書の検証も行われます。 - Verify-full: サーバーで SSL がサポートされていない場合、接続は失敗します。 ホスト名を含むサーバー証明書の検証も行われます。 オプション: 無効 (0) / 許可 (1) / 優先 (2) / 必須 (3) (既定値) / Verify-ca (4) / Verify-full (5) |
はい |
認証タイプ | データベースに接続するための認証の種類。 Basic のみサポートされます。 | はい |
connectVia (接続ビア) | データ ストアに接続するために使用される統合ランタイム。 詳細については、「前提条件」セクションを参照してください。 指定されていない場合は、既定の Azure 統合ランタイムが使用されます。 | いいえ |
追加の接続プロパティ: | ||
接続タイムアウト | 接続を確立する際、試行を終了してエラーを生成するまでに待機する時間 (秒)。 既定値は 15 です。 |
いいえ |
commandTimeout | コマンドを実行しようとする際の試行中に、試行を打ち切ってエラーを生成するまでの待機時間 (秒数)。 無限の場合はゼロに設定されます。 既定値は 30 です。 |
いいえ |
例:
{
"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"
}
}
}
例: パスワードを 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"
}
}
}
バージョン 1.0
Greenplum のリンクされたサービスでは、バージョン 1.0 を適用すると、次のプロパティがサポートされます。
プロパティ | 内容 | 必須 |
---|---|---|
種類 | type プロパティを Greenplum に設定する必要があります | はい |
コネクションストリング | Greenplum に接続するための ODBC 接続文字列。 パスワードを Azure Key Vault に格納して、接続文字列から pwd 構成をプルすることもできます。 詳細については、下記の例と、「Azure Key Vault への資格情報の格納」の記事を参照してください。 |
はい |
connectVia (接続ビア) | データ ストアに接続するために使用される統合ランタイム。 詳細については、「前提条件」セクションを参照してください。 指定されていない場合は、既定の Azure 統合ランタイムが使用されます。 | いいえ |
例:
{
"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"
}
}
}
例: パスワードを 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"
}
}
}
データセットのプロパティ
データセットを定義するために使用できるセクションとプロパティの完全な一覧については、データセットに関する記事をご覧ください。 このセクションでは、Greenplum データセットでサポートされるプロパティの一覧を示します。
Greenplum からデータをコピーするには、データセットの type プロパティを GreenplumTable に設定します。 次のプロパティがサポートされています。
プロパティ | 内容 | 必須 |
---|---|---|
種類 | データセットの type プロパティは、GreenplumTable に設定する必要があります。 | はい |
スキーマ | スキーマの名前。 | いいえ (アクティビティ ソースの "query" が指定されている場合) |
テーブル / 表 | テーブルの名前。 | いいえ (アクティビティ ソースの "query" が指定されている場合) |
テーブル名 | スキーマがあるテーブルの名前。 このプロパティは下位互換性のためにサポートされています。 新しいワークロードでは、schema と table を使用します。 |
いいえ (アクティビティ ソースの "query" が指定されている場合) |
例
{
"name": "GreenplumDataset",
"properties": {
"type": "GreenplumTable",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Greenplum linked service name>",
"type": "LinkedServiceReference"
}
}
}
コピー アクティビティのプロパティ
アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。 このセクションでは、Greenplum ソースでサポートされるプロパティの一覧を示します。
ソースとしての GreenplumSource
Greenplum からデータをコピーするには、コピー アクティビティのソースの種類を GreenplumSource に設定します。 コピー アクティビティの source セクションでは、次のプロパティがサポートされます。
プロパティ | 内容 | 必須 |
---|---|---|
種類 | コピー アクティビティのソースの type プロパティを GreenplumSource に設定する必要があります | はい |
問い合わせ | カスタム SQL クエリを使用してデータを読み取ります。 (例: "SELECT * FROM MyTable" )。 |
いいえ (データセットの "tableName" が指定されている場合) |
例:
"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>"
}
}
}
]
Greenplum のデータ型マッピング
Greenplum からデータをコピーする場合、Greenplum のデータ型からサービスで使用される内部データ型への次のマッピングが適用されます。 コピー アクティビティでソースのスキーマとデータ型がシンクにマッピングされるしくみについては、スキーマとデータ型のマッピングに関する記事を参照してください。
Greenplum データ型 | 中間サービスのデータ型 (バージョン 2.0 の場合) | 中間サービスのデータ型 (バージョン 1.0 の場合) |
---|---|---|
スモールイント | Int16 | Int16 |
整数 | Int32 | Int32 |
ビッグイント (BigInt) | Int64 | Int64 |
小数(精度 <= 28) | 小数 | 小数 |
小数 (精度 > 28) | 小数 | 糸 |
数値 | 小数 | 小数 |
本当の | シングル | シングル |
ダブル | ダブル | ダブル |
スモールシリアル | Int16 | Int16 |
シリアル | Int32 | Int32 |
BigSerial | Int64 | Int64 |
お金 | 小数 | 糸 |
イワナ | 糸 | 糸 |
Varchar | 糸 | 糸 |
テキスト | 糸 | 糸 |
Bytea | Byte[] | Byte[] |
タイムスタンプ | 日付と時間 | 日付と時間 |
タイムゾーン付きタイムスタンプ | DateTimeOffset (日付と時刻のオフセット) | 糸 |
日付 | 日付 | 日付と時間 |
時間 | タイムスパン | タイムスパン |
タイムゾーン付きの時刻 | DateTimeOffset (日付と時刻のオフセット) | 糸 |
インターバル | タイムスパン | 糸 |
ボーリアン | ボーリアン | ボーリアン |
ポイント | 糸 | 糸 |
線 | 糸 | 糸 |
Iseg | 糸 | 糸 |
ボックス | 糸 | 糸 |
経路 | 糸 | 糸 |
多角形 | 糸 | 糸 |
円 | 糸 | 糸 |
CIDR | 糸 | 糸 |
Inet | 糸 | 糸 |
Macaddr | 糸 | 糸 |
Macaddr8 | 糸 | 糸 |
Tsvector | 糸 | 糸 |
Tsquery | 糸 | 糸 |
UUID(ユニバーサリー・ユニーク・アイデンティファイア) | Guid | Guid |
Json | 糸 | 糸 |
Jsonb | 糸 | 糸 |
配列 | 糸 | 糸 |
ビット | Byte[] | Byte[] |
ビットの変化 | Byte[] | Byte[] |
XML | 糸 | 糸 |
IntArray | 糸 | 糸 |
TextArray | 糸 | 糸 |
NumericArray | 糸 | 糸 |
DateArray | 糸 | 糸 |
範囲 | 糸 | 糸 |
Bpchar | 糸 | 糸 |
Lookup アクティビティのプロパティ
プロパティの詳細については、Lookup アクティビティに関するページを参照してください。
Greenplum コネクタをアップグレードする
Greenplum コネクタのアップグレードに役立つ手順を次に示します。
[ リンクされたサービスの編集] ページで、バージョン 2.0 を選択し、 リンクされたサービス バージョン 2.0 のプロパティを参照してリンクされたサービスを構成します。
Greenplum のリンクされたサービス バージョン 2.0 のデータ型マッピングは、バージョン 1.0 とは異なります。 最新のデータ型マッピングについては、「 Greenplum のデータ型マッピング」を参照してください。
Greenplum バージョン 2.0 とバージョン 1.0 の違い
Greenplum コネクタ バージョン 2.0 は新しい機能を提供し、バージョン 1.0 のほとんどの機能と互換性があります。 次の表は、バージョン 2.0 とバージョン 1.0 の機能の違いを示しています。
バージョン 2.0 | バージョン 1.0 |
---|---|
Greenplum データ型から中間サービス データ型への次のマッピングが使用されます。 Decimal (Precision > 28) -> Decimal お金 -> 小数 タイム ゾーンを持つタイムスタンプ -> DateTimeOffset タイムゾーン付き時間 -> DateTimeOffset Interval -> TimeSpan |
Greenplum データ型から中間サービス データ型への次のマッピングが使用されます。 Decimal (Precision > 28) -> String Money -> 文字列 タイム ゾーン ->String を含むタイムスタンプ タイムゾーン付きの時間 -> 文字列 Interval -> String |
関連するコンテンツ
Copy アクティビティでソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。