12월이니까 스노플레이크 시작하겠습니다.

12384 단어 SnowflakeAWS

입문


지난해 광고 이후 투고된 몸매를 발휘했다.
12월이니까 요즘 자주 화제가 되는 스노플레이크를 만져보고 싶어요.
로고도 대단해요.12월은 감각이 대단하다.

장르


자유로운 시험용 핸슨 자료가 공개됐기 때문에 이를 소재로 했다.
HANDS-ON LAB GUIDE FOR SNOWFLAKE FREE TRIAL

하는 일


한슨의 MODULE 1~5를 중심으로 대략 다음과 같은 내용을 시도해 본다.
  • snowflake에 테이블 만들기
  • AWSS3의 csv 파일 그룹을 snowflake
  • 에 불러오기
  • 스노플레이크를 이용한 계산 노드(창고) 분석
  • 목표


    다음은 기본 개념, 인터페이스와 절차를 잡는 것을 목표로 한다.
  • 스테이지
  • 창고
  • 1. 사인하기


    다음 URL에서 데모 서명을 수행하십시오.
    https://signup.snowflake.com/?_l=ja

    를 선택하고 생성합니다.

    사용자 인터페이스를 표시합니다.

    URL이 여기 있습니다.
    https://(account).ap-northeast-1.aws.snowflakecomputing.com/
    snowflake는 클라우드 플랫폼에서 실행됩니다.
    이것은 만약에 다른 서비스가 클라우드에서 위탁 관리되고 (예를 들어 AWS를 둘러싼 ap-northeast-1 운행 서비스) 있다면 같은 클라우드 플랫폼에서 스노플레이크를 위탁 관리할 수 있다는 것을 의미한다.
    왠지 이상하다. 데이터 전송 비용과 관련이 있는 것 같다.
    문서: 지원되는 클라우드 플랫폼

    2.UI 확인/준비


    를 클릭합니다.
    데이터베이스 탭에는 생성되었거나 액세스 권한이 있는 데이터베이스에 대한 정보가 표시됩니다.
    자유시험 환경에는 이미 몇 개의 데이터베이스가 존재하고 있다.
    (실험실에서 사용하지 않음)
    データベース는 SQL을 실행하고 결과를 확인하는 화면입니다.
    기본적으로 이 화면에서 SQL을 실행하면서 진행합니다.

    실험실에서 사용하는 sql 파일을 아래에서 다운로드하세요.
    lab_scripts_free_trial.sql ワークシート 에서 ワークシート 를 선택하고 에서 DL 의 sql 파일을 선택합니다.

    SQL을 표시합니다.이 SQL의 일부를 선택하십시오. -> 반복 실행, 실험실 계속.

    3. 데이터 로드


    3-1. 데이터베이스 만들기


    이 실험실에는 다음과 같은 대본이 있는 것 같다.
    나는 뉴욕에 있는 공공 자전거 공유 시스템スクリプトをロード의 데이터를 분석하여 기수에게 어떻게 최상의 서비스를 제공하는지 알고 싶다.
    먼저 데이터베이스CitiBike를 만듭니다.

    SQL이 로드된 다음 섹션만 선택하고 Citibike 를 클릭합니다.
    create or replace table trips  
    (tripduration integer,
      starttime timestamp,
      stoptime timestamp,
      start_station_id integer,
      start_station_name string,
      start_station_latitude float,
      start_station_longitude float,
      end_station_id integer,
      end_station_name string,
      end_station_latitude float,
      end_station_longitude float,
      bikeid integer,
      membership_type string,
      usertype string,
      birth_year integer,
      gender integer);
    
    결과가 표시됩니다.성공한 것 같습니다.
    実行의 표를 보면 확실히 표를 만들었다.

    3-2. 단계 설정


    이 테이블에서 외부 Citibike 사용자의 트랜잭션 데이터를 로드합니다.
    데이터는public의 s3bucket에 존재하는 것 같습니다.
    이렇게 하려면 データベース 의 설정을 만듭니다.

    스테이지를 선택할 수 있으므로 S3를 선택합니다.

    이름:citibike_trips
    아키텍처 이름: PUBLIC
    URL: s3://snowflake-workshop-lab/citibike-trips

    무대 설정이 완성되었다.(실제로 로드되지 않았습니다.)
    ステージ에서 다음 SQL을 실행하고 스테이지를 관찰합니다.
    list @citibike_trips;
    
    csv(gz압축)가 많이 존재하는 것을 볼 수 있습니다.

    3-3. 파일 형식 설정


    다음은 더 자세한 csv 형식을 설정합니다.ワークシート 탭에서 다음과 같이 설정합니다.


    (아래 설정 스크롤)

    파일 형식 설정도 완료되었습니다.(실제 로드되지 않음)

    3-4. 창고 만들기


    그리고 실제로 csv를 snowflake에 불러옵니다.
    불러오는 데 계산 자원이 필요합니다.
    Snowflake의 계산 노드는 ファイル形式라고 하며 작업 부하에 따라 동적 배율을 조정할 수 있습니다.ウェアハウス 탭에 기본 창고가 있는 것 같습니다.
    를 선택하고 ウェアハウス 를 클릭합니다.

    크기와 같은 계산 자원을 설정할 수 있을 것 같습니다.
    크기를 構成 로 설정합니다.

    3-5. COPY 명령 실행

    S.
    SQL 실행 화면ワークシート을 클릭하면 확인Context, 크기ウェアハウス도 가능합니다.
    SQL이 실행될 때 어느 창고(계산 노드)에서 실행할지 선택할 수 있을 것 같습니다.

    그러면 SQL로 데이터를 실제로 로드합니다.
    copy into trips from @citibike_trips file_format=CSV;
    
    로드되었습니다.
    실행 후 S 탭으로 이동하여 실행 시간과 스캔 크기 등 질의에 대한 자세한 내용을 확인할 수 있습니다.

    다음은 표에 실제 데이터가 존재하는 것을 알 수 있다.
    select * from trips limit 20;
    

    4. 분석


    그럼 분석을 시작하겠습니다.
    시간당 통계를 산출해 보아라.
    select date_trunc('hour', starttime) as "date",
    count(*) as "num trips",
    avg(tripduration)/60 as "avg duration (mins)", 
    avg(haversine(start_station_latitude, start_station_longitude, end_station_latitude, end_station_longitude)) as "avg distance (km)" 
    from trips
    group by 1 order by 1;
    
    크기履歴의 창고에서 실행되었습니다.S44,295行에서 결과를 얻었다.

    크기가 84ms 로 변경되고 다시 시도되었습니다.L->84ms.
    치수에 따라 배율이 조정되었습니다.

    끝내다


    스노플레이크의 한슨을 소재로 터치를 해봤어요.
    아직 많이 할 수 있지만 콘셉트 수준을 잡은 것 같다.
    다시 만져보고 싶어요.

    좋은 웹페이지 즐겨찾기