본문 바로가기
데이터&AI/기타개발

[snowflake] 무작정 시작하기 with Python ① - 가입 및 Connection맺기

by 일등박사 2024. 8. 17.
728x90

안녕하세요~~

 

요즘 많이사용되고있는 CLOUD 기반의 DB, snowflake 사용법에 대하여 알아보겠습니다!!!


1. Snowflake 소개

Snowflake는 현대적인 클라우드 데이터 플랫폼으로, 데이터 웨어하우징, 데이터 레이크, 데이터 마르트 및 데이터 공유 기능을 제공하는 솔루션입니다. AWS, Azure, Google Cloud 등 주요 클라우드 플랫폼에서 실행되며, 데이터 저장, 처리, 분석을 위한 통합 환경을 제공합니다.

Snowflake의 주요 특징은 다음과 같습니다:

  1. 스케일링 용이성: 자동으로 확장하거나 축소할 수 있어, 트래픽 변화에 유연하게 대응합니다.
  2. 성능 최적화: 데이터 쿼리와 처리를 빠르게 수행하며, 여러 사용자와 워크로드를 동시에 지원합니다.
  3. 간편한 관리: 복잡한 인프라 관리 없이, 단순하게 데이터 작업을 수행할 수 있습니다.
  4. 데이터 통합: 다양한 형식의 데이터를 쉽게 저장하고 처리할 수 있어, 데이터 웨어하우스와 데이터 레이크의 장점을 결합합니다.
  5. 데이터 공유: 데이터 파트너와의 실시간 데이터 공유를 지원하여 협업을 용이하게 합니다.

Snowflake는 비즈니스 인사이트를 신속하게 도출하고 데이터 기반 결정을 지원하는 강력한 도구로, 많은 기업들이 데이터 분석과 처리의 효율성을 극대화하기 위해 사용하고 있습니다.

 
2. Snowflake 시작하기!!

 

우선 사이트 접속 한 뒤에, https://www.snowflake.com/ko/

 

데이터 클라우드 | Snowflake Korea

많은 조직의 협업과 다양한 워크로드, 데이터 애플리케이션 구축을 지원하는 Snowflake 데이터 클라우드의 글로벌 네트워크에 참여하세요.

www.snowflake.com

 

 

무료 시작하기를 누른다음!!

 

 

나의 정보를 입력하고!!

 

 

평가판시작하기를 합니다~!

 

그리고 나면 메일로 인증메일이 와서, 아이디와 비번설정하고 로그인합니다!!

 

 

익숙한 파이썬으로, 샘플 데이터 넣기를 진행한 뒤에!!

 

 

run을 하면!!

 

위와 같이 DB에 데이터가 잘 들어감을 확인할 수 있습니다!!

 

3. Python 에서 Snowflake 접속하기!!

- 계정정보 구하기

>> 위의 url에서 snowflake.com 앞부분이 나의 account 입니다!!

 

- 이제!! pip를 통하여 패키지를 설치합니다!!

pip install snowflake-connector-python

 

그리고!! 아래 코드와 같이 정상 접속 여부를 확인합니다!!

import snowflake.connector

# Snowflake 연결 정보
conn = snowflake.connector.connect(
    user='{내 아이디}',
    password='{내 비번}',
    account='yktmagu-eb95119', # 방금 구한 account 값
)
cs = conn.cursor()
cs.execute("SELECT current_version()")
one_row = cs.fetchone()
print(one_row[0])

이제!! 버젼이 잘 프린트가 됩니다!

 

- 마지막으로!! 데이터를 확인해볼까요!?

 

웹에서 확인해보아 1. SNOWFLAKE_SAMPLE_DATA.TPCH_SF1 DB의 CUSTOMER Table 데이터를 봐보아요!!

cs.execute("select * from  SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.CUSTOMER")
one_row = cs.fetchone()
one_row

데이터를 잘 불러오죠~?

 

이번엔 판다스를 활용해보겠습니다!!

import pandas as pd
cs.execute("select * from  SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.CUSTOMER")
df = pd.DataFrame(cs.fetchall())
df

이렇게~~ 하면!!

 

web에서 보는것과 동일하게 1.5만개의 row를 모두 불러옴을 알 수 있습니다!

 

감사합니다!~!!

728x90

댓글