Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores
Este é o tutorial 10 da série de tutoriais RevoScaleR sobre como usar funções RevoScaleR com SQL Server.
Neste tutorial, vais aprender a obter dados do SQL Server e, depois, usar a função rxImport para colocar os dados de interesse num ficheiro local. Dessa forma, pode analisá-lo repetidamente no contexto de computação local, sem ter de voltar a consultar a base de dados.
A função rxImport pode ser usada para mover dados de uma fonte de dados para um quadro de dados na memória de sessão, ou para um ficheiro XDF no disco. Se não especificar um ficheiro como destino, os dados são colocados na memória como um quadro de dados.
Extrair um subconjunto de dados do SQL Server para a memória local
Decidiu que quer examinar apenas os indivíduos de alto risco com mais detalhe. A tabela de origem no SQL Server é grande, por isso queres obter informação apenas sobre os clientes de maior risco. Depois carregas esses dados numa frame de dados na memória da estação de trabalho local.
Reinicie o contexto de computação para a sua estação de trabalho local.
rxSetComputeContext("local")Crie um novo objeto fonte de dados do SQL Server, fornecendo uma instrução SQL válida no parâmetro sqlQuery. Este exemplo obtém um subconjunto das observações com as pontuações de risco mais altas. Assim, apenas os dados de que realmente precisa são colocados na memória local.
sqlServerProbDS \<- RxSqlServerData( sqlQuery = paste("SELECT * FROM ccScoreOutput2", "WHERE (ccFraudProb > .99)"), connectionString = sqlConnString)Chame a função rxImport para ler os dados numa frame de dados na sessão local R.
highRisk <- rxImport(sqlServerProbDS)Se a operação foi bem sucedida, deverá ver uma mensagem de estado como esta: "Linhas lidas: 35, Total de linhas processadas: 35, Tempo total do bloco: 0,036 segundos"
Agora que as observações de alto risco estão numa trama de dados em memória, pode usar várias funções R para manipular a trama de dados. Por exemplo, pode ordenar os clientes pela sua pontuação de risco e imprimir uma lista dos clientes que representam o maior risco.
orderedHighRisk <- highRisk[order(-highRisk$ccFraudProb),] row.names(orderedHighRisk) <- NULL head(orderedHighRisk)
Results
ccFraudLogitScore state gender cardholder balance numTrans numIntlTrans creditLine ccFraudProb1
9.786345 SD Male Principal 23456 25 5 75 0.99994382
9.433040 FL Female Principal 20629 24 28 75 0.99992003
8.556785 NY Female Principal 19064 82 53 43 0.99980784
8.188668 AZ Female Principal 19948 29 0 75 0.99972235
7.551699 NY Female Principal 11051 95 0 75 0.99947516
7.335080 NV Male Principal 21566 4 6 75 0.9993482
Mais sobre o rxImport
Podes usar o rxImport não só para mover dados, mas também para transformar dados no processo de leitura. Por exemplo, pode especificar o número de caracteres para colunas de largura fixa, fornecer uma descrição das variáveis, definir níveis para colunas de fator e até criar novos níveis para usar após a importação.
A função rxImport atribui nomes de variáveis às colunas durante o processo de importação, mas pode indicar novos nomes de variáveis usando o parâmetro colInfo , ou alterar os tipos de dados usando o parâmetro colClasses .
Ao especificar operações adicionais no parâmetro transforms , pode fazer processamento elementar em cada bloco de dados lido.