使用專用 SQL 集區分析資料

在本教學課程中,使用 NYC 計程車資料來探索專用 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 計程車資料載入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 秒內完成。 它會將 200 萬個 NYC 計程車資料列載入名為 dbo.NYCTaxiTripSmall 的資料表。

探索專用 SQL 集區中的 NYC 計程車資料

  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;
    

    此查詢會建立資料表 dbo.PassengerCountStats ,其中包含來自 欄位的 trip_distance 匯總資料,然後查詢新的資料表。 資料顯示總車程距離和平均車程距離與乘客人數的關係。

  7. 在 [SQL 腳本結果] 視窗中,將 [ 檢視 ] 變更為 [圖表 ],以折線圖顯示結果的視覺效果。 將 [類別] 資料行 變更 PassengerCount

後續步驟