기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

Databricks

Databricks 데이터 파이프라인이나 복제 작업에서 대상 데이터 플랫폼으로 사용됩니다. 데이터 파이프라인에서는 데이터 저장, 데이터 변환, 데이터 마트 만들기, 데이터 등록 등 다양한 ELT 작업을 대상 플랫폼에서 수행할 수 있습니다. 반면 복제 작업에는 기본 변환 기능을 사용하여 소스 시스템에서 대상 시스템으로 직접 데이터를 복제하는 작업이 포함되지만 ELT 작업은 지원되지 않습니다.를 사용할 수 있습니다.

Databricks을 대상으로 설정하려면 다음이 필요합니다.

정보 메모SQL Warehouse 클러스터에서만 지원됨

클라우드 스테이징 영역 설정

Databricks 대상 커넥터를 사용하는 경우 데이터와 변경 내용이 적용되고 저장되기 전에 스테이징되는 클라우드 스테이징 영역도 정의해야 합니다. 다음 저장소 플랫폼이 지원됩니다.

정보 메모기존 데이터를 등록하는 경우 클라우드 스테이징 영역을 설정할 필요가 없습니다.

Databricks에 대한 연결 구성

스테이징 설정을 제공한 후 다음을 수행합니다.

  1. 연결에서 연결 만들기를 클릭합니다.

  2. Databricks 대상 커넥터를 선택한 후 다음 설정을 제공합니다.

데이터 대상

정보 메모이 구독 계층에서는 데이터 이동 게이트웨이가 지원되지 않으므로 이 필드는 Qlik Talend Cloud 시작 구독에서 사용할 수 없습니다.

데이터 이동 게이트웨이는 대상 데이터베이스가 Qlik Cloud에서 액세스할 수 없고 비공개 링크를 통해서만 액세스할 수 있는 경우에만 필요합니다(예를 들어, 또는 Virtual Private Cloud에 있는 경우). 이 경우 대상 데이터베이스에 액세스하려는 데이터 이동 게이트웨이를 선택합니다.

사용 사례에 따라 이는 데이터 소스에서 데이터를 배포하기 위해 동일하거나 다른 데이터 이동 게이트웨이가 배포되어 있습니다.

데이터 이동 게이트웨이 사용 사례에 대한 자세한 내용은 데이터 이동 게이트웨이는 언제 필요합니까?일반적인 사용 사례를 참조하십시오.

Qlik Cloud에서 대상 데이터베이스에 직접 액세스할 수 있는 경우 없음을 선택합니다.

정보 메모데이터 이동 게이트웨이를 통해 대상 데이터베이스에 액세스할 때 데이터 이동 게이트웨이 컴퓨터에 적절한 드라이버도 설치해야 합니다. 자세한 내용은 아래 드라이버 설정을 참조하십시오.

연결 속성

  • 호스트: Databricks 작업 영역의 호스트 이름입니다.
  • 포트: 작업공간에 액세스하는 데 사용되는 포트입니다.
  • HTTP 경로: 사용 중인 클러스터의 경로입니다.
  • 토큰: 작업 공간에 액세스하기 위한 개인 토큰입니다.

카탈로그 속성

카탈로그 로드를 클릭하여 사용할 수 있는 카탈로그를 로드한 다음 카탈로그를 선택합니다. 환경이 카탈로그로 구성되지 않은 경우 기본 카탈로그인 hive_metastore를 선택합니다.

정보 메모

Databricks에서 외부 위치를 정의하여 데이터 이동 게이트웨이가 외부(관리되지 않는) 테이블에 액세스하도록 허용해야 합니다. 지침은 다음을 참조하십시오.

https://docs.databricks.com/data-governance/unity-catalog/manage-external-locations-and-credentials.html#manage-permissions-for-an-external-location

내부 속성

내부 속성은 특별한 사용 사례를 위한 것이므로 대화 상자에 표시되지 않습니다. Qlik 지원 팀에서 지시한 경우에만 사용해야 합니다.

필드 오른쪽에 있는 새로 만들기취소 버튼을 사용하여 필요에 따라 속성을 추가하거나 제거합니다.

이름

연결의 표시 이름입니다.

전제 조건

일반 권한

  • Qlik Talend Data Integration 서버 컴퓨터의 시간은 정확해야 합니다.
  • Databricks 테이블 권한: Qlik Talend Data Integration는 Databricks 테이블에서 다음 작업을 수행하려면 권한이 필요합니다. CREATE, DROP, TRUNCATE, DESCRIBE, ALTER table.
  • ADLS Gen2 파일 시스템에 대한 액세스 제어(IAM) 설정에서 "저장소 Blob 데이터 기여자" 역할을 Qlik Talend Data Integration(AD 앱 ID)에 할당합니다. 역할이 적용되는 데 몇 분 정도 걸릴 수 있습니다.
  • Qlik Talend Data Integration가 ODBC를 통해 Databricks 클러스터에 연결하려면 사용자에게 Databricks 계정에서 "연결할 수 있음" 권한이 부여되어야 합니다.
  • Databricks에 액세스하려면 유효한 보안 토큰이 필요합니다. 종료 지점 설정에서 Databricks ODBC 액세스 필드를 구성할 때 토큰을 지정해야 합니다.
  • Microsoft ADLS(Azure Data Lake Storage) Gen2로 새 클러스터를 구성할 때 "Spark Config" 섹션에 다음 줄을 추가해야 합니다.

    spark.hadoop.hive.server2.enable.doAs false

  • Databricks 클러스터에서 저장소 디렉터리에 액세스할 수 있으려면 사용자는 해당 저장소 계정 및 해당 키에 대한 구성(Spark Config에서)을 추가해야 합니다.

     

    fs.azure.account.key.<storage-account-name>.dfs.core.windows.net <storage-account-access-key>

    자세한 내용은 https://docs.databricks.com/clusters/configure.html#spark-configuration에서 Databricks 온라인 도움말을 참조하십시오.

  • 성능에 영향을 줄 수 있으므로 Databricks 데이터베이스에 대한 루트 위치(/Usr/Hive/Warehouse/)를 사용하지 않는 것이 좋습니다.

저장소 액세스 권한

클라우드 저장소에 액세스하려면 Databricks SQL 컴퓨팅을 구성해야 합니다. 지침은 공급업체의 온라인 도움말을 참조하십시오.

드라이버 설정

드라이버는 데이터 이동 게이트웨이를 통해 데이터베이스에 액세스하는 경우에만 필요합니다. 이러한 경우에는 데이터 이동 게이트웨이 컴퓨터에 드라이버를 설치해야 합니다.

드라이버 설치 유틸리티(권장)를 사용하거나 수동으로 driver를 설치할 수 있습니다. 수동 설치는 드라이버 설치 유틸리티에 문제가 발생하는 드문 경우에만 시도해야 합니다.

드라이버 설치 유틸리티를 사용하여 드라이버 설치

이 섹션에서는 필수 driver를 설치하는 방법에 대해 설명합니다. 이 프로세스에는 필수 driver를 자동으로 다운로드, 설치 및 구성하는 스크립트 실행이 포함됩니다. 필요에 따라 스크립트를 실행하여 driver를 업데이트하고 제거할 수도 있습니다.

  • Python 3.6 이상이 데이터 이동 게이트웨이 서버에 설치되어 있는지 확인합니다.

    Python은 대부분의 Linux 배포에 사전 설치되어 있습니다. 다음 명령을 실행하여 시스템에 설치된 Python 버전을 확인할 수 있습니다.

    python3 --version

driver다운로드하고 설치하려면:

  1. 데이터 이동 게이트웨이 서비스 중지:

    sudo systemctl stop repagent

  2. 선택적으로 서비스가 중지되었는지 확인합니다.

    sudo systemctl status repagent

    상태는 다음과 같아야 합니다.

    Active: inactive (dead) since <timestamp> ago

  3. 데이터 이동 게이트웨이 컴퓨터에서 작업 디렉터리를 다음으로 변경합니다.

    opt/qlik/gateway/movement/drivers/bin

  4. 다음 명령을 실행합니다.

    구문:

    ./install databricks

    driver를 다운로드할 수 없는 경우(액세스 제한 또는 기술 문제로 인해) driver를 다운로드할 위치와 데이터 이동 게이트웨이 컴퓨터에서 복사할 위치를 알려 주는 메시지가 표시됩니다. 완료했으면 install databricks 명령을 다시 실행합니다.

    그렇지 않으면 driver에 대한 EULA가 표시됩니다.

  5. 다음 중 하나를 수행합니다.

    • [Enter] 키를 반복해서 눌러 EULA를 천천히 스크롤합니다.
    • 스페이스바를 반복해서 눌러 EULA를 빠르게 스크롤합니다.
    • q를 눌러 라이센스 텍스트를 종료하고 EULA 동의 옵션이 표시됩니다.
  6. 다음 중 하나를 수행합니다.

    • "y"를 입력하고 [Enter]를 눌러 EULA에 동의하고 설치를 시작합니다.
    • "n"을 입력하고 [Enter] 키를 눌러 EULA를 거부하고 설치를 종료합니다.
    • "v"를 입력하고 [Enter] 키를 눌러 EULA를 다시 봅니다.

  7. driver가 설치됩니다.

  8. 설치가 완료될 때까지 기다린 다음("완료!"로 표시됨) 데이터 이동 게이트웨이 서비스를 시작합니다.

    sudo systemctl start repagent

  9. 선택적으로 서비스가 시작되었는지 확인합니다.

    sudo systemctl status repagent

    상태는 다음과 같아야 합니다.

    Active: active (running) since <timestamp> ago

제공된 driver를 설치하기 전에 driver의 이전 버전을 제거하려면 업데이트 명령을 실행합니다.

driver를 다운로드하고 업데이트하려면:

  1. 데이터 이동 게이트웨이 서비스 중지:

    sudo systemctl stop repagent

  2. 선택적으로 서비스가 중지되었는지 확인합니다.

    sudo systemctl status repagent

    상태는 다음과 같아야 합니다.

    Active: inactive (dead) since <timestamp> ago

  3. 데이터 이동 게이트웨이 컴퓨터에서 작업 디렉터리를 다음으로 변경합니다.

    opt/qlik/gateway/movement/drivers/bin

  4. 다음 명령을 실행합니다.

    구문:

    ./update databricks

    driver를 다운로드할 수 없는 경우(액세스 제한 또는 기술 문제로 인해) driver를 다운로드할 위치와 데이터 이동 게이트웨이 컴퓨터에서 복사할 위치를 알려 주는 메시지가 표시됩니다. 완료했으면 update databricks 명령을 다시 실행합니다.

    그렇지 않으면 driver에 대한 EULA가 표시됩니다.

  5. 다음 중 하나를 수행합니다.

    • [Enter] 키를 반복해서 눌러 EULA를 천천히 스크롤합니다.
    • 스페이스바를 반복해서 눌러 EULA를 빠르게 스크롤합니다.
    • q를 눌러 라이센스 텍스트를 종료하고 EULA 동의 옵션이 표시됩니다.
  6. 다음 중 하나를 수행합니다.

    • "y"를 입력하고 [Enter]를 눌러 EULA에 동의하고 설치를 시작합니다.
    • "n"을 입력하고 [Enter] 키를 눌러 EULA를 거부하고 설치를 종료합니다.
    • "v"를 입력하고 [Enter] 키를 눌러 EULA를 처음부터 검토합니다.
  7. 이전 driver가 제거되고 새 driver가 설치됩니다.

  8. 설치가 완료될 때까지 기다린 다음("완료!"로 표시됨) 데이터 이동 게이트웨이 서비스를 시작합니다.

    sudo systemctl start repagent

  9. 선택적으로 서비스가 시작되었는지 확인합니다.

    sudo systemctl status repagent

    상태는 다음과 같아야 합니다.

    Active: active (running) since <timestamp> ago

driver를 제거하려면 제거 명령을 실행합니다.

driver를 제거하려면:

  1. 이 커넥터를 사용하도록 구성된 모든 작업을 중지합니다.

  2. 데이터 이동 게이트웨이 컴퓨터에서 작업 디렉터리를 다음으로 변경합니다.

    opt/qlik/gateway/movement/drivers/bin

  3. 다음 명령을 실행합니다.

    구문:

    ./uninstall databricks

    driver이 제거됩니다.

수동으로 드라이버 설치

자동 드라이버 설치가 성공적으로 완료되지 않은 경우에만 수동으로 driver 설치를 시도해야 합니다.

데이터 이동 게이트웨이이 설치된 후 SimbaSparkODBC-<버전>-LinuxRPM-64bit.zip 파일을 다운로드합니다. /opt/qlik/gateway/movement/drivers/manifests/oracle.yamlbinary-artifacts에서 지원되는 버전에 대한 직접 다운로드 링크를 찾을 수 있습니다. 다운로드가 완료되면 파일을 데이터 이동 게이트웨이 컴퓨터에 복사합니다.

  1. 데이터 이동 게이트웨이 서비스 중지:

    sudo systemctl stop repagent

  2. 선택적으로 서비스가 중지되었는지 확인합니다.

    sudo systemctl status repagent

  3. 상태는 다음과 같아야 합니다.

    Active: inactive (dead) since <timestamp> ago

  4. 데이터 이동 게이트웨이 컴퓨터에 드라이버를 설치합니다.

  5. 설치가 완료되면 /etc/odbcinst.ini 파일에 다음 섹션이 나타나는지 확인합니다.

  6.  [Simba Spark ODBC Driver] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
  7. 데이터 이동 게이트웨이 서비스 시작:

    sudo systemctl start repagent

  8. 선택적으로 서비스가 시작되었는지 확인합니다.

    sudo systemctl status repagent

    상태는 다음과 같아야 합니다.

    Active: active (running) since <timestamp> ago

  1. databricks-jdbc-<버전>.jar 파일을 다운로드합니다. /opt/qlik/gateway/movement/drivers/manifests/oracle.yamlbinary-artifacts에서 지원되는 버전에 대한 직접 다운로드 링크를 찾을 수 있습니다. 다운로드가 완료되면 JAR 파일을 데이터 이동 게이트웨이 컴퓨터의 다음 폴더에 복사합니다.

    /opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib

  2. 데이터 이동 게이트웨이 서비스를 다시 시작하고 데이터 이동 게이트웨이 서비스 명령에 설명된 명령을 실행하여 서비스가 시작되었는지 확인합니다.

포트

아웃바운드 통신을 위해 방화벽 포트 443을 열어야 합니다.

데이터 유형

다음 표는 Qlik Cloud를 사용할 때 지원되는 Databricks 데이터 유형과 Qlik Cloud 데이터 유형의 기본 매핑을 보여 줍니다.

기본 데이터 유형 정보는 보존되며 데이터 집합 보기의 기본 데이터 유형 열에 표시됩니다. 열이 표시되지 않으면 데이터 집합 보기의 열 선택기를 열고 기본 데이터 유형 열을 선택해야 합니다.

지원되는 데이터 유형
Qlik Cloud 데이터 유형 Databricks 데이터 유형

BOOLEAN

BOOLEAN

BYTES

STRING

DATE

DATE

TIME

STRING

DATETIME

TIMESTAMP

INT1

TINYINT

INT2

SMALLINT

INT4

INT

INT8

BIGINT

NUMERIC

DECIMAL(정밀도, 배율)

REAL4

FLOAT

REAL8

DOUBLE

UINT1

SMALLINT

UINT2

INT

UINT4

BIGINT

UINT8

DECIMAL(20, 0)

STRING

VARCHAR(바이트 단위 길이)

WSTRING

VARCHAR(바이트 단위 길이)

BLOB

STRING

NCLOB

STRING

CLOB

STRING

다음 데이터 유형은 STRING(255)으로 변환됩니다.

  • ARRAY

  • STRUCT

제한 사항 및 고려 사항

  • 기본 키가 없는 테이블과 함께 AWS에서 Databricks를 사용하는 경우 랜딩에서 테이블을 다시 로드하면 저장소 앱에서 실패합니다. 이 문제를 해결하려면 다음 중 하나를 수행할 수 있습니다.

    • 테이블에서 기본 키를 정의합니다.

    • Databricks에서 spark.databricks.delta.alterTable.rename.enabledOnAWS를 True로 설정합니다.

    • SQL 기반 변환을 만들 때 모든 VARCHAR 필드는 STRING(255)으로 반환됩니다.

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!