Microsoft r open что это

от admin

Microsoft R. Where, How, Why.

I know, a massive corporate encroaching on open source territory, it must be a trap right! I’m yet to find one, so let’s have a look at quick look at the where, how, why of Microsoft R and you can tell me if I’m being duped.

Microsoft R Open

Microsoft R Open (MRO) is the open source Microsoft variant of R. It is based on the CRAN R project with a number of enhancements. It is installed a single workstation. This is not to be confused with, but easily is, Microsoft R server (MRS) which is a commercial offering for serious R work load. I will discuss Microsoft R server next. Microsoft R Open has all the CRAN libraries as well as additional libraries. So you are getting everything and a bit more.

Many R use cases require multiple complex calculations in a single model over large amounts of data. There are some computational limitations to CRAN R that Microsoft R Open goes a long way to solving.

Two of those limitations are:
1. CRAN R is single threaded making complex computations slow.

2. Using CRAN R data is loaded into RAM for computation so data is limited to the amount of RAM on the user’s workstation.

Microsoft R Open is multi-threaded. That is a very short sentence but it is a huge advantage as highlighted below.

I will cover off the RAM limitation in the next section.

You don’t have to use the Microsoft Open R client with Microsoft Open R. (Which is good because it is less than awesome.) You can use the client of your choice such as the command line, CRAN R Studio, Visual Studio etc and configure them to use the Microsoft R Open server to give the extra libraries and multi-threaded goodness.

Microsoft R Server

Microsoft R Server is the commercial R server from Microsoft. This introduces a number of extra packages including those that facilitate R at scale. ScaleR manages large data amounts by using RAM and disk along with the parallel processing already mentioned. DistributedR, is exactly what it sounds like. Allows Microsoft R server to be distributed on multiple nodes to increase parallelism. This is getting a bit more techo than I hoped so here is nice diagram from Microsoft to show the value.

So here is the only gotcha. If you want to run R at scale you have to pay for a Microsoft R Server license. Well that is pretty fair I reckon PLUS there is a good chance your organisation has this as part of Microsoft SQL Server licensing. *Big disclaimer about me not being a Microsoft licensing expert, this does not consist of an offer or guarantee and all that stuff.

R in Power BI

Microsoft Power BI has two ways of exploiting R. Neither of these needs Microsoft R Open server. Power BI will go for a look around and try and find a R server, could be CRAN, could be Microsoft R Open, could be other. In this case my installation of Power BI found my Microsoft R for SQL Server R server. More about that later.

The two ways to use R in Power BI are:
1. A R Script Visual within Power BI to create a R visualisation based on data in a Power BI model.

2. R Script as a data source which creates a data frame within Power BI with R applied.

So even in Power BI Microsoft do not lock you in Microsoft R Open. Suspiciously un-corporate like. How about Microsoft Azure?

Microsoft Azure Machine Learning

Azure ML has a large number of statistical and predictive functions built in. Azure ML also allows R and Python to included in the model but Microsoft do restrict the R functions that can be used in Azure ML as some could be damaging in a cloud environment.

Other than the simple drag and drop interface the big advantage of Azure ML is that it is incredibly simple to make the machine learning ‘experiment’ a web service that can then be used in applications and website. This could be called ‘operationalising data science’. Outside of Azure ML creating a web service, or operationalising, traditional R or Python can be a bit difficult.

Here again users can choose to run their R script using CRAN R server of Microsoft Open R server.

SQL Server R Services

SQL Server R Services is very exciting. It allows R to be used within a SQL Server Stored Procedure. So an R expert can create some code, send it via email to a DBA and the DBA pastes that into a SQL Server stored procedure. This could be called ‘productionising data science’. This method can be used as part of standard data flows within a database or data warehouse. When new data comes in the R stored procedure is run and the output is updated.

As a data and visualisation person I find the graphs available in R like BI Back to the Future. Very 1980’s. But I get it, R about important sciencey things, this is not a beauty contest. Now we can have both. Have data available in SQL Server that has already had R applied and display using your visualisation and/or reporting tool of choice.

Summary

Where & How

Desktop with Microsoft R Open.
Cloud with Azure ML, Azure App Service (a web service created in Azure ML or other), Power BI, Azure VM Running SQL Server, Azure Machine Learning VM.
On premise with SQL Server R server, or Microsoft R Server running on traditional single server hardware or in a cluster.

More Libraries
Multi-threaded
Scale beyond RAM
Distributed

Microsoft Open R — Open source, use all your cores for processing, pass on the client.

Microsoft R Server — Go parallel and scale up your R as large as you want.

Power BI — Good for ad-hoc use of R and display R graphs as part of a dashboard.

Azure ML — Good for exploiting Machine Learning in other applications via a web service.

SQL Server R Services — Great for embedding R into a repeating business processes within a SQL Server environment.

Revolution R переименован в Microsoft R и доступен бесплатно для разработчиков и студентов


За девять месяцев, с тех пор как Microsoft приобрела Revolution Analytics, компанией было выпущено много обновлений для Revolution R Open и Revolution R Enterprise, не говоря уже об интеграции R с SQL Server, PowerBI, Azure и Cortana Analytics.

Американская компания Revolution Analytics является производителем программного обеспечения для статистической обработки данных. Компания специализируется на коммерциализации языка программирования R и создании программных решений с его использованием.
Основным продуктом компании Revolution Analytics является Revolution R — это среда выполнения языка R (язык программирования для статистической обработки данных и работы с графикой), оптимизированная для многопоточных вычислений, а также, набор библиотек, для параллельной обработки в рамках концепции «больших данных».

Несколько дней назад, Microsoft предоставила доступ к продуктам R Server по подпискам MSDN и DreamSpark.

Читать:
Как удалить библиотеку в pycharm

Официальный анонс от Microsoft состоялся 12 января. Компания сообщила, что Revolution R Open переименован в Microsoft R Open и доступен для бесплатной загрузки, а также Revolution R Enterprise переименован в Microsoft R Server.

Джозеф Сирош, корпоративный вице-президент Microsoft Data Group, сообщил на страничке Machine Learning Blog о выходе нового продукта — Microsoft R Server Developer Edition. Этой же редакцией будет укомплектована анонсированная ранее Microsoft Data Science Virtual Machine. Это позволит пользователям R быстро начать работу по исследованию данных и моделированию в облаке, без необходимости настраивать окружение. Microsoft R Server Developer Edition включает в себя возможности коммерческой версии, однако распространяется бесплатно.

Коммерческий дистрибутив Microsoft R Server будет интегрирован в SQL Server 2016 в виде SQL Server R Services. До выхода SQL Server 2016, Revolution R Enterprise для Windows будет поставляться в виде отдельного продукта.

Чтобы начать работать с Microsoft R Server, вы можете загрузить его по одной из следующих ссылок:
Для всех: Download Microsoft R Open from MRAN (Бесплатно.)
Для студентов: Download Microsoft R Server from DreamSpark (Бесплатно. Необходима учетная запись Microsoft)
Для разработчиков: Download Microsoft R Server from Visual Studio Dev Essentials (Бесплатно. Необходима учетная запись Microsoft)

Name already in use

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

alt text

Microsoft R Open

Microsoft R Open is the enhanced distribution of R used for for statistical analysis and Data science. This is the repository containing the source code for the open source components of Microsoft R Open. If you’re looking for the latest changes, check the «public» branch.

/additionalPackages -> Microsoft authored GPLv2 licensed R packages

/patch -> Patches made to the R source code when building Microsoft R Open

/source -> CRAN R source code

/vendor -> Libraries needed to build Microsoft R Open

Please see the R Installation and Administration Guide for instructions on building the R source. Patches can be applied using GNU Patch.

The additional Microsoft authored packages can be built and installed using R CMD INSTALL after the R source has been built.

SQL Server 2016: R Services, часть 2, offline установка сервера и пакетов

Итак, давайте для начала разберемся, как поставить и активировать SQL Server 2016 R Services. В первую очередь при установке вам необходимо выбрать соответствующий компонент. В ранних CTP сборках он назывался Advanced Analytics Extensions, в финальной RTM версии вам нужно выбрать R Services (In-Database).

Если ваш сервер подключен к интернету, то инсталлятор сам скачает и установит необходимые компоненты с интернета. Но, как мы знаем, большая часть серверов не имеет прямого доступа в интернет, т.к. это не безопасно. Поэтому я и решил рассказать в деталях, что нужно будет сделать в этом случае. До этого момента действуем также как и обычно, выбираем R Services и идем дальше. На определенном шаге установки вам предложат согласится с установкой Microsoft R Open.

Нажимаете Accept, соглашаетесь, далее у вас снова становится активна кнопка Next, нажимаете ее. После этого установщик попросит вас выбрать директорию, где лежат дистрибутивы Microsoft R Open и Microsoft R Server.

Также здесь указаны ссылки, по которым их можно скачать. Если у вас их нет, вы можете скопировать эти ссылки, скачать эти дистрибутивы на компьютере, который подключен к интернету, а потом уже скопировать их на наш сервер в отдельную директорию и выбрать ее в инсталляторе. После этого нажимаем Next и процесс установки должен будет продолжиться и успешно завершиться.

Все достаточно просто. Установка даже в offline режиме упрощена и предусмотрена. Однако, это еще далеко не все. R Services необходимо активировать выполнив следующую команду, в противном случае вы будет получать ошибку при попытке запустить любой код на R.

sp_configure ‘external scripts enabled’, 1 go

Внимание! После этого требуется перезапуск экземпляра SQL Server. После этого вы сможете выполнять базовые команды на языке R внутри SQL Server. Но мы знаем, что основная мощь языка R достигается за счет пакетов, которые расширяют его возможности, принося дополнительные функции. Для установки пакетов необходимо запустить консоль R. Для этого идем в директорию C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\bin и запускаем R.exe от имени администратора.

Директория может отличаться, если при установке SQL Server у вас была выбрана другая. Поэтому просто ищете директорию R_SERVICES\bin внутри того места, куда вы устанавливали SQL Server. Также, если вы не запустите R от имени админитратора, то у вас не будет прав на запись в диреторию с пакетами.

После запуска вы получите обычную консоль языка R, в которую можете вводить и выполнять любые команды на этом языке.

Давайте попробуем рассмотреть установку пакетов на примере очень популярного графического расширения ggplot2. Если ваш сервер полючен к интернету, то вам всего лишь необходимо ввести следующую команду:

R сам скачает необходимый пакет с центрального хранилища CRAN, а также все зависимости и установит их. Но, если ваш сервер не подключен к интернету, то придется немного попотеть. Для начала будет необходимо скачать нужные пакеты. Для этого идем на центральное хранилище всех пакетов CRAN. Для ggplot2 ссылка будет следующая: https://cran.r-project.org/web/packages/ggplot2/index.html.

Обратите внимание, внизу я отметил ссылку на ZIP файл для самого пакета, который нужно скачать, но этот пакет зависит от других пакетов, который в свою очедь тоже зависят. Поэтому придется походить по ссылкам вверху, скачать все пакеты из разделов Depends и Imports, а также все зависимости этих пакетов. На самом деле не пугайтесь, у вас их получится не так много. У меня получилось 13 штук. Я их поместить в директорию C:\temp.

После этого вам необходимо создать файл PACKAGES в этой директории, который будет своего рода индексом для находящихся в ней пакетов. Для этого нужно вернуться в консоль R и выполнить следующие команды.

После этого вы уже можете запустить команду для установки пакета ggplot2 с указанием нашей директории.

install.packages("ggplot2", contriburl = "file:C:/temp")

Эта команда выполнит установку пакета ggplot2, а также всех его зависимостей из указанной нами директории. Вы можете проверить, установлен ли этот пакет, попробовав его загрузить.

Если вдруг вы забыли скачать какой-то пакет из зависимостей, то вы увидите ошибку и название пакета, которого не хватает. Не отчаивайтесь, просто скачивайте отсутствующий пакет в указанную директорию, его зависимости, заново перестраивайте на ней индекс и запускайте команду установки для этого пакета. Потом заново пробуйте загрузить пакет ggplot2.

Offline установка пакетов представляет из себя не очень приятную и тривиальную процедуру, но, я надеюсь, я в деталях описал этот процесс и он вам поможет и сэкономит массу времени. На этом все с установкой и ативацией R Services. В следующей статье мы посмотрим, как можно запускать команды на R.

Related Posts