전용 SQL 풀을 사용하여 데이터 분석

이 자습서에서는 NYC Taxi 데이터를 사용하여 전용 SQL 풀의 기능을 탐색합니다.

전용 SQL 풀 만들기

  1. Synapse Studio의 왼쪽 창에서 분석 풀 아래에 있는 관리>SQL 풀을 차례로 선택합니다.
  2. 새로 만들기를 선택합니다.
  3. 전용 SQL 풀 이름에 대해 SQLPOOL1을 선택합니다.
  4. 성능 수준의 경우 DW100C를 선택합니다.
  5. 검토 + 만들기>만들기를 차례로 선택합니다. 몇 분 안에 전용 SQL 풀이 준비됩니다.

전용 SQL 풀이 SQLPOOL1이라고도 하는 SQL 데이터베이스와 연결됩니다.

  1. 데이터>작업 영역으로 이동합니다.
  2. SQLPOOL1이라는 데이터베이스가 표시되어야 합니다. 표시되지 않으면 새로 고침을 선택합니다.

전용 SQL 풀은 활성 상태인 동안 청구 가능한 리소스를 사용합니다. 비용을 줄이기 위해 풀을 일시 중지할 수 있습니다.

참고 항목

작업 영역에서 새 전용 SQL 풀(이전의 SQL DW)을 만들 때 전용 SQL 풀 프로비저닝 페이지가 열립니다. 프로비저닝은 논리 SQL 서버에서 수행됩니다.

NYC Taxi 데이터를 SQLPOOL1에 로드

  1. Synapse Studio에서 개발 허브로 이동하여 + 단추를 선택하여 새 리소스를 추가한 다음, 새 SQL 스크립트를 만듭니다.

  2. 스크립트 위의 연결 대상 드롭다운 목록에서 SQLPOOL1 풀(이 자습서의 1단계에서 만든 풀)을 선택합니다.

  3. 다음 코드를 입력합니다.

    IF NOT EXISTS (SELECT * FROM sys.objects O JOIN sys.schemas S ON O.schema_id = S.schema_id WHERE O.NAME = 'NYCTaxiTripSmall' AND O.TYPE = 'U' AND S.NAME = 'dbo')
    CREATE TABLE dbo.NYCTaxiTripSmall
        (
        [VendorID] bigint, 
        [store_and_fwd_flag] nvarchar(1) NULL, 
        [RatecodeID] float NULL, 
        [PULocationID] bigint NULL,  
        [DOLocationID] bigint NULL, 
        [passenger_count] float NULL, 
        [trip_distance] float NULL, 
        [fare_amount] float NULL, 
        [extra] float NULL, 
        [mta_tax] float NULL, 
        [tip_amount] float NULL, 
        [tolls_amount] float NULL, 
        [ehail_fee] float NULL, 
        [improvement_surcharge] float NULL, 
        [total_amount] float NULL, 
        [payment_type] float NULL, 
        [trip_type] float NULL, 
        [congestion_surcharge] float  NULL
        )
    WITH
        (
        DISTRIBUTION = ROUND_ROBIN,
         CLUSTERED COLUMNSTORE INDEX
         -- HEAP
        )
    GO
    
    COPY INTO dbo.NYCTaxiTripSmall
    (VendorID 1, store_and_fwd_flag 4, RatecodeID 5,  PULocationID 6 , DOLocationID 7,  
     passenger_count 8,trip_distance 9, fare_amount 10, extra 11, mta_tax 12, tip_amount 13, 
     tolls_amount 14, ehail_fee 15, improvement_surcharge 16, total_amount 17, 
     payment_type 18, trip_type 19, congestion_surcharge 20 )
    FROM 'https://contosolake.dfs.core.windows.net/users/NYCTripSmall.parquet'
    WITH
    (
        FILE_TYPE = 'PARQUET'
        ,MAXERRORS = 0
        ,IDENTITY_INSERT = 'OFF'
    )
    
  4. 실행 단추를 선택하여 스크립트를 실행합니다.

  5. 이 스크립트는 60초 이내에 완료됩니다. 2백만 행의 NYC Taxi 데이터를 dbo.NYCTaxiTripSmall이라는 테이블에 로드합니다.

전용 SQL 풀에서 NYC Taxi 데이터 검색

  1. Synapse Studio에서 데이터 허브로 이동합니다.

  2. SQLPOOL1>테이블로 이동합니다.

  3. dbo.NYCTaxiTripSmall 테이블을 마우스 오른쪽 단추로 클릭하고 새 SQL 스크립트>상위 100개 행 선택을 차례로 선택합니다.

  4. 새 SQL 스크립트가 만들어져 실행될 때까지 기다립니다.

  5. SQL 스크립트의 위쪽에서 연결 대상이 자동으로 SQLPOOL1이라는 SQL 풀로 설정됩니다.

  6. SQL 스크립트의 텍스트를 다음 코드로 바꾸고 실행합니다.

    SELECT passenger_count as PassengerCount,
          SUM(trip_distance) as SumTripDistance_miles,
          AVG(trip_distance) as AvgTripDistance_miles
    INTO dbo.PassengerCountStats
    FROM  dbo.NYCTaxiTripSmall
    WHERE trip_distance > 0 AND passenger_count > 0
    GROUP BY passenger_count;
    
    SELECT * FROM dbo.PassengerCountStats
    ORDER BY PassengerCount;
    

    이 쿼리는 trip_distance 필드의 집계 데이터가 포함된 테이블 dbo.PassengerCountStats를 만든 다음, 새 테이블을 쿼리합니다. 이 데이터에서는 총 주행 거리 및 평균 주행 거리와 승객 수 간의 관계를 보여 줍니다.

  7. SQL 스크립트 결과 창에서 결과를 꺾은선형 차트로 시각화하려면 보기차트로 변경합니다. 범주 열PassengerCount로 변경합니다.

다음 단계