Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server 2016 (13.x) и более поздних версий
Эта часть 10 входит в состав серии учебников по RevoScaleR, посвященной использованию функций RevoScaleR в SQL Server.
В этом руководстве вы узнаете, как получить данные из SQL Server, а затем использовать функцию rxImport , чтобы поместить данные в локальный файл. Таким образом, их можно будет повторно анализировать в локальном контексте вычисления, не выполняя запрос к базе данных еще раз.
Функцию rxImport можно использовать для передачи данных из источника данных в кадр данных в памяти сеанса или в файл XDF на диске. Если не указать файл в качестве назначения, данные помещаются в память как кадр данных.
Извлечение подмножества данных из SQL Server в локальную память
Вы решили более подробно изучить заказчиков с высокой степенью риска. Исходная таблица в SQL Server большая, поэтому вы хотите получить сведения только о клиентах с высоким риском. Затем вы загрузите ее в кадр данных в памяти локальной рабочей станции.
Задайте в качестве контекста вычисления локальную рабочую станцию.
rxSetComputeContext("local")Создайте объект источника данных SQL Server, указав допустимую инструкцию SQL в параметре sqlQuery . В этом примере возвращается подмножество наблюдений с наивысшими показателями рисков. Таким образом, в локальную память будут помещены только действительно нужные данные.
sqlServerProbDS \<- RxSqlServerData( sqlQuery = paste("SELECT * FROM ccScoreOutput2", "WHERE (ccFraudProb > .99)"), connectionString = sqlConnString)Вызовите функцию rxImport для считывания данных в кадр данных в локальном сеансе R.
highRisk <- rxImport(sqlServerProbDS)Если операция выполнена успешно, вы увидите сообщение о состоянии: "Строки считываются: 35, всего обработанных строк: 35, общее время блокирования: 0,036 секунды".
Теперь, когда наблюдения с высокой степенью риска находятся в кадре данных в памяти, можно использовать различные функции R для работы с кадром данных. Например, можно упорядочить клиентов по оценке риска и вывести список клиентов, которые представляют наибольший риск.
orderedHighRisk <- highRisk[order(-highRisk$ccFraudProb),] row.names(orderedHighRisk) <- NULL head(orderedHighRisk)
Результаты
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
Дополнительные сведения о функции rxImport
Функцию rxImport можно использовать не только для передачи данных, но и для их преобразования в процессе считывания. Например, можно указать количество символов для столбцов фиксированной ширины, предоставить описание переменных, задать уровни столбцов коэффициентов и даже создать уровни, которые будут использоваться после импорта.
Функция rxImport присваивает имена переменных столбцам в процессе импорта, но вы можете указать новые имена переменных с помощью параметра colInfo или изменить типы данных с помощью параметра colClasses.
Указав дополнительные операции в параметре transforms , можно осуществлять простейшую обработку каждого блока считываемых данных.