次の方法で共有


Azure Data Factory または Synapse Analytics を使用して Presto からデータをコピーする

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

この記事では、Azure Data Factory または Synapse Analytics パイプラインでコピー アクティビティを使用して、Presto からデータをコピーする方法について説明します。 この記事は、コピー アクティビティの概要を示しているコピー アクティビティの概要に関する記事に基づいています。

Von Bedeutung

Presto コネクタ バージョン 2.0 では、ネイティブ Presto のサポートが強化されています。 ソリューションで Presto コネクタ バージョン 1.0 を使用している場合は、2025 年 8 月 31 日より前に Presto コネクタをアップグレードしてください。 バージョン 2.0 とバージョン 1.0 の違いについて詳しくは、こちらのセクションをご覧ください。

サポートされる機能

この Presto コネクタでは、次の機能がサポートされます。

サポートされる機能 IR
Copy アクティビティ (ソース/-) (1) (2)
Lookup アクティビティ (1) (2)

① Azure 統合ランタイム ② セルフホステッド統合ランタイム

コピー アクティビティによってソースまたはシンクとしてサポートされているデータ ストアの一覧については、サポートされているデータ ストアに関する記事の表をご覧ください。

このサービスでは接続を有効にする組み込みのドライバーが提供されるので、このコネクタを使用してドライバーを手動でインストールする必要はありません。

作業の開始

パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用します。

UI を使用して Presto のリンク サービスを作成する

次の手順を使用して、Azure portal UI で Presto のリンク サービスを作成します。

  1. Azure Data Factory または Synapse ワークスペースの [管理] タブに移動し、[リンクされたサービス] を選択して、[新規] をクリックします。

    Azure Data Factory の UI で新しいリンク サービスを作成するスクリーンショット。

  2. Presto を検索し、Presto コネクタを選択します。

    Presto コネクタのスクリーンショット。

  3. サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。

    Presto のリンク サービスの構成のスクリーンショット。

コネクタの構成の詳細

次のセクションでは、Presto コネクタに固有の Data Factory エンティティの定義に使用されるプロパティについて詳しく説明します。

リンクされたサービスのプロパティ

Presto コネクタでバージョン 2.0 がサポートされるようになりました。 Presto コネクタのバージョンをバージョン 1.0 からアップグレードするには、このセクションを参照してください。 プロパティの詳細については、対応するセクションを参照してください。

バージョン 2.0

Presto のリンクされたサービスでは、バージョン 2.0 を適用すると、次のプロパティがサポートされます。

プロパティ 内容 必須
種類 type プロパティは、次のように設定する必要があります:Presto はい
バージョン 指定するバージョン。 値は 2.0 です。 はい
ホスト Presto サーバーの IP アドレスまたはホスト名。 (例: 192.168.222.160) はい
カタログ サーバーに対するすべての要求のカタログ コンテキスト。 はい
Presto サーバーがクライアント接続のリッスンに使用する TCP ポート。 既定値は 8443 です。 いいえ
認証タイプ Presto サーバーへの接続に使用する認証メカニズム。
使用できる値は、以下のとおりです。AnonymousLDAP
はい
ユーザー名 Presto サーバーへの接続に使用されるユーザー名。 いいえ
パスワード ユーザー名に対応するパスワード。 このフィールドを SecureString とマークして安全に保存するか、Azure Key Vault に保存されているシークレットを参照します。 いいえ
SSLを有効にする サーバーへの接続が TLS を使用して暗号化されるかどうかを指定します。 これは既定値は true です。 いいえ
サーバー証明書検証を有効にする 接続時にサーバー SSL 証明書の検証を有効にするかどうかを指定します。
常にシステム 信頼ストアを使用します。 これは既定値は true です。
いいえ
タイムゾーンID 接続で使用されるローカルのタイム ゾーン。 このオプションの有効な値は、IANA タイム ゾーン データベースで指定されます。 既定値は Presto システムのタイム ゾーンです。 いいえ

例:

{
    "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" : ""
        }
    }
}

バージョン 1.0

Presto のリンクされたサービスでは、バージョン 1.0 を適用すると、次のプロパティがサポートされます。

プロパティ 内容 必須
種類 type プロパティは、次のように設定する必要があります:Presto はい
ホスト Presto サーバーの IP アドレスまたはホスト名。 (例: 192.168.222.160) はい
サーバーバージョン Presto サーバーのバージョン。 (例: 0.148-t) はい
カタログ サーバーに対するすべての要求のカタログ コンテキスト。 はい
Presto サーバーがクライアント接続のリッスンに使用する TCP ポート。 既定値は 8080 です。 いいえ
認証タイプ Presto サーバーへの接続に使用する認証メカニズム。
使用できる値は、以下のとおりです。AnonymousLDAP
はい
ユーザー名 Presto サーバーへの接続に使用されるユーザー名。 いいえ
パスワード ユーザー名に対応するパスワード。 このフィールドを SecureString とマークして安全に保存するか、Azure Key Vault に保存されているシークレットを参照します。 いいえ
SSLを有効にする サーバーへの接続が TLS を使用して暗号化されるかどうかを指定します。 既定値は false です。 いいえ
trustedCertPath の TLS 経由で接続するときにサーバーを検証するための信頼された CA 証明書を含む .pem ファイルの完全なパス。 このプロパティは、セルフホステッド IR 上で TLS を使用している場合にのみ設定できます。 既定値は、IR でインストールされる cacerts.pem ファイルです。 いいえ
useSystemTrustStoreを使用します システムの信頼ストアと指定した PEM ファイルのどちらの CA 証明書を使用するかを指定します。 既定値は false です。 いいえ
allowHostNameCNMismatch (ホスト名CNMismatchを許可) TLS 経由で接続するときに、CA が発行した TLS/SSL 証明書名がサーバーのホスト名と一致する必要があるかどうかを指定します。 既定値は false です。 いいえ
allowSelfSignedServerCert (英語) サーバーからの自己署名証明書を許可するかどうかを指定します。 既定値は false です。 いいえ
タイムゾーンID 接続で使用されるローカルのタイム ゾーン。 このオプションの有効な値は、IANA タイム ゾーン データベースで指定されます。 既定値は Azure Data Factory タイム ゾーンです。 いいえ

例:

{
    "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"
        }
    }
}

データセットのプロパティ

データセットを定義するために使用できるセクションとプロパティの完全な一覧については、データセットに関する記事をご覧ください。 このセクションでは、Presto データセットでサポートされるプロパティの一覧を示します。

Presto からデータをコピーするには、データセットの type プロパティを PrestoObject に設定します。 次のプロパティがサポートされています。

プロパティ 内容 必須
種類 データセットの type プロパティは、次のように設定する必要があります:PrestoObject はい
スキーマ スキーマの名前。 いいえ (アクティビティ ソースの "query" が指定されている場合)
テーブル / 表 テーブルの名前。 いいえ (アクティビティ ソースの "query" が指定されている場合)
テーブル名 スキーマがあるテーブルの名前。 このプロパティは下位互換性のためにサポートされています。 新しいワークロードでは、schematable を使用します。 いいえ (アクティビティ ソースの "query" が指定されている場合)

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

コピー アクティビティのプロパティ

アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。 このセクションでは、Presto ソースでサポートされるプロパティの一覧を示します。

ソースとしての Presto

Presto からデータをコピーするには、コピー アクティビティのソースの種類を PrestoSource に設定します。 コピー アクティビティの source セクションでは、次のプロパティがサポートされます。

プロパティ 内容 必須
種類 コピー アクティビティのソースの type プロパティは、次のように設定する必要があります:PrestoSource はい
問い合わせ カスタム SQL クエリを使用してデータを読み取ります。 (例: "SELECT * FROM MyTable")。 いいえ (データセットの "tableName" が指定されている場合)

例:

"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>"
            }
        }
    }
]

Presto のデータ型マッピング

Presto からデータをコピーする場合、Presto のデータ型からサービスで使用される内部データ型への次のマッピングが適用されます。 コピー アクティビティでソースのスキーマとデータ型がシンクにマッピングされるしくみについては、スキーマとデータ型のマッピングに関する記事を参照してください。

Presto のデータ型 中間サービスのデータ型 (バージョン 2.0 の場合) 中間サービスのデータ型 (バージョン 1.0 の場合)
配列
bigint Int64 Int64
ブーリアン ボーリアン ボーリアン
チャー
日付 日付 日時
DECIMAL (有効桁数 < 28) 小数 小数
DECIMAL (精度 >= 28) 小数
ダブル ダブル
整数 Int32 Int32
日から秒までの間隔 タイムスパン サポートされていません。
INTERVAL_YEAR_TO_MONTH サポートされていません。
IPADDRESS サポートされていません。
JSON(ジェイソン)
地図
実数 シングル シングル
漕ぐ
スモールイント Int16 Int16
時間 時間 タイムスパン
タイム・ウィズ・タイムゾーン
タイムスタンプ 日時 日時
タイムスタンプウィズタイムゾーン Datetimeoffset サポートされていません。
タイニーイント (TINYINT) SByte Int16
UUID(ユニバーサリー・ユニーク・アイデンティファイア) Guid サポートされていません。
VARBINARY(可変長バイナリデータ型) Byte[] Byte[]
VARCHAR

Lookup アクティビティのプロパティ

プロパティの詳細については、Lookup アクティビティに関するページを参照してください。

Presto コネクタをアップグレードする

Presto コネクタのアップグレードに役立つ手順を次に示します。

  1. [ リンクされたサービスの編集] ページで、バージョン 2.0 を選択し、 リンクされたサービス バージョン 2.0 のプロパティを参照してリンクされたサービスを構成します

  2. Presto のリンクされたサービス バージョン 2.0 のデータ型マッピングは、バージョン 1.0 とは異なります。 最新のデータ型マッピングについては、「 Presto のデータ型マッピング」を参照してください。

Presto コネクタ バージョン 2.0 とバージョン 1.0 の違い

Presto コネクタ バージョン 2.0 は新しい機能を提供し、バージョン 1.0 のほとんどの機能と互換性があります。 次の表に、バージョン 2.0 とバージョン 1.0 の機能の違いを示します。

バージョン 2.0 バージョン 1.0
serverVersion はサポートされません。 serverVersion はサポートされています。
portの既定値は 8443 です。 portの既定値は 8080 です。
enableSSL の既定値は true です。

enableServerCertificateValidation はサポートされています。

trustedCertPathuseSystemTrustStoreallowHostNameCNMismatchallowSelfSignedServerCert はサポートされていません。
enableSSL の既定値は false です。

enableServerCertificateValidation はサポートされません。

trustedCertPathuseSystemTrustStoreallowHostNameCNMismatch 、および allowSelfSignedServerCert がサポートされています。
timeZoneIDの既定値は、Presto システムのタイム ゾーンです。 timeZoneIDの既定値は、Azure Data Factory のタイム ゾーンです。
Presto データ型から中間サービス データ型への次のマッピングが使用されます。

DATE -> 日付
DECIMAL (有効桁数 >= 28) -> Decimal
INTERVAL_DAY_TO_SECOND -> TimeSpan
INTERVAL_YEAR_TO_MONTH -> 文字列
IPADDRESS -> String
TIME -> Time
TIMESTAMPWITHTIMEZONE -> Datetimeoffset
TINYINT -> SByte
UUID -> Guid
Presto データ型から中間サービス データ型への次のマッピングが使用されます。

DATE -> Datetime
DECIMAL (有効桁数 >= 28) -> String
TIME -> TimeSpan
TINYINT -> Int16
一覧表示されているバージョン 2.0 でサポートされているその他のマッピングは、バージョン 1.0 ではサポートされていません。

Copy アクティビティでソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。