Поделиться через


Руководство. Анализ данных с помощью выделенных пулов SQL

В этом руководстве используйте данные такси Нью-Йорка для изучения возможностей выделенного пула SQL.

  • [Развертывание выделенного пула SQL]
  • [Загрузка данных в пул]
  • [Изучение загруженных данных]

Необходимые компоненты

Создание выделенного пула SQL

  1. В Synapse Studio в области навигации слева в разделе Пулы аналитики выберите Управление>Пулы SQL.
  2. Выберите Создать.
  3. Для выделенного имени пула SQL выберите SQLPOOL1.
  4. Для уровня производительности выберите DW100C.
  5. Выберите Просмотреть и создать>Создать. Выделенный пул SQL будет готов через несколько минут.

Выделенный пул SQL связан с базой данных SQL, которая также называется SQLPOOL1.

  1. Перейдите в область Данные>Рабочая область.
  2. Должна отобразиться база данных с именем SQLPOOL1. Если он не отображается, нажмите кнопку "Обновить".

Выделенный пул SQL использует платные ресурсы, пока он активен. Позже пул можно будет приостановить, чтобы снизить затраты.

Примечание.

При создании выделенного пула SQL (ранее — Хранилище данных SQL) в рабочей области откроется страница подготовки выделенного пула SQL. Подготовка будет выполняться на логическом сервере SQL Server.

Загрузка данных такси Нью-Йорка в 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'
        ,AUTO_CREATE_TABLE ='ON'
    )
    

    Совет

    Если возникает ошибка, которая считывается Login failed for user '<token-identified principal>', необходимо задать администратора Идентификатора записи.

    1. На портале Azure найдите рабочую область synapse.
    2. В разделе "Параметры" выберите идентификатор Microsoft Entra.
    3. Выберите "Задать администратора" и задайте администратора идентификатора Microsoft Entra.
  4. Нажмите кнопку "Выполнить", чтобы выполнить скрипт.

  5. Этот скрипт завершается менее чем за 60 секунд. Она загружает 2 миллиона строк данных такси Нью-Йорка в таблицу с именем dbo.NYCTaxiTripSmall.

Обзор данных о такси Нью-Йорка в выделенном пуле SQL

  1. В Synapse Studio перейдите в центр Данные.

  2. Выберите SQLPOOL1>Таблицы. (Если вы не видите его в меню, обновите страницу.)

  3. Щелкните правой кнопкой мыши таблицу dbo.NYCTaxiTripSmall и выберите команду Создать скрипт SQL>Выбрать первые 100 строк.

  4. Подождите, пока новый скрипт SQL будет создан и запущен.

  5. В верхней части скрипта SQL Connect to автоматически устанавливается пул SQL с именем SQLPOOL1.

  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 категории на .

Очистка

Приостанавливайте выделенный пул SQL, чтобы сократить затраты.

  1. Перейдите к разделу "Управление " в рабочей области synapse.
  2. Выберите пулы SQL.
  3. Наведите указатель мыши на SQLPOOL1 и нажмите кнопку "Приостановить ".
  4. Подтвердите приостановку.

Следующий шаг