Introducción a las funcionalidades de R de código abierto de R Server en HDInsightIntroduction to R Server and open-source R capabilities on HDInsight

Microsoft R Server (también conocido como Microsoft Machine Learning Server) está disponible como una opción de implementación cuando se crean clústeres de HDInsight en Azure.Microsoft R Server (also know as Microsoft Machine Learning Server) is available as a deployment option when you create HDInsight clusters in Azure. El tipo de clúster que proporciona esta opción se denomina R Server.The cluster type that provides this option is called R Server. Esta funcionalidad proporciona a los científicos de datos, a los estadísticos y a los programadores de R acceso a petición a métodos escalables y distribuidos para realizar análisis en HDInsight.This capability provides data scientists, statisticians, and R programmers with on-demand access to scalable, distributed methods of analytics on HDInsight.

R Server en HDInsight proporciona las funcionalidades más recientes para realizar análisis basados en R de conjuntos de datos de prácticamente cualquier tamaño, cargados en el almacenamiento de Data Lake o Azure Blob Storage.R Server on HDInsight provides the latest capabilities for R-based analytics on datasets of virtually any size, loaded to either Azure Blob or Data Lake storage. Como el clúster de R Server se ha creado utilizando lenguaje R de código abierto, tiene a su disposición más de 8000 paquetes de R de código abierto que puede utilizar con sus aplicaciones basadas en R.Since R Server cluster is built on open-source R, the R-based applications you build can leverage any of the 8000+ open-source R packages. También están disponibles las rutinas de ScaleR, un paquete de análisis de macrodatos de Microsoft que se incluye con R Server.The routines in ScaleR, Microsoft’s big data analytics package included with R Server, are also available.

El nodo perimetral de un clúster proporciona un lugar conveniente para conectarse al clúster y ejecutar los scripts de R.The edge node of a cluster provides a convenient place to connect to the cluster and to run your R scripts. Con un nodo perimetral, tiene la opción de ejecutar las funciones distribuidas paralelizadas de ScaleR en los diferentes núcleos del servidor de nodo perimetral.With an edge node, you have the option of running the parallelized distributed functions of ScaleR across the cores of the edge node server. También puede ejecutarlas en los nodos del clúster utilizando los contextos de proceso de Spark o Hadoop MapReduce de ScaleR.You can also run them across the nodes of the cluster by using ScaleR’s Hadoop Map Reduce or Spark compute contexts.

Los modelos o las predicciones que se generen a partir de los análisis pueden descargarse y utilizarse en el entorno local.The models or predictions that result from analysis can be downloaded for on-premises use. También pueden emplearse en otro lugar de Azure, en concreto a través del servicio web Azure Machine Learning Studio.They can also be operationalized elsewhere in Azure, in particular through Azure Machine Learning Studio web service.

Introducción al uso de R Server en HDInsightGet started with R Server on HDInsight

Para crear un clúster de R Server en Azure HDInsight, seleccione el tipo de clúster R Server cuando cree un clúster de HDInsight en Azure Portal.To create an R Server cluster in Azure HDInsight, select the R Server cluster type when creating an HDInsight cluster using the Azure portal. El tipo de clúster R Server incluye esta plataforma en los nodos de datos del clúster y en un nodo perimetral, que sirve como zona de aterrizaje para los análisis basados en R Server.The R Server cluster type includes R Server on the data nodes of the cluster and on an edge node, which serves as a landing zone for R Server-based analytics. Consulte Introducción al uso de R Server en HDInsight para conocer una solución alternativa sobre cómo crear el clúster.See Getting Started with R Server on HDInsight for a walkthrough on how to create the cluster.

¿Por qué elegir R Server en HDInsight?Why choose R Server in HDInsight?

R Server en HDInsight le brinda la posibilidad de usar R Server en Azure.R Server in HDInsight provides the option to use the R Server on Azure. R Server incluye:R Server includes:

  • Las mejores innovaciones en inteligencia artificial que ofrece Microsoft y el código abiertoThe best AI innovation from Microsoft and open source

    Microsoft no escatima esfuerzos para conseguir que la inteligencia artificial esté a disposición de cada individuo y organización.Microsoft strives to make AI accessible to every individual and organization. R Server dispone de un avanzado conjunto de algoritmos distribuidos con una gran escalabilidad, como RevoscaleR, revoscalepy y microsoftML, que pueden utilizarse con datos cuyo tamaño supera al de la memoria física y ejecutarse en una gran variedad de plataformas de manera distribuida.R Server includes a rich set of highly-scalable, distributed set of algorithms such as RevoscaleR, revoscalepy, and microsoftML that can work on data sizes larger than the size of physical memory, and run on a wide variety of platforms in a distributed manner. Obtenga más información acerca de la colección de paquetes de R y paquetes de Python personalizados de Microsoft que se incluyen con el producto.Learn more about the collection of Microsoft's custom R packages and Python packages included with the product.

    R Server aúna las innovaciones de Microsoft con las de la comunidad de código abierto (kits de herramientas de R, Python e inteligencia artificial), y todo en una única plataforma de nivel empresarial.R Server bridges these Microsoft innovations and those coming from the open source community (R, Python and AI toolkits) all on top of a single enterprise-grade platform. Cualquier paquete de aprendizaje automático de código abierto de R o Python puede utilizarse simultáneamente con las innovaciones de Microsoft.Any R or Python open source machine learning package can work side-by-side with any proprietary innovation from Microsoft.

  • Puesta en marcha y administración simples, seguras y a gran escalaSimple, secure, and high-scale operationalization and administration

    Las empresas que utilizan entornos y paradigmas tradicionales de puesta en marcha terminan invirtiendo mucho tiempo y esfuerzo en este cometido.Enterprises relying on traditional operationalization paradigms and environments end up investing much time and effort towards this area. Algunos de los puntos problemáticos que suelen generar un aumento de los costos y provocar retrasos son el tiempo necesario para traducir los modelos, las iteraciones que se requieren para mantener la validez y la vigencia, la aprobación normativa y la administración de permisos durante el proceso de puesta en marcha.Pain points often resulting in inflated costs and delays include: the translation time for models, iterations to keep them valid and current, regulatory approval, managing permissions through operationalization.

    R Server cuenta con avanzados mecanismos de puesta en marcha gracias a los cuales, desde el momento en que se completa el modelo de aprendizaje automático, solo se necesitan unos pocos clics para generar las API de los servicios web.R Server offers best-in-class operationalization -- from the time a machine learning model is completed, it takes just a few clicks to generate web services APIs. Estos servicios web se hospedan en una malla de servidores locales o en la nube y pueden integrarse con aplicaciones de línea de negocio.These web services are hosted on a server grid on-premises or in the cloud and can be integrated with line-of-business applications. Disponer de una malla flexible en la que realizar las implementaciones le brinda la capacidad de escalar el sistema fácilmente en función de las necesidades del negocio, tanto en las puntuaciones por lotes como en las puntuaciones en tiempo real.The ability to deploy to an elastic grid lets you scale seamlessly with the needs of your business, both for batch and real-time scoring. Para obtener instrucciones, consulte Operationalize R Server on HDInsight (Puesta en marcha de R Server en HDInsight)///.For instructions, see Operationalize R Server on HDInsight.

  • Relaciones sólidas entre los ecosistemas para facilitar el éxito a los clientes con un costo total de propiedad óptimoDeep ecosystem engagements to deliver customer success with optimal total cost of ownership

    Las personas que se embarcan en iniciativas para conseguir que sus aplicaciones sean inteligentes o que simplemente quieren conocer el nuevo mundo de la inteligencia artificial y el aprendizaje automático necesitan los recursos apropiados para poder ponerse en marcha.Individuals embarking on the journey of making their applications intelligent or simply wanting to learn the new world of AI and machine learning, need the right resources to help them get started. Además de esta documentación, Microsoft dispone de diversos recursos de aprendizaje y ha contratado los servicios de varios socios para impartir cursos que le ayudarán a ponerse en marcha y a alcanzar una productividad óptima rápidamente.In addition to this documentation, Microsoft provides several learning resources and has engaged several training partners to help you ramp up and become productive quickly.

Características clave de R Server en HDInsightKey features of R Server on HDInsight

Las siguientes características se incluyen con R Server en HDInsight.The following features are included in R Server on HDInsight.

Categoría de la característicaFeature category DESCRIPCIÓNDescription
Habilitado para RR-enabled Paquetes de R para soluciones escritas en R, con una distribución de código abierto de R y una infraestructura de entorno de ejecución para la ejecución de scripts.R packages for solutions written in R, with an open source distribution of R and run-time infrastructure for script execution.
Habilitado para PythonPython-enabled Módulos de Python para soluciones escritas en Python, con una distribución de código abierto de Python y una infraestructura de entorno de ejecución para la ejecución de scripts.Python modules for solutions written in Python, with an open source distribution of Python and run-time infrastructure for script execution.
Modelos previamente entrenadosPre-trained models Para análisis visuales y análisis textuales de sentimientos, preparados para puntuar los datos proporcionados.For visual analysis and text sentiment analysis, ready to score data you provide.
Implementación y consumoDeploy and consume Ponga en marcha su servidor e implemente las soluciones como servicios web.Operationalize your server and deploy solutions as a web service.
Ejecución remotaRemote execution Inicie sesiones remotas en R Server a través de la red desde la estación de trabajo del cliente.Start remote sessions on R Server on your network from your client workstation.

Opciones de almacenamiento de datos de R Server en HDInsightData storage options for R Server on HDInsight

El almacenamiento predeterminado del sistema de archivos HDFS de los clústeres de HDInsight puede asociarse con una cuenta de Azure Storage o un almacén de Azure Data Lake Store.Default storage for the HDFS file system of HDInsight clusters can be associated with either an Azure Storage account or an Azure Data Lake Store. Esta asociación garantiza que cualquier dato cargado en el almacenamiento de clúster durante el transcurso del análisis se convierta en persistente y esté disponible aunque se elimine el clúster.This association ensures that whatever data is uploaded to the cluster storage during analysis is made persistent and the data is available even after the cluster is deleted. Existen diversas herramientas para tratar la transferencia de datos a la opción de almacenamiento que seleccione, entre ellas el componente de carga basado en el portal de la cuenta de almacenamiento y la utilidad AzCopy.There are various tools for handling the data transfer to the storage option that you select, including the portal-based upload facility of the storage account and the AzCopy utility.

Tiene la opción de agregar acceso a los almacenes de Data Lake y Blob Storage adicionales durante el aprovisionamiento del clúster independientemente de la opción de almacenamiento principal en uso.You have the option of adding access to additional Blob and Data lake stores during the cluster provisioning process regardless of the primary storage option in use. Consulte Introducción al uso de R Server en HDInsight para información sobre cómo agregar acceso a cuentas adicionales.See Getting started with R Server on HDInsight for information on adding access to additional accounts. Vea el artículo suplementario Opciones de Azure Storage para R Server en HDInsight para información adicional sobre el uso de varias cuentas de almacenamiento.See the supplementary Azure Storage options for R Server on HDInsight article to learn more about using multiple storage accounts.

También se puede usar Archivos de Azure como opción de almacenamiento para emplearse en el nodo perimetral.You can also use Azure Files as a storage option for use on the edge node. Gracias a Azure Files, podrá montar en el sistema de archivos Linux un recurso compartido de archivos creado en el servicio Azure Storage.Azure Files enables you to mount a file share that was created in Azure Storage to the Linux file system. Para más información acerca de estas opciones de almacenamiento de datos de R Server en un clúster de HDInsight, consulte Opciones de Azure Storage para R Server en HDInsight.For more information about these data storage options for R Server on HDInsight cluster, see Azure Storage options for R Server on HDInsight.

Acceso a Machine Learning Server en el clústerAccess Machine Learning Server on the cluster

Puede conectarse a Microsoft Machine Learning Server en el nodo perimetral utilizando un explorador.You can connect to Microsoft Machine Learning Server on the edge node using a browser. Se instala de forma predeterminada durante la creación del clúster.It is installed by default during cluster creation. Para obtener más información, consulte Introducción al uso de R Server en HDInsight.For more information, see Get stared with R Server on HDInsight. También puede conectarse a ML Server desde la línea de comandos utilizando SSH/PuTTY para acceder a la consola de R.You can also connect to the ML Server from the command line by using SSH/PuTTY to access the R console.

Desarrollo y ejecución de scripts de RDevelop and run R scripts

Los scripts de R que se crean y ejecutan pueden usar cualquiera de los más de 8000 paquetes de R de código abierto, además de las rutinas distribuidas y paralelizadas disponibles en la biblioteca de ScaleR.The R scripts you create and run can use any of the 8000+ open-source R packages in addition to the parallelized and distributed routines available in the ScaleR library. En general, el script que se ejecuta con R Server en el nodo perimetral lo hace dentro del intérprete de R de ese nodo.In general, a script that is run with R Server on the edge node runs within the R interpreter on that node. Las excepciones son los pasos que necesitan llamar a una función ScaleR con un contexto de proceso establecido en Hadoop MapReduce (RxHadoopMR) o Spark (RxSpark).The exceptions are those steps that need to call a ScaleR function with a compute context that is set to Hadoop Map Reduce (RxHadoopMR) or Spark (RxSpark). En este caso, la función se ejecuta de forma distribuida en esos nodos de datos (tarea) del clúster asociados a los datos a los que se hacen referencia.In this case, the function runs in a distributed fashion across those data (task) nodes of the cluster that are associated with the data referenced. Para más información sobre las distintas opciones de contexto de proceso, consulte Opciones de contexto de proceso para R Server en HDInsight.For more information about the different compute context options, see Compute context options for R Server on HDInsight.

Uso de modelosOperationalize a model

Cuando se complete el modelado de datos, podrá utilizar el modelo para realizar predicciones de nuevos datos en Azure o en un entorno local.When your data modeling is complete, you can operationalize the model to make predictions for new data either from Azure and on-premises. Este proceso se conoce como "puntuación".This process is known as scoring. La puntuación puede realizarse en HDInsight, Azure Machine Learning o de forma local.Scoring can be done in HDInsight, Azure Machine Learning, or on-premises.

Puntuación en HDInsightScore in HDInsight

Para realizar puntuaciones en HDInsight, escriba una función de R que llame al modelo para realizar predicciones de un nuevo archivo de datos que se haya cargado en la cuenta de almacenamiento.To score in HDInsight, write an R function that calls your model to make predictions for a new data file that you've loaded to your storage account. Después, vuelva a guardar las predicciones en la cuenta de almacenamiento.Then, save the predictions back to the storage account. Puede ejecutar esta rutina a petición en el nodo perimetral del clúster o mediante un trabajo programado.You can run this routine on-demand on the edge node of your cluster or by using a scheduled job.

Puntuación en Azure Machine Learning (AML)Score in Azure Machine Learning (AML)

Si desea realizar la puntuación mediante Azure Machine Learning, utilice el paquete de R de Azure Machine Learning de código abierto, conocido como AzureML, para publicar el modelo como un servicio web de Azure.To score using Azure Machine Learning, use the open-source Azure Machine Learning R package known as AzureML to publish your model as an Azure web service. Para mayor comodidad, este paquete está preinstalado en el nodo perimetral.For convenience, this package is pre-installed on the edge node. Después, utilizando los recursos de Azure Machine Learning, cree una interfaz de usuario para el servicio web y, si es necesario, llame a dicho servicio web para efectuar las puntuaciones.Next, use the facilities in Azure Machine Learning to create a user interface for the web service, and then call the web service as needed for scoring.

Si elige esta opción, tendrá que convertir los objetos de modelo de ScaleR en objetos de modelo de código abierto equivalentes para poder usarlos con el servicio web.If you choose this option, you must convert any ScaleR model objects to equivalent open-source model objects for use with the web service. Para esta conversión, utilice las funciones de coerción de ScaleR, como as.randomForest(), para los modelos basados en conjuntos.Use ScaleR coercion functions, such as as.randomForest() for ensemble-based models, for this conversion.

Puntuación en un entorno localScore on-premises

Para puntuar de forma local después de crear el modelo, este se puede serializar en R, descargarlo, anular la serialización y, después, usarlo para puntuar nuevos datos.To score on-premises after creating your model, you can serialize the model in R, download it, de-serialize it, and then use it for scoring new data. Puede puntuar nuevos datos adoptando el enfoque descrito antes en Puntuación en HDInsight o mediante DeployR.You can score new data by using the approach described earlier in Scoring in HDInsight or by using DeployR.

Mantenimiento del clústerMaintain the cluster

Instalación y mantenimiento de paquetes de RInstall and maintain R packages

La mayoría de los paquetes de R que utiliza se necesitan en el nodo perimetral, puesto que es donde se ejecutan la mayoría de los scripts de R.Most of the R packages that you use are required on the edge node since most steps of your R scripts run there. Para instalar más paquetes de R en el nodo perimetral, puede usar el método install.packages() habitual en R.To install additional R packages on the edge node, you can use the usual install.packages() method in R.

Si simplemente usa rutinas de la biblioteca ScaleR en el clúster, normalmente no hará falta instalar más paquetes de R en los nodos de datos.If you are just using routines from the ScaleR library across the cluster, you do not usually need to install additional R packages on the data nodes. Sin embargo, puede que necesite más paquetes para admitir el uso de la ejecución de rxExec o RxDataStep en los nodos de datos.However, you might need additional packages to support the use of rxExec or RxDataStep execution on the data nodes.

En estos casos, los paquetes adicionales pueden instalarse con una acción de script después de crear el clúster.In such cases, the additional packages can be installed with a script action after you create the cluster. Para más información, consulte Manage R Server in HDInsight cluster (Administrar R Server en un clúster de HDInsight)///.For more information, see Manage R Server in HDInsight cluster.

Cambio de la configuración de memoria de Hadoop MapReduceChange Hadoop MapReduce memory settings

Los clústeres pueden modificarse para cambiar la cantidad de memoria disponible en R Server cuando se ejecuta un trabajo de MapReduce.A cluster can be modified to change the amount of memory that is available to R Server when it is running a MapReduce job. Para ello, use la IU de Apache Ambari, que se encuentra disponible a través de la hoja del Portal de Azure de su clúster.To modify a cluster, use the Apache Ambari UI that's available through the Azure portal blade for your cluster. Para ver instrucciones para acceder a la IU de Ambari de su clúster, consulte Administración de clústeres de HDInsight con la interfaz de usuario web de Ambari.For instructions about how to access the Ambari UI for your cluster, see Manage HDInsight clusters using the Ambari Web UI.

También se puede cambiar la cantidad de memoria disponible en R Server utilizando los modificadores de Hadoop en la llamada a RxHadoopMR, tal y como se muestra a continuación:It is also possible to change the amount of memory that is available to R Server by using Hadoop switches in the call to RxHadoopMR as follows:

hadoopSwitches = "-libjars /etc/hadoop/conf -Dmapred.job.map.memory.mb=6656"  

Escalado del clústerScale your cluster

Los clústeres de R Server que ya existen en HDInsight pueden escalarse o reducirse verticalmente utilizando el portal.An existing R Server cluster on HDInsight can be scaled up or down through the portal. Puede utilizar el escalado vertical para conseguir capacidad adicional en caso de que necesite albergar tareas de procesamiento de mayor envergadura o puede reducir el escalado de un clúster cuando esté inactivo.By scaling up, you can gain the additional capacity that you might need for larger processing tasks, or you can scale back a cluster when it is idle. Para ver instrucciones sobre cómo escalar un clúster, consulte Administración de clústeres de HDInsight.For instructions about how to scale a cluster, see Manage HDInsight clusters.

Mantenimiento del sistemaMaintain the system

El mantenimiento para aplicar revisiones de SO y otras actualizaciones se realiza en las máquinas virtuales Linux subyacentes de un clúster de HDInsight durante las horas de poca actividad con el objetivo.Maintenance to apply OS patches and other updates is performed on the underlying Linux VMs in an HDInsight cluster during off-hours. Normalmente, el mantenimiento se realiza a las 3:30 (en la hora local de la máquina virtual) todos los lunes y jueves.Typically, maintenance is done at 3:30 AM (based on the local time for the VM) every Monday and Thursday. Las actualizaciones se llevan a cabo de forma que no afecten a más de un cuarto del clúster a la vez.Updates are performed in such a way that they don't impact more than a quarter of the cluster at a time.

Como los nodos principales son redundantes y no todos los nodos de datos se ven afectados, es posible que se ralenticen los trabajos que se estén ejecutando durante ese tiempo.Since the head nodes are redundant and not all data nodes are impacted, any jobs that are running during this time might slow down. No obstante, deben seguir ejecutándose hasta que finalicen.However, they should still run to completion. Cualquier software personalizado o dato local que haya instalado se conserva a través de estos eventos de mantenimiento, salvo que se produzca un error irrecuperable que requiera recompilar el clúster.Any custom software or local data that you have is preserved across these maintenance events unless a catastrophic failure occurs that requires a cluster rebuild.

Opciones del IDE de R Server en un clúster de HDInsightIDE options for R Server on an HDInsight cluster

El nodo perimetral de Linux de un clúster de HDInsight es la zona de aterrizaje de los análisis basados en R.The Linux edge node of an HDInsight cluster is the landing zone for R-based analysis. Las versiones recientes de HDInsight proporcionan una instalación predeterminada de RStudio Server en el nodo perimetral como un IDE basado en explorador.Recent versions of HDInsight provide a default installation of RStudio Server on the edge node as a browser-based IDE. Puede ser más productivo usar RStudio Server como un IDE para desarrollar y ejecutar scripts de R que si se utiliza simplemente la consola de R.Use of RStudio Server as an IDE for the development and execution of R scripts can be considerably more productive than just using the R console.

Además, puede instalar un IDE de escritorio y acceder con él al clúster utilizando un contexto de proceso remoto de MapReduce o Spark.Additionally, you can install a desktop IDE and use it to access the cluster through use of a remote MapReduce or Spark compute context. Las opciones incluyen Herramientas de R para Visual Studio (RTVS) de Microsoft, RStudio y StatET basado en Eclipse de Walware.Options include Microsoft’s R Tools for Visual Studio (RTVS), RStudio, and Walware’s Eclipse-based StatET.

Finalmente, puede acceder a la consola de R del nodo perimetral escribiendo R en el símbolo del sistema de Linux una vez que se haya conectado mediante SSH o PuTY.Lastly, you can access the R console on the edge node by typing R at the Linux command prompt after connecting via SSH or PuTY. Cuando utilice la interfaz de la consola, es conveniente ejecutar un editor de texto para desarrollar scripts de R en otra ventana y cortar y pegar las secciones del script en la consola de R según sea necesario.When using the console interface, it is convenient to run a text editor for R script development in another window, and cut and paste sections of your script into the R console as needed.

PreciosPricing

Los precios asociados a un clúster de HDInsight con R Server están estructurados de forma similar a los precios de los clústeres de HDInsight estándar.The prices that are associated with an HDInsight cluster with R Server are structured similarly to the prices for the standard HDInsight clusters. Se basan en el tamaño de las máquinas virtuales subyacentes en los nodos de nombre, de datos y perimetral, con el extra de un aumento de la hora de núcleo.They are based on the sizing of the underlying VMs across the name, data, and edge nodes, with the addition of a core-hour uplift. Para más información sobre los precios de HDInsight, vea HDInsight Precios.For more information about HDInsight pricing, see HDInsight pricing.

Pasos siguientesNext steps

Para más información acerca del uso de R Server en clústeres de HDInsight, consulte los temas siguientes:To learn more about how to use R Server on HDInsight clusters, see the following topics: