共用方式為


使用 Azure Data Factory 或 Synapse Analytics 從 Presto 複製資料

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

本文概述如何使用 Azure Data Factory 或 Synapse Analytics 管線中的複製活動,從 Presto 複製資料。 本文是根據複製活動概觀一文,該文提供複製活動的一般概觀。

這很重要

Presto 連接器 2.0 版提供改良的原生 Presto 支援。 如果您在解決方案中使用 Presto 連接器 1.0 版,請在 2025 年 8 月 31 日之前升級 Presto 連接器。 如需 2.0 版與 1.0 版之間的差異詳細資訊,請參閱本節

支援的功能

此 Presto 連接器支援下列功能:

支援的功能 紅外線
複製活動 (來源/-) 4.9
查閱活動 4.9

① Azure 整合執行階段 ② 自我裝載整合執行階段

如需複製活動所支援作為來源/接收器的資料存放區清單,請參閱支援的資料存放區表格。

此服務提供的內建驅動程式可啟用連線,因此,您不需手動安裝任何驅動程式,即可使用此連接器。

開始使用

若要透過管線執行複製活動,您可以使用下列其中一個工具或 SDK:

使用 UI 建立連結至 Presto 的服務

使用下列步驟,在 Azure 入口網站 UI 中建立連結至 Presto 的服務。

  1. 前往 Azure Data Factory 或 Synapse 工作區的 [管理] 索引標籤,選取 [連結服務],然後按一下 [新增]:

  2. 搜尋 Presto 並選取 Presto 連接器。

    顯示 Presto 連接器螢幕擷取畫面。

  3. 設定服務詳細資料,測試連線,然後建立新的連結服務。

    Presto 連結服務設定的螢幕擷取畫面。

連接器設定詳細資料

下列各節提供屬性的相關詳細資料,這些屬性是用來定義 Presto 連接器專屬的 Data Factory 實體。

連結服務屬性

Presto 連接器現在支援 2.0 版。 請參閱本節,從 1.0 版升級 Presto 連接器版本。 如需屬性詳細資料,請參閱對應的章節。

2.0 版

套用 2.0 版時,Presto 連結服務支援下列屬性:

屬性 描述 必要
類型 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。
時間 ZoneID 連線所使用的本機時區。 這個選項的有效值均指定於 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 版

套用 1.0 版時,Presto 連結服務支援下列屬性:

屬性 描述 必要
類型 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。
可信任憑證路徑 .pem 檔案的完整路徑,其中包含在透過 TLS 連線時,用來驗證伺服器的受信任 CA 憑證。 只有在自我裝載 IR 上使用 TLS 時,才能設定這個屬性。 預設值為隨 IR 安裝的 cacerts.pem 檔案。
使用系統信任憑證庫 (useSystemTrustStore) 指定是否使用來自系統信任存放區或來自指定 PEM 檔案的 CA 憑證。 預設值為 false。
allowHostNameCNMismatch (允許主機名稱與CN不匹配) 指定在透過 TLS 連線時,是否要求 CA 所核發的 TLS/SSL 憑證名稱符合伺服器的主機名稱。 預設值為 false。
允許自簽名伺服器證書 指定是否允許來自伺服器的自我簽署憑證。 預設值為 false。
時間 ZoneID 連線所使用的本機時區。 這個選項的有效值均指定於 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。 以下是支援的屬性:

屬性 描述 必要
類型 資料集的類型屬性必須設定為:PrestoObject 是的
架構 結構描述的名稱。 否 (如果已指定活動來源中的「查詢」)
表格 資料表的名稱。 否 (如果已指定活動來源中的「查詢」)
資料表名稱 具有結構描述的資料表名稱。 支援此屬性是基於回溯相容性。 對於新的工作負載,請使用 schematable 否 (如果已指定活動來源中的「查詢」)

範例

{
    "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
日至秒時間間隔 TimeSpan(時間跨度) 不支援。
年到月間隔 繩子 不支援。
IP位址 繩子 不支援。
JSON(JavaScript物件標記法) 繩子 繩子
地圖 繩子 繩子
真實 單身 單身
繩子 繩子
SMALLINT Int16 Int16
時間 時間 TimeSpan(時間跨度)
帶時區的時間 繩子 繩子
時間戳記 日期時間 日期時間
TIMESTAMPWITHTIMEZONE Datetimeoffset 不支援。
TINYINT SByte Int16
通用唯一識別碼 (UUID) Guid 不支援。
VARBINARY(變數二進位數據) Byte[] Byte[]
VARCHAR 繩子 繩子

查閱活動屬性

若要了解屬性的詳細資料,請參閱查閱活動

升級 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

trustedCertPathuseSystemTrustStoreallowHostNameCNMismatchallowSelfSignedServerCert是支援的。
的預設值 timeZoneID 是 Presto 系統時區。 的預設值 timeZoneID 是 Azure Data Factory 時區。
從 Presto 資料類型映射到中繼服務數據類型的對應如下。

DATE -> 日期
DECIMAL (精確度 >= 28) -> 十進位
從天到秒的間隔 -> 時間範圍
INTERVAL_YEAR_TO_MONTH -> 字元串
IPADDRESS - > 字串
TIME -> 時間
TIMESTAMPWITHTIMEZONE -> 日期時間偏移量
TINYINT -> SByte
UUID(通用唯一識別碼)-> GUID(全球唯一識別碼)
從 Presto 資料類型映射到中繼服務數據類型的對應如下。

日期 -> 日期時間
DECIMAL (精確度 >= 28) -> 字串
TIME -> TimeSpan
TINYINT -> Int16
版本 2.0 支援但版本 1.0 不支援的其他對應列於左側。

如需複製活動支援作為來源和接收器的資料存放區清單,請參閱支援的資料存放區