Compartilhar via


Consultar e modificar os dados do SQL Server (tutorial do SQL Server e RevoScaleR)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores

Este é o tutorial 3 da série de tutoriais do RevoScaleR sobre como usar as funções do RevoScaleR com o SQL Server.

No tutorial anterior, você carregou os dados em SQL Server. Neste tutorial, você pode explorar e modificar dados usando o RevoScaleR:

  • Retornar informações básicas sobre as variáveis
  • Criar dados categóricos de dados brutos

Os dados categóricos (ou variáveis de fator) são úteis para visualizações de dados exploratórios. Você pode usá-los como entradas para histogramas para ter uma ideia de qual é a aparência dos dados de variável.

Consultar colunas e tipos

Use um IDE do R ou o RGui.exe para executar o script do R.

Primeiro, obtenha uma lista das colunas e seus tipos de dados. Você pode usar a função rxGetVarInfo e especificar a fonte de dados que você deseja analisar. Dependendo de sua versão de RevoScaleR, você poderia usar rxGetVarNames.

rxGetVarInfo(data = sqlFraudDS)

Resultados

Var 1: custID, Type: integer
Var 2: gender, Type: integer
Var 3: state, Type: integer
Var 4: cardholder, Type: integer
Var 5: balance, Type: integer
Var 6: numTrans, Type: integer
Var 7: numIntlTrans, Type: integer
Var 8: creditLine, Type: integer
Var 9: fraudRisk, Type: integer

Criar dados categóricos

Todas as variáveis são armazenadas como inteiros, mas algumas delas representam dados categóricos, chamados de variáveis de fator no R. Por exemplo, a coluna state contém números usados como identificadores para 50 estados, além do Distrito de Colúmbia. Para facilitar a compreensão dos dados, você pode substituir os números por uma lista de abreviações de estado.

Nesta etapa, você criará um vetor de cadeia de caracteres que contém as abreviações e, em seguida, mapeará esses valores categóricos para os identificadores inteiros originais. Em seguida, usará a nova variável no argumento colInfo para especificar que essa coluna deve ser tratada como um fator. Sempre que analisar os dados ou movê-los, as abreviações serão usadas e a coluna será tratada como um fator.

Mapear a coluna para as abreviações antes de usá-la como um fator também melhora o desempenho. Para obter mais informações, confira R e otimização de dados.

  1. Comece criando uma variável do R, stateAbb, e definindo o vetor de cadeias de caracteres a ser adicionado a ela, da seguinte maneira.

    stateAbb <- c("AK", "AL", "AR", "AZ", "CA", "CO", "CT", "DC",
        "DE", "FL", "GA", "HI","IA", "ID", "IL", "IN", "KS", "KY", "LA",
        "MA", "MD", "ME", "MI", "MN", "MO", "MS", "MT", "NB", "NC", "ND",
        "NH", "NJ", "NM", "NV", "NY", "OH", "OK", "OR", "PA", "RI","SC",
        "SD", "TN", "TX", "UT", "VA", "VT", "WA", "WI", "WV", "WY")
    
  2. Em seguida, crie um objeto de informações de coluna, chamado ccColInfo, que especifica o mapeamento dos valores inteiros existentes para os níveis categóricos (as abreviações dos estados).

    Essa instrução também cria variáveis de fator de gender e cardholder.

    ccColInfo <- list(
    gender = list(
              type = "factor",
              levels = c("1", "2"),
              newLevels = c("Male", "Female")
              ),
    cardholder = list(
                  type = "factor",
                  levels = c("1", "2"),
                  newLevels = c("Principal", "Secondary")
                   ),
    state = list(
             type = "factor",
             levels = as.character(1:51),
             newLevels = stateAbb
             ),
    balance = list(type = "numeric")
    )
    
  3. Para criar a fonte de dados SQL Server que usa os dados atualizados, chame a função RxSqlServerData como antes, mas adicione o argumento colInfo.

    sqlFraudDS <- RxSqlServerData(connectionString = sqlConnString,
    table = sqlFraudTable, colInfo = ccColInfo,
    rowsPerRead = sqlRowsPerRead)
    
    • No parâmetro table , passe a variável sqlFraudTable, que contém a fonte de dados criada anteriormente.
    • No parâmetro colInfo , passe a variável ccColInfo , que contém os tipos de dados de coluna e níveis de fator.
  4. Agora, você pode usar a função rxGetVarInfo para exibir as variáveis na nova fonte de dados.

    rxGetVarInfo(data = sqlFraudDS)
    

    Resultados

    Var 1: custID, Type: integer
    Var 2: gender  2 factor levels: Male Female
    Var 3: state   51 factor levels: AK AL AR AZ CA ... VT WA WI WV WY
    Var 4: cardholder  2 factor levels: Principal Secondary
    Var 5: balance, Type: integer
    Var 6: numTrans, Type: integer
    Var 7: numIntlTrans, Type: integer
    Var 8: creditLine, Type: integer
    Var 9: fraudRisk, Type: integer
    

Agora as três variáveis especificadas (gender, statee cardholder) são tratadas como fatores.

Próximas etapas