Snowflake
이 문서에서는 Tableau를 Snowflake 데이터 웨어하우스에 연결하고 데이터 원본을 설정하는 방법에 대해 설명합니다.
참고: 2024.3 버전부터 Tableau Desktop 및 Tableau Cloud에서 키 쌍 인증을 사용할 수 있습니다. 이는 Tableau Server의 향후 릴리스에서 사용 중지될 것입니다.
참고: Snowflake 키 쌍 인증을 사용하여 통합 문서를 게시하는 기능은 웹 작성에서는 지원되지 않습니다. Tableau Desktop을 사용하여 통합 문서를 만든 다음 Tableau Cloud에 게시해야 합니다.
시작하기 전에
시작하기 전에 다음과 같은 연결 정보를 수집하십시오.
- 연결하려는 서버의 이름
- 인증 방법:
- OAuth: IDP에서 페더레이션을 사용하려면 이 방법을 사용합니다.
- 사용자 이름 및 비밀번호: Snowflake에 사용자 자격 증명을 저장하려면 이 방법을 사용합니다.
- Okta 사용자 이름 및 비밀번호: Okta를 사용하여 인증을 관리하려는 경우 이 방법을 사용합니다.
- 키 쌍 인증: 더 강력한 보안 연결을 위해 공개 및 개인 키 쌍 자격 증명을 사용합니다.
- 선택한 인증 방법에 필요한 로그인 자격 증명.
참고: 키 쌍 인증을 사용하는 경우 OpenSSL 버전 3.x 이상을 사용하여 키를 생성해야 합니다. - (선택 사항) Tableau가 연결할 때마다 실행할 초기 SQL 문.
- (선택 사항) 이 연결에 사용할 사용자 지정 드라이버 매개 변수 또는 새 기본 VARCHAR 크기.
참고: Tableau Cloud에서 키 쌍 인증을 사용하려면 공유할 통합 문서를 게시하기 전에 또한 Tableau Cloud에 자격 증명을 저장해야 합니다. 자세한 내용은 키 쌍 인증에 Snowflake 구성을 참조하십시오.
필요한 드라이버
이 커넥터가 데이터베이스와 통신하려면 드라이버가 필요합니다. 컴퓨터에 드라이버가 설치되어 있지 않으면 연결 대화 상자에 드라이버 링크 및 설치 지침을 찾을 수 있는 드라이버 다운로드(링크가 새 창에서 열림) 페이지에 대한 링크와 함께 메시지가 표시됩니다.
참고: Snowflake에서 키 쌍 인증을 사용하도록 지원하려면 Snowflake에서 버전 3.4.0 이상의 ODBC 드라이버를 설치해야 합니다.
연결한 후 데이터 원본 설정
Snowflake를 연결로 선택하면 3개 탭이 있는 대화 상자가 표시됩니다. 일반 탭에서 서버, 웨어하우스 및 인증 유형을 선택합니다. 모든 연결을 시작할 때 필요에 따라 SQL 명령을 실행하려면 초기 SQL 탭을 사용하면 됩니다. 자세한 내용은 초기 SQL 실행을 참조하십시오. 마지막으로 고급 탭에서 필요에 따라 사용자 지정 드라이버 매개 변수와 기본 VARCHAR 크기를 추가할 수 있습니다.
Tableau와 Snowflake 간의 연결을 위해 OAuth를 구성하는 방법에 대한 자세한 내용은 Snowflake 연결을 위한 OAuth 구성(링크가 새 창에서 열림) 및 Snowflake를 위한 외부 OAuth를 참조하십시오.
Tableau를 데이터에 연결
- 연결 화면의 서버에 연결 아래에서 더 보기를 선택한 후 Snowflake를 선택합니다.
- 일반 탭에서 연결하려는 서버의 이름을 입력합니다.
- (선택 사항) 역할 및 웨어하우스를 입력합니다.
- 사용자 이름 및 비밀번호, Okta 사용자 이름 및 비밀번호, OAuth를 사용하여 로그인 또는 키 쌍을 사용하여 로그인 중 사용할 인증 방법을 선택합니다.
- (선택 사항) 모든 연결을 시작할 때마다 SQL 명령을 실행하려면 초기 SQL을 선택합니다. 자세한 내용은 초기 SQL 실행을 참조하십시오.
- (선택 사항) Tableau Desktop 및 Server의 경우 이 연결에 사용하려는 사용자 지정 매개 변수를 고급 탭에 입력합니다. (Tableau Cloud에서는 사용할 수 없음)
- 선택한 인증 방법에 대한 로그인 단계를 완료합니다.
- OAuth를 사용하여 로그인:
- 로그인을 클릭합니다.
- 열린 웹 페이지에서 사용자 이름 및 비밀번호를 입력하고 로그인을 선택하여 Snowflake에 로그인합니다. 또는, Snowflake가 SSO를 지원하도록 구성된 경우 SSO(Single Sign-On)를 선택합니다.
- 확인을 클릭하여 Snowflake 데이터 액세스에 대한 권한 부여를 확인합니다.
- 사용자 이름 및 비밀번호:
- 사용자 이름 및 선택 사항인 비밀번호를 입력합니다.
- 로그인을 클릭합니다.
- Okta 사용자 이름 및 비밀번호:
- 사용자 이름 및 선택 사항인 비밀번호를 입력합니다.
- 선택 사항인 SAML IdP(Okta 서버의 URL)를 입력합니다.
- 로그인을 클릭합니다.
- 키 쌍을 사용하여 로그인
- 서버에서 Snowflake 서버 주소를 입력합니다.
- 웨어하우스 및 선택 사항인 역할을 입력합니다.
- 인증에서 키 쌍을 사용하여 로그인을 선택합니다.
- 이러한 키와 연결된 사용자 이름을 입력합니다.
- 개인 키 파일에서 개인 키가 포함된 .p8 파일을 찾아봅니다.
- (선택 사항) 비밀번호로 보호된 경우 개인 키 파일 비밀번호를 입력합니다.
- OAuth를 사용하여 로그인:
- 다음으로, 데이터 원본 설정 아래에 표시된 지침을 따릅니다.
연결할 수 없는 경우 자격 증명이 올바른지 확인합니다. 계속 연결할 수 없으면 컴퓨터에서 서버를 찾는 데 문제가 있는 것입니다. 네트워크 관리자나 데이터베이스 관리자에게 문의하십시오.
액세스 토큰 시간 초과: 항상 액세스 토큰 유효성 검사 TDC
Snowflake 액세스 토큰은 10분 후에 만료됩니다. 특정 추출 새로 고침 프로세스에서는 액세스 토큰이 만료되면 나중에 작업에서 새 연결이 설정됩니다. 이 문제를 해결하기 위해 Tableau 2024.2부터 기본적으로 사용하도록 설정되는 새로운 기능을 추가했습니다. 이전 릴리스에서 이 기능을 사용하도록 설정하려면 다음 TDC를 사용하면 됩니다.
<connection-customization class='snowflake' enabled='true' version='10.0'>
<vendor name='snowflake' />
<driver name='snowflake' />
<customizations>
<customization name='CAP_OAUTH_VALIDATE_ALWAYS' value='yes'/>
</customizations>
</connection-customization>
이 TDC는 Tableau 리포지토리 데이터 원본 폴더에 포함하여 Tableau Desktop 또는 Tableau Server와 함께 사용할 수 있습니다. Tableau Cloud의 경우 Bridge를 사용하고, 해당 Bridge를 통해 연결하여 사용자 지정 TDC를 구성할 수 있습니다. 자세한 내용은 연결 사용자 지정 및 조정을 참조하십시오.
참고: 내장된 TDC는 흐름에서 지원되지 않습니다.
드라이버 매개 변수를 사용하여 연결 사용자 지정
고급 탭에서 연결 문자열에 드라이버 매개 변수를 추가하여 Snowflake 커넥터를 사용하여 설정된 연결을 수정할 수 있습니다.
참고: Tableau가 생성하는 드라이버 매개 변수는 변경할 수 없고 매개 변수를 추가할 수만 있습니다.
예를 들어, 이 구문은 no_proxy
값이 충족되지 않을 때 사용할 프록시 서버와 프록시 서버를 우회할 수 있는 호스트 이름을 지정합니다.
Proxy=http://proxyserver.company:80;no_proxy=.trustedserver.com;
다른 사용자 지정 드라이버 매개 변수 예제는 Snowflake에 대한 프록시 사용을 참조하십시오.
기본 VARCHAR 크기(바이트) 필드에서 VARCHAR의 대체 크기를 입력할 수도 있습니다. 이 필드 사용과 성능에 미치는 영향에 대한 자세한 내용은 Snowflake ODBC 설명서를 참조하십시오.
참고: 데이터 원본에 내장하지 않고 사용자 지정을 사용하려면 Windows의 레지스트리에서 매개 변수를 구성하면 됩니다("구성 매개 변수"로 표시된 매개 변수만 사용 가능). 드라이버 매개 변수에 대한 자세한 내용은 Snowflake 웹 사이트에서 ODBC 구성 및 연결 매개 변수(영문)를 참조하십시오.
데이터 원본 설정
데이터 원본 페이지에서 다음을 수행합니다.
(선택 사항) 페이지 상단에서 기본 데이터 원본 이름을 선택한 다음 Tableau에서 사용할 고유한 데이터 원본 이름을 입력합니다. 예를 들어 데이터 원본을 사용하는 다른 사용자가 어떤 데이터 원본에 연결해야 하는지를 쉽게 알 수 있는 데이터 원본 명명 규칙을 사용하십시오.
- 웨어하우스 드롭다운에서 웨어하우스를 선택하거나 텍스트 상자를 사용하여 웨어하우스 이름을 검색합니다.
참고: 이 항목을 비워 두고 웨어하우스를 선택하지 않으면 기본 Snowflake 가상 웨어하우스가 사용됩니다.
자세한 내용은 Snowflake의 기본 가상 웨어하우스를 참조하십시오.
- 데이터베이스 드롭다운에서 데이터베이스를 선택하거나 텍스트 상자를 사용하여 데이터베이스 이름을 검색합니다.
- 스키마 드롭다운에서 원하는 스키마를 선택하거나 텍스트 상자를 사용하여 스키마 이름을 검색합니다.
- 테이블 아래에서 원하는 테이블을 선택하거나 텍스트 상자를 사용하여 테이블 이름을 검색합니다.
테이블을 캔버스로 끌어온 다음 시트 탭을 선택하여 분석을 시작합니다.
참고: 키 쌍 인증을 사용하여 통합 문서를 게시하는 경우 통합 문서 게시 창의 데이터 원본 관리 섹션에서 적절한 인증 유형을 선택했는지 확인하십시오.
Mac 로그인
Mac에서 Tableau Desktop을 사용할 경우 연결할 서버 이름을 입력할 때 mydb 또는 mydb.test와 같은 상대적인 도메인 이름 대신 mydb.test.ourdomain.lan과 같은 정규화된 도메인 이름을 사용하십시오.
다른 방법으로, Mac 컴퓨터의 도메인 검색 목록에 도메인을 추가합니다. 이렇게 하면 연결할 때 서버 이름만 제공하면 됩니다. 도메인 검색 목록을 업데이트하려면 시스템 환경 설정 > 네트워크 > 고급으로 이동한 후 DNS 탭을 엽니다.
Snowflake의 기본 가상 웨어하우스
Snowflake 데이터 원본을 만드는 경우 Snowflake 웨어하우스(계산 리소스용)와 Snowflake 데이터베이스(데이터 리소스용)를 모두 만들게 됩니다. 웨어하우스와 데이터베이스에는 모두 액세스 권한이 필요합니다. 각 웨어하우스 및 데이터베이스에 대한 권한이 있다고 가정하면 필요한 컴퓨팅 성능에 따라 다른 웨어하우스를 사용하여 동일한 데이터베이스에 액세스할 수 있습니다.
데이터 원본을 만들 때 드롭다운 목록에서 웨어하우스를 선택할 수 있는 옵션이 있습니다. 이 항목을 비워 두고 웨어하우스를 선택하지 않으면 기본 Snowflake 가상 웨어하우스가 사용됩니다. 이후에 이 데이터 원본 또는 통합 문서를 게시하고 사용자가 연결하면 Tableau에서는 이 개인의 기본 Snowflake 가상 웨어하우스를 사용합니다.
각 사용자에게 기본 웨어하우스가 할당되어 있어야 Tableau에서 해당 웨어하우스를 기본값으로 사용하여 Snowflake 데이터 원본에서 통합 문서를 열 수 있습니다.
Snowflake에 대한 프록시 사용
Tableau에서 프록시를 통해 Snowflake에 연결할 수 있습니다. Tableau 버전 2019.4 이상을 사용하는 경우 커넥터 대화 상자의 고급 탭에 필요한 매개 변수를 입력하여 이 기능을 구성할 수 있습니다.
예를 들면 다음과 같습니다.
proxy=http://proxyserver.company:80
사용해야 하는 매개 변수에 대한 자세한 내용은 Snowflake 설명서(링크가 새 창에서 열림)를 참조하십시오.
참고: Tableau에서는 DSN을 사용하여 Snowflake에 연결하지 않으므로 Snowflake 설명서에서 DSN 사용에 대한 지침을 무시할 수 있습니다.
Tableau 2019.4 이전 버전을 사용하는 경우 TDC 파일에서 odbc-extras
를 사용하여 매개 변수를 입력하여 이 기능을 구성할 수 있습니다.
예를 들면 다음과 같습니다.
<connection-customization class='snowflake' enabled='true' version='19.1'>
<vendor name='snowflake' />
<driver name='snowflake' />
<customizations>
<customization name='odbc-connect-string-extras' value='proxy=http://proxyserver.company:80' />
</customizations></connection-customization>
자세한 내용은 지정 커넥터의 연결 문자열 사용자 지정(영문)(링크가 새 창에서 열림) 문서를 참조하십시오.
문제 해결
성능 및 가져오기 크기
특히 추출의 경우 최상의 성능을 얻으려면 Tableau에서 최적의 가져오기 크기를 결정해야 합니다. 이를 개선하는 방법은 두 가지가 있습니다. 가변 길이 필드에 제한을 설정하는 것과 크기 조절이 가능한 가져오기 버퍼를 사용하도록 설정하는 것입니다. 가장 좋은 결과를 얻으려면 두 가지 모두를 사용해야 합니다.
현재 가져오기 크기 확인
사용된 가져오기 크기는 tabprotosrv 로그에 기록됩니다. Tabprotosrv는 드라이버 샌드박스 프로세스입니다. 예를 들면 다음과 같습니다.
ODBCRowsetSource::ODBCRowsetSource: 행 가져오기 크기를 행당 254바이트의 4128개 행으로 설정하려고 합니다.
참고: 아래 제안 중 일부를 수행하려면 TDC가 필요하지만 Tableau Cloud에서는 Tableau Bridge를 사용해야 작동합니다. Tableau Bridge에서는 Bridge 호스트에 TDC를 설치하여 해당 호스트를 통과하는 모든 연결에 적용되도록 할 수 있습니다.
가변 필드 길이 제한
바인딩되지 않은 VARCHAR 또는 VARBINARY 필드를 사용하는 경우 드라이버는 필드 크기를 16MB로 반환합니다. 이로 인해 Tableau는 이 메모리 제한 내에서 유지하기 위해 작은 가져오기 크기를 사용하므로 쿼리 속도가 느려집니다. 이 문제를 해결하는 여러 가지 방법이 있습니다.
- 데이터베이스의 열 정의에 VARCHAR(256)와 같은 제한을 추가하거나 동일한 작업을 수행하는 뷰에 테이블을 래핑합니다.
- Tableau Desktop에서 Snowflake에 연결할 때 고급 탭의 '기본 VARCHAR 크기(바이트)' 필드를 사용합니다. Tableau 2024.3에서 '최대 VARCHAR 크기'였던 이름이 바뀌었지만 동일한 작업을 수행합니다. ODBC 드라이버에 대한 default_varchar_size 매개 변수를 설정하면 Tableau에 반환되는 필드 크기가 제한됩니다. 자세한 내용은 https://docs.snowflake.com/en/developer-guide/odbc/odbc-parameters(링크가 새 창에서 열림)를 참조하십시오.
- 아래와 같이 TDC 사용자 지정을 사용합니다.
<connection-customization class='snowflake' enabled='true' version='10.0'>
<vendor name='snowflake' />
<driver name='snowflake' />
<customizations>
<customization name='CAP_ODBC_FETCH_BUFFERS_RESIZABLE' value='yes'/>
<customization name='odbc-connect-string-extras' value='default_varchar_size=512;default_binary_size=512'/>
</customizations>
</connection-customization>
CAP_ODBC_FETCH_BUFFERS_RESIZABLE 사용
이는 Tableau 2024.3부터 기본적으로 사용되도록 설정됩니다. 그 전에는 TDC를 사용할 수 있습니다. TDC를 사용하지 않고 UI 또는 데이터베이스에서 default_varchar_size
를 구성하려는 경우 아래와 같은 TDC를 사용합니다.
<connection-customization class='snowflake' enabled='true' version='10.0'>
<vendor name='snowflake' />
<driver name='snowflake' />
<customizations>
<customization name='CAP_ODBC_FETCH_BUFFERS_RESIZABLE' value='yes'/>
</customizations>
</connection-customization>
자주 묻는 질문
다음은 몇 가지 일반적인 문제 및 해결 단계입니다.
“XXX 필드가 존재하지 않음”이라는 오류가 표시되면 어떻게 해야 합니까?
이 오류는 계산 필드를 사용할 때, 계산 필드를 워크시트에 추가할 때, 데이터 원본을 Snowflake 데이터(CustomSQL)로 바꿀 때 나타납니다.
필드 참조 바꾸기 기능을 사용하여 오류를 해결하십시오. 필드 참조 바꾸기에 대한 자세한 내용은 필드 참조 바꾸기를 참조하십시오.
- Snowflake 웹 사이트에서 Snowflake에서 Tableau를 사용하기 위한 최상의 방법(영문)(링크가 새 창에서 열림)을 참조하십시오(등록 필요).
참고 항목
- 데이터 원본 설정 – 이 데이터 원본에 더 많은 데이터를 추가하거나 데이터를 분석할 수 있도록 준비합니다.
- 차트 작성 및 데이터 분석 – 데이터 분석을 시작합니다.