다음을 통해 공유


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 커넥터는 다음 기능에 대해 지원됩니다.

지원되는 기능 IR
복사 작업(원본/-) ① ②
조회 작업 ① ②

① Azure 통합 런타임 ② 자체 호스팅 통합 런타임

복사 작업의 원본/싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소 표를 참조하세요.

이 서비스는 연결을 사용하는 기본 제공 드라이버를 제공합니다. 따라서 이 커넥터를 사용하여 드라이버를 수동으로 설치하지 않아도 됩니다.

시작하기

파이프라인에 복사 작업을 수행하려면 다음 도구 또는 SDK 중 하나를 사용하면 됩니다.

UI를 사용하여 Presto에 연결된 서비스 만들기

다음 단계를 사용하여 Azure Portal UI에서 Presto에 연결된 서비스를 만듭니다.

  1. Azure Data Factory 또는 Synapse 작업 영역에서 관리 탭으로 이동하여 연결된 서비스를 선택하고 새로 만들기를 클릭합니다.

  2. Presto를 검색하고 Presto 커넥터를 선택합니다.

    Presto 커넥터의 스크린샷.

  3. 서비스 세부 정보를 구성하고, 연결을 테스트하고, 새로운 연결된 서비스를 만듭니다.

    Presto의 연결된 서비스 구성 스크린샷.

커넥터 구성 세부 정보

다음 섹션에서는 Presto 커넥터에 한정된 Data Factory 엔터티를 정의하는 데 사용되는 속성에 대해 자세히 설명합니다.

연결된 서비스 속성

이제 Presto 커넥터는 버전 2.0(미리 보기)을 지원합니다. 버전 1.0에서 Presto 커넥터 버전을 업그레이드하려면 이 섹션을 참조하세요. 속성 세부 정보는 해당 섹션을 참조하세요.

버전 2.0(미리 보기)

Presto 연결된 서비스는 버전 2.0(미리 보기)을 적용할 때 다음 속성을 지원합니다.

속성 설명 필수
형식 type 속성은 Presto로 설정해야 합니다.
버전 지정한 버전입니다. 값은 2.0입니다.
호스트 Presto 서버의 IP 주소 또는 호스트 이름입니다. (예: 192.168.222.160)
카탈로그 서버에 대한 모든 요청의 카탈로그 컨텍스트입니다.
포트 Presto 서버가 클라이언트 연결을 수신하는 데 사용하는 TCP 포트입니다. 기본값은 8443입니다. 아니요
authenticationType Presto 서버에 연결하는 데 사용되는 인증 메커니즘입니다.
허용되는 값은 Anonymous, LDAP입니다.
사용자 이름 Presto에 연결하는 데 사용되는 사용자 이름입니다. 아니요
비밀번호 사용자 이름에 해당하는 암호입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하거나, Azure Key Vault에 저장된 비밀을 참조합니다. 아니요
enableSsl (SSL 활성화) TLS를 사용하여 서버 연결을 암호화할지 여부를 지정합니다. 기본값은 true입니다. 아니요
서버 인증서 유효성 검사를 활성화하다 연결할 때 서버 SSL 인증서 유효성 검사를 사용하도록 설정할지 여부를 지정합니다.
항상 시스템 신뢰 저장소를 사용합니다. 기본값은 true입니다.
아니요
timeZoneID 연결에서 사용되는 현지 표준 시간대입니다. 이 옵션에 유효한 값은 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 서버에 연결하는 데 사용되는 인증 메커니즘입니다.
허용되는 값은 Anonymous, LDAP입니다.
사용자 이름 Presto에 연결하는 데 사용되는 사용자 이름입니다. 아니요
비밀번호 사용자 이름에 해당하는 암호입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하거나, Azure Key Vault에 저장된 비밀을 참조합니다. 아니요
SSL 활성화 TLS를 사용하여 서버 연결을 암호화할지 여부를 지정합니다. 기본값은 false입니다. 아니요
신뢰할 수 있는 인증서 경로 TLS를 통해 연결할 때 서버를 확인하는 데 사용되는 신뢰할 수 있는 CA 인증서를 포함하는 .pem 파일의 전체 경로입니다. 이 속성은 자체 호스팅 IR에서 TLS를 사용하는 경우에만 설정할 수 있습니다. 기본값은 IR과 함께 설치된 cacerts.pem 파일입니다. 아니요
useSystemTrustStore (시스템 신뢰 저장소 사용) 시스템 신뢰 저장소 또는 지정된 PEM 파일의 CA 인증서를 사용할지 여부를 지정합니다. 기본값은 false입니다. 아니요
allowHostNameCNMismatch TLS를 통해 연결할 때 CA에서 발급된 TLS/SSL 인증서 이름이 서버의 호스트 이름과 일치하도록 할지 여부를 지정합니다. 기본값은 false입니다. 아니요
자체 서명 서버 인증서 허용 서버의 자체 서명된 인증서를 허용할지 여부를 지정합니다. 기본값은 false입니다. 아니요
timeZoneID 연결에서 사용되는 현지 표준 시간대입니다. 이 옵션에 유효한 값은 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로 설정해야 합니다.
schema(스키마) 스키마의 이름입니다. 아니요(작업 원본에서 "query"가 지정된 경우)
테이블 테이블 이름입니다. 아니요(작업 원본에서 "query"가 지정된 경우)
tableName 스키마가 있는 테이블의 이름입니다. 이 속성은 이전 버전과의 호환성을 위해 지원됩니다. 새 워크로드의 경우 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의 경우)
ARRAY 문자열 문자열
bigint Int64 Int64
BOOLEAN 불리언 (Boolean) 불리언 (Boolean)
CHAR 문자열 문자열
DATE 날짜 날짜와 시간
DECIMAL(정밀도 < 28) 십진수 십진수
숫자형(정밀도 >= 28) 십진수 문자열
DOUBLE Double 십진수
정수 Int32 Int32
INTERVAL_DAY_TO_SECOND TimeSpan 지원되지 않습니다.
INTERVAL_YEAR_TO_MONTH 문자열 지원되지 않습니다.
IPADDRESS 문자열 지원되지 않습니다.
JSON 문자열 String
지도 String 문자열
real 싱글 싱글
ROW 문자열 문자열
SMALLINT Int16 Int16
TIME Time TimeSpan
TIME_WITH_TIME_ZONE 문자열 문자열
타임 스탬프 날짜와 시간 날짜와 시간
타임스탬프위드타임존 Datetimeoffset 지원되지 않습니다.
TINYINT SByte Int16
UUID Guid 지원되지 않습니다.
VARBINARY 바이트[] 바이트[]
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이 지원됩니다.

trustedCertPath, useSystemTrustStoreallowHostNameCNMismatchallowSelfSignedServerCert 지원되지 않습니다.
기본값 enableSSL 은 false입니다.

enableServerCertificateValidation 지원되지 않습니다.

trustedCertPath, useSystemTrustStoreallowHostNameCNMismatchallowSelfSignedServerCert 지원됩니다.
기본값 timeZoneID 은 Presto 시스템 표준 시간대입니다. 기본값 timeZoneID 은 Azure Data Factory 표준 시간대입니다.
다음 매핑은 Presto 데이터 유형에서 중간 서비스 데이터 유형으로 사용됩니다.

날짜 -> 날짜
DECIMAL (Precision >= 28) -> Decimal
더블 -> 더블
INTERVAL_DAY_TO_SECOND -> TimeSpan
INTERVAL_YEAR_TO_MONTH -> 문자열
IPADDRESS -> 문자열
TIME -> Time
TIMESTAMPWITHTIMEZONE -> Datetimeoffset
TINYINT -> SByte
UUID -> Guid
다음 매핑은 Presto 데이터 형식에서 중간 서비스 데이터 형식으로 전환하는 데 사용됩니다.

날짜 -> 날짜 및 시간
DECIMAL(정밀도 >= 28) -> 문자열
DOUBLE -> Decimal
TIME -> TimeSpan
TINYINT -> Int16
왼쪽에 나열된 버전 2.0(미리 보기)에서 지원되는 다른 매핑은 버전 1.0에서 지원되지 않습니다.

복사 작업에서 원본 및 싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소를 참조하세요.