SQL Server Python 및 R 자습서용 뉴욕시 택시 데모 데이터

적용 대상: SQL Server 2016(13.x) 이상 Azure SQL Managed Instance

이 문서에서는 뉴욕시 택시 및 리무진 위원회의 공용 데이터로 구성된 샘플 데이터베이스를 설정하는 방법을 설명합니다. 이 데이터는 SQL Server의 데이터베이스 내 분석에 대한 여러 R 및 Python 자습서에서 사용됩니다. 샘플 코드가 더 빨리 실행되도록 데이터의 대표 1% 샘플링을 만들었습니다. 시스템에서 데이터베이스 백업 파일은 90MB를 약간 초과하고 기본 데이터 테이블에 170만 개 행을 제공합니다.

이 연습을 완료하려면 SQL Server Management Studio(SSMS) 또는 데이터베이스 백업 파일을 복원하고 T-SQL 쿼리를 실행할 수 있는 다른 도구가 있어야 합니다.

이 데이터 세트를 사용하는 자습서 및 빠른 시작에는 다음이 포함됩니다.

파일 다운로드

샘플 데이터베이스는 Microsoft에서 호스팅하는 SQL Server 2016 BAK 파일입니다. SQL Server 2016 이상에서 복원할 수 있습니다. 링크를 열면 파일 다운로드가 즉시 시작됩니다.

파일 크기는 약 90MB입니다.

참고

SQL Server 빅 데이터 클러스터에서 샘플 데이터베이스를 복원하려면 NYCTaxi_Sample.bak를 다운로드하고 SQL Server 빅 데이터 클러스터 마스터 인스턴스로 데이터베이스 복원의 지침을 따릅니다.

참고

Azure SQL Managed Instance의 Machine Learning Services에서 샘플 데이터베이스를 복원하려면 빠른 시작: 데이터베이스를 Azure SQL Managed Instance로 복원(뉴욕시 택시 데모 데이터베이스 .bak 파일: https://aka.ms/sqlmldocument/NYCTaxi_Sample.bak 사용)의 지침을 따릅니다.

  1. NYCTaxi_Sample.bak 데이터베이스 백업 파일을 다운로드합니다.

  2. 인스턴스의 기본 Backup 폴더에 대해 파일을 C:\Program files\Microsoft SQL Server\MSSQL-instance-name\MSSQL\Backup 또는 유사한 경로로 복사합니다.

  3. SSMS에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 파일 및 파일 그룹 복원을 선택합니다.

  4. NYCTaxi_Sample을 데이터베이스 이름을 입력합니다.

  5. 디바이스에서를 클릭한 다음, 파일 선택 페이지를 열어 NYCTaxi_Sample.bak 백업 파일을 선택합니다. 추가를 선택하고 NYCTaxi_Sample.bak을 선택합니다.

  6. 복원 확인란을 선택하고 확인을 선택하여 데이터베이스를 복원합니다.

데이터베이스 개체 검토

SQL Server Management Studio를 사용하여 SQL Server 인스턴스에 데이터베이스 개체가 있는지 확인합니다. 데이터베이스, 테이블, 함수 및 저장 프로시저가 보여야 합니다.

rsql_devtut_BrowseTables

NYCTaxi_Sample 데이터베이스의 개체

다음 표에는 뉴욕시 택시 데모 데이터베이스에서 만든 개체가 요약되어 있습니다.

개체 이름 개체 유형 설명
NYCTaxi_Sample 데이터베이스 데이터베이스와 다음 두 개의 테이블을 만듭니다.

dbo.nyctaxi_sample 테이블: 주요 뉴욕시 택시 데이터 세트를 포함합니다. 스토리지 및 쿼리 성능 향상을 위해 클러스터형 columnstore 인덱스가 테이블에 추가됩니다. 뉴욕시 택시 데이터 세트의 1% 샘플이 이 테이블에 삽입됩니다.

dbo.nyc_taxi_models 테이블: 학습된 고급 분석 모델을 저장하는 데 사용됩니다.
fnCalculateDistance 스칼라 반환 함수(scalar-valued function) 승하차 위치 사이의 직접 거리를 계산합니다. 이 함수는 데이터 기능 만들기, 모델 학습 및 저장, R 모델 운영화에서 사용됩니다.
fnEngineerFeatures 테이블 반환 함수(table-valued function) 모델 학습을 위한 새 데이터 요소를 만듭니다. 이 함수는 데이터 요소 만들기R 모델 운영화에서 사용됩니다.

저장 프로시저는 다양한 자습서에서 제공하는 R 및 Python 스크립트를 사용하여 생성됩니다. 다음 표에는 다양한 단원에서 스크립트를 실행할 때 선택적으로 뉴욕시 택시 데모 데이터베이스에 추가할 수 있는 저장 프로시저가 요약되어 있습니다.

저장 프로시저 언어 설명
RxPlotHistogram R RevoScaleR rxHistogram 함수를 호출하여 변수 히스토그램을 그린 다음, 플롯을 이진 개체로 반환합니다. 이 저장 프로시저는 데이터 탐색 및 시각화에서 사용됩니다.
RPlotRHist R Hist 함수를 사용하여 그래픽을 만들고 출력을 로컬 PDF 파일로 저장합니다. 이 저장 프로시저는 데이터 탐색 및 시각화에서 사용됩니다.
RxTrainLogitModel R R 패키지를 호출하여 로지스틱 회귀 모델을 학습시킵니다. 모델은 tipped 열의 값을 예측하며 임의로 선택된 70%의 데이터를 사용하여 학습됩니다. 저장 프로시저의 출력은 dbo.nyc_taxi_models 테이블에 저장된 학습된 모델입니다. 이 저장 프로시저는 모델 학습 및 저장에 사용됩니다.
RxPredictBatchOutput R 학습된 모델을 호출하여 모델을 사용해서 예측을 만듭니다. 저장 프로시저는 쿼리를 입력 매개 변수로 사용하고 입력된 행에 대한 점수를 포함하는 숫자 값 열을 반환합니다. 이 저장 프로시저는 잠재적 결과 예측에 사용됩니다.
RxPredictSingleRow R 학습된 모델을 호출하여 모델을 사용해서 예측을 만듭니다. 이 저장 프로시저는 새 관찰을 개별 기능 값이 인라인 매개 변수로 전달되는 입력으로 사용하고 새 관찰의 결과를 예측하는 값을 반환합니다. 이 저장 프로시저는 잠재적 결과 예측에 사용됩니다.

데이터 쿼리

유효성 검사 단계로, 쿼리를 실행하여 데이터가 업로드되었는지 확인합니다.

  1. 개체 탐색기의 데이터베이스에서 NYCTaxi_Sample 데이터베이스를 마우스 오른쪽 단추로 클릭하고 새 쿼리를 시작합니다.

  2. 몇 가지 간단한 쿼리를 실행합니다.

    SELECT TOP(10) * FROM dbo.nyctaxi_sample;
    SELECT COUNT(*) FROM dbo.nyctaxi_sample;
    

데이터베이스에는 170만 개 행이 포함되어 있습니다.

  1. 데이터베이스 내에는 데이터 세트를 포함하는 dbo.nyctaxi_sample 테이블이 있습니다. 이 테이블은 columnstore 인덱스를 추가하는 방식으로 집합 기반 계산에 최적화되었습니다. 이 문을 실행하여 테이블에 대한 빠른 요약을 생성합니다.

    SELECT DISTINCT [passenger_count]
        , ROUND (SUM ([fare_amount]),0) as TotalFares
        , ROUND (AVG ([fare_amount]),0) as AvgFares
    FROM [dbo].[nyctaxi_sample]
    GROUP BY [passenger_count]
    ORDER BY  AvgFares DESC
    

결과는 다음 스크린샷에 표시된 것과 유사합니다.

테이블 요약 정보

다음 단계

뉴욕시 택시 샘플 데이터를 이제 실습 학습에 사용할 수 있습니다.