Compartir a través de


Configuración del escalado horizontal del modelo semántico

Puede habilitar el escalado horizontal en el servicio Power BI o mediante las API de REST de conjuntos de datos de Power BI. Antes de configurar el modelo semántico, lea la introducción a la escalabilidad horizontal del modelo semántico de Power BI.

Habilitar el escalado horizontal en el servicio Power BI

Para habilitar el escalado horizontal del modelo semántico en el servicio Power BI, siga estos pasos:

  1. En el servicio Power BI, abra el área de trabajo con el modelo semántico para el que desea habilitar el escalado horizontal.

  2. Seleccione más opciones del modelo semántico (...).

  3. En el menú, seleccione Configuración.

  4. En la página de la configuración, habilite el formato de almacenamiento del modelo semántico grande si no está habilitado.

  5. Habilite el Escalado horizontal de consulta y seleccione Aplicar.

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

Habilitar el escalado horizontal mediante las AP deI REST de conjuntos de datos

Esta sección describe el uso de las API de REST de modelos semánticos de Power BI para configurar la escalabilidad horizontal del conjunto de datos.

Obtener datasetId

Para obtener el datasetId, use Get-PowerBIDataset. Debe especificar un workspaceId y un nombre de modelo semántico.

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"

Obtener la configuración de escalabilidad horizontal actual

Antes de configurar la escalabilidad horizontal del modelo semántico, determine la configuración actual.

###
# 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."
}

Habilitación del escalado horizontal del modelo semántico

Para habilitar la escalabilidad horizontal del modelo semántico, establezca maxReadOnlyReplicas en -1 o en cualquier valor distinto de 0. Un valor de -1 permite que Power BI cree tantas réplicas de solo lectura como admita la capacidad de Power BI. También puede establecer explícitamente el recuento de réplicas en un valor inferior al del máximo de capacidad. Se recomienda establecer maxReadOnlyReplicas en -1.

###
# 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
        }
     }

Deshabilitación del escalado horizontal del modelo semántico

Para deshabilitar el escalado horizontal del modelo semántico, establezca maxReadOnlyReplicas en 0.

###
# 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
        }
     }