최근 JMP 19에서 REST 기반 Snowflake 데이터 커넥터를 사용하는 방법에 대한 정보를 공유해 달라는 요청을 몇 건 받았습니다.
다행히도, 저는 이미 그에 대한 영상을 만들어 놓았었어요! 정말 쉬운 포스팅이었죠.
JMP 사용법을 바로 보고 싶으신 분은 2분 11초 부분으로 이동하세요.
녹취록(대략적인 내용):
안녕하세요, 저는 JMP의 소프트웨어 개발자 크리스입니다. JMP 19에 새롭게 추가된 REST 기반 Snowflake 데이터 커넥터에 대한 정보를 공유하고자 합니다!
이 커넥터를 사용하면 ODBC 기반 Snowflake 커넥터에 비해 성능이 향상됩니다. 또한 REST 기반 커넥터는 ODBC Snowflake 드라이버를 설치할 필요 없이 JMP에서 작동합니다.
목표
오늘 제가 다룰 내용은 다음과 같습니다.
- 스노우플레이크란 무엇인가요?
- REST 기반 Snowflake 커넥터를 사용하려는 이유는 무엇인가요?
- REST 기반 Snowflake 커넥터를 구성하고 연결하는 방법.
- 몇 가지 문제 해결 팁입니다.
스노우플레이크란 무엇인가요?
Snowflake를 처음 접하는 분들을 위해 설명드리자면, Snowflake는 "완전히 새로운 SQL 쿼리 엔진과 클라우드 환경에 최적화된 혁신적인 아키텍처를 결합한 제품"입니다.
사용자 관점에서 Snowflake는 데이터를 저장합니다. 사용자는 SQL 기반 데이터베이스에서처럼 SQL 쿼리를 제출하여 해당 데이터에 접근할 수 있습니다. 하지만 백엔드에서는 데이터가 AWS, Google Cloud, Azure와 같은 하나 이상의 클라우드 제공업체에 저장됩니다. Snowflake는 고객의 요구에 따라 리소스를 확장하거나 축소하는 데 탁월합니다.
Snowflake는 사용자가 쿼리를 실행하고, Snowflake를 관리하고, 데이터를 업로드하고, 데이터 파이프라인을 구축하고, 활동 및 사용량을 모니터링할 수 있는 Snowsight라는 웹 인터페이스도 제공합니다.
ODBC와 REST
JMP 19에서는 사용자가 JMP 내에서 Snowflake 데이터에 액세스하는 두 가지 옵션이 있습니다. 하나는 ODBC Snowflake 데이터 커넥터를 사용하는 것이고, 다른 하나는 REST 기반 Snowflake 커넥터를 사용하는 것입니다. REST 기반 커넥터는 멀티스레드 처리를 활용하여 데이터를 가져오므로 ODBC 드라이버에 비해 쿼리가 훨씬 빠르게 완료됩니다.
REST의 한계
현재 지원되는 인증 방법은 Snowflake의 기본 인증 도구에서 사용되는 "사용자 이름 및 암호"입니다. 다른 방법으로는 OAuth가 있으며, 마지막으로 자동화된 스크립트와 같은 용도로 사용되는 프로그래밍 방식 액세스 토큰이 있습니다.
REST 기반 커넥터는 내부적으로 Snowflake SQL API를 사용하므로 데이터 스테이징을 사용하는 GET 및 PUT과 같은 일부 작업은 지원되지 않습니다.
연결 중
이 모든 것을 알고 있으니, 이제 REST 기반 커넥터를 구성하고 JMP에서 연결하는 방법을 살펴보겠습니다.
(JMP를 실행하세요)
먼저 JMP 데이터 커넥터 인터페이스를 열어 보겠습니다.
(탐색… 및 대화)
검색창에 Snowflake를 검색하고 내장된 Snowflake 커넥터를 선택한 다음 새 커넥터를 만드세요.
사용자 비밀번호로 인증하세요
시작하기 전에, 이러한 옵션 중 상당수는 사용 중인 인증 시스템에 따라 Snowflake 관리자 및 기타 관계자의 정보가 필요할 수 있습니다. 그럼 사용자 이름과 비밀번호를 사용하여 연결을 만들어 보겠습니다.
우선 필요한 것은 Snowflake URL입니다. 이는 사용자들이 Snowsight 웹 인터페이스에 접속할 때 주로 사용하는 URL이며, 일반적으로 마지막에 다음과 같은 내용이 포함됩니다. .
창고 필드는 연결할 창고를 지정하는 필드이며, 데이터베이스 및 역할 필드도 마찬가지입니다. 이 필드를 비워두면 사용자가 정의한 기본값이 사용됩니다. 사용자는 특정 역할이나 접근 가능한 테이블로 제한되는 경우가 많으므로, 이러한 필드에 잘못된 값을 입력하면 연결이 실패할 수 있습니다.
마지막으로 사용자 이름과 비밀번호 입력란에 사용하시는 정보를 입력하세요. 비밀번호 입력란은 비워두셔도 되며, 연결 시 비밀번호를 입력하라는 메시지가 표시됩니다. 연결 테스트 버튼을 눌러 연결을 확인하고, 원하시면 연결을 저장하세요.
2FA
JMP가 연결 시점에서 멈추는 현상이 발생할 수 있는데, 이는 Snowflake가 2단계 인증(2FA)을 기다리고 있음을 나타낼 수 있습니다. 계정에 2단계 인증이 설정되어 있는 경우, 메시지에 응답해야 합니다. 예를 들어, 휴대폰의 Duo 앱을 사용하여 연결을 허용할 수 있습니다.
연결에 성공하면 연결된 데이터베이스의 스키마와 테이블을 볼 수 있습니다. 그런 다음 테이블 열기 또는 쿼리 빌더를 사용하여 데이터를 JMP로 가져오세요.
SQL 콘솔
JMP 19의 새로운 기능인 SQL 콘솔은 지원되는 커넥터를 사용하여 여러 문장으로 구성된 쿼리를 실행할 수 있는 경로를 제공합니다. 사용자 지정 SQL을 실행하는 것과 유사하지만, 하나의 쿼리로 여러 테이블을 동시에 열 수 있다는 장점이 있습니다. 작업 내용을 .sql 파일로 저장하고 나중에 다시 열어 사용할 수 있습니다.
프로그래밍 방식 액세스 토큰을 사용하여 연결
스크립팅 목적으로 2단계 인증(2FA)을 우회해야 하거나 JMP Live 새로 고침 스크립트와 함께 사용해야 하는 사용자의 경우, 프로그래밍 방식으로 액세스 토큰을 발급받아 연결하는 방법이 있습니다. 이 임시 토큰은 최대 1년간 유효합니다. 사용자 토큰 발급을 위해 Snowflake 관리자에게 문의하십시오.
JMP에서 토큰을 사용하려면 이전에 사용자 이름/암호로 Snowflake 커넥터를 만들 때와 동일한 단계를 따르되, 커넥터의 암호 필드에 일반 암호 대신 토큰을 입력하십시오. 이 과정을 완료하면 2단계 인증 없이도 정상적으로 연결할 수 있습니다.
OAuth를 사용하여 연결
OAuth를 사용하여 연결할 때 대부분의 필드는 Snowflake 및 보안 관리자가 제공합니다. 이 인증 유형에는 사용자 이름과 비밀번호 필드가 비어 있어야 합니다. 이전과 마찬가지로 Snowflake URL 필드를 입력하고, 해당되는 경우 데이터베이스, 웨어하우스 및 역할 필드도 입력합니다. 나머지 필드는 OAuth 섹션에 나열되어 있으며 관리자가 제공합니다. OAuth로 연결할 때는 본인 인증이 필요하며, 경우에 따라 2단계 인증을 완료해야 할 수도 있습니다. 제 경우에는 자격 증명을 입력하기 위한 브라우저 창으로 이동합니다.
문제 해결
발생할 수 있는 몇 가지 문제점과 잠재적인 해결책에 대해서도 언급해 보겠습니다.
- 잘못된 역할/웨어하우스: 연결 시 " SQL 컴파일 오류: 개체가 존재하지 않거나 작업을 수행할 수 없습니다. "라는 일반적인 오류 메시지가 표시될 수 있습니다.
먼저 역할, 웨어하우스, 데이터베이스가 올바르게 입력되었는지 확인하세요. 해당 항목을 비워둔 경우, 액세스하려는 리소스를 명시적으로 지정해야 할 수 있습니다. 이미 입력한 경우, 철자가 정확한지, 그리고 사용자에게 해당 리소스에 대한 액세스 권한이 있는지 다시 한번 확인하세요. 이를 위해 Snowflake 관리자에게 문의하거나, Snowsight를 사용하여 설정을 확인하거나, snowsql 또는 Snowflake CLI와 같은 콘솔 도구를 사용할 수 있습니다.
- HTTPS: 일부 Snowflake 설정은 IP 주소로 제한되거나 리소스가 회사 방화벽 뒤에 있을 수 있습니다. 해당 리소스에 대한 액세스 권한이 있는지 확인하십시오. 이를 위해서는 회사 네트워크에 액세스하거나 데이터 커넥터에서 proxy 및 noproxy 필드를 설정해야 할 수 있습니다. 또한 인프라에서 자체 서명 인증서를 사용하는 경우 Secure 필드를 사용하여 TLS를 비활성화해야 할 수 있습니다. TLS를 비활성화하기 전에 이것이 올바른 구성인지 확인해야 합니다. 그렇지 않으면 중간자 공격이 발생할 수 있습니다.
시청해 주셔서 감사합니다. 이 영상이 REST 기반 Snowflake 커넥터의 장점을 살펴보고, 새로운 Snowflake 데이터 커넥터를 구성하는 방법, 그리고 궁극적으로 JMP에서 Snowflake 데이터에 연결하는 방법을 배우는 데 도움이 되었기를 바랍니다.
Snowflake 사용 및 Snowflake 쿼리 실행에 대한 더 자세한 정보는 snowflake.com에서 확인할 수 있습니다.
이번 커넥터의 성능 개선이 사용자들에게 유용하게 느껴지기를 바라며, 앞으로도 지속적인 개선을 위해 노력하겠습니다. 감사합니다!