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


Настройка горизонтального масштабирования семантической модели

Вы можете включить горизонтальное масштабирование в служба Power BI или использовать rest API наборов данных Power BI. Перед настройкой семантической модели ознакомьтесь с обзором масштабирования семантической модели Power BI.

Включение горизонтального масштабирования в служба Power BI

Чтобы включить горизонтальное масштабирование для семантической модели в служба Power BI, выполните следующие действия.

  1. В служба Power BI откройте рабочую область с семантической моделью, для которой необходимо включить горизонтальное масштабирование.

  2. Выберите дополнительные параметры семантической модели (...).

  3. В меню выберите Параметры.

  4. На странице параметра включите формат хранилища больших семантических моделей, если он не включен.

  5. Включите горизонтальное масштабирование запросов и нажмите кнопку "Применить".

    A screenshot showing how to enable scale out in Power BI service.

Включение горизонтального масштабирования с помощью интерфейсов REST API наборов данных

В этом разделе описывается использование REST API наборов данных Power BI для настройки горизонтального масштабирования семантической модели.

Получение идентификатора набора данных

Чтобы получить идентификатор набора данных, используйте Get-PowerBIDataset. Необходимо указать идентификатор рабочей области и имя семантической модели.

Login-PowerBI | Out-Null

$workspaceId = '<enter workspaceId>'

$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
    | Where{$_.Name -match "<enter semantic model name>"} `
    | Select-Object -ExpandProperty Id -First 1 `
    | ForEach-Object {$_.Guid}

Write-Host
Write-Host "Workspace Id: $workspaceId"
Write-Host "Dataset Id: $datasetId"

Получение текущей конфигурации горизонтального масштабирования

Перед настройкой горизонтального масштабирования семантической модели определите текущую конфигурацию.

###
# Get current scale-out configuration
###
Login-PowerBI | Out-Null

$workspaceId = '<enter workspaceId>'

$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
    | Where{$_.Name -match "<enter semantic model name>"} `
    | Select-Object -ExpandProperty Id -First 1 `
    | ForEach-Object {$_.Guid}

$response = Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get | ConvertFrom-Json

$response.queryScaleOutSettings | Format-List

if ($response.queryScaleOutSettings.maxReadOnlyReplicas -eq -1 `
    -or $response.queryScaleOutSettings.maxReadOnlyReplicas -gt 0)
{
    Write-Host "Semantic model scale-out is enabled."
}
else
{
    Write-Host "Semantic model scale-out is disabled."
}

Включение горизонтального масштабирования семантической модели

Чтобы включить горизонтальное масштабирование семантической модели, задайте maxReadOnlyReplicas-1значение или любое значение, отличное от 0. Значение -1 позволяет Power BI создавать столько реплика только для чтения, сколько поддерживает емкость Power BI. Можно также явно задать значение реплика счетчика меньше, чем максимальное значение емкости. -1 Рекомендуется использовать параметрmaxReadOnlyReplicas.

###
# Enable scale-out
###
Login-PowerBI | Out-Null

$workspaceId = '<enter workspaceId>'

$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
    | Where{$_.Name -match "<enter semantic model name>"} `
    | Select-Object -ExpandProperty Id -First 1 `
    | ForEach-Object {$_.Guid}

Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" `
    -Method Patch -Body '{ "queryScaleOutSettings": { "maxReadOnlyReplicas": -1 }}'

Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get `
    | ConvertFrom-Json | Select-Object -ExpandProperty queryScaleOutSettings `
    | ForEach { 
        if($_.maxReadOnlyReplicas -eq -1)
        { 
            Write-Host "Success! Semantic model scale-out has been enabled."
        } else
        {
            Write-Host "Something went wrong! Semantic model scale-out is still disabled." -ForegroundColor Red
        }
     }

Отключение горизонтального масштабирования семантической модели

Чтобы отключить горизонтальное масштабирование семантической модели, установите значение maxReadOnlyReplicas0.

###
# Disable scale-out
###
Login-PowerBI | Out-Null

$workspaceId = '<enter workspaceId>'

$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
    | Where{$_.Name -match "<enter semantic model name>"} `
    | Select-Object -ExpandProperty Id -First 1 `
    | ForEach-Object {$_.Guid}

Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" `
    -Method Patch -Body '{ "queryScaleOutSettings": { "maxReadOnlyReplicas": 0 }}'

Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get `
    | ConvertFrom-Json | Select-Object -ExpandProperty queryScaleOutSettings `
    | ForEach { 
        if($_.maxReadOnlyReplicas -eq 0)
        { 
            Write-Host "Success! Semantic model scale-out has been disabled."
        } else
        {
            Write-Host "Something went wrong! Semantic model scale-out is still enabled." -ForegroundColor Red
        }
     }