En appelant R comme un service web avec des paramètres de charge et de JSON?
Je suis assez nouveau avec R
. Ce que j'essaie de faire est d'être en mesure de charger une URL à partir d'une autre application (Java) qui va lancer un R
script et de sortie d'un JSON
pour mon application peut travailler avec elle.
Je comprends qu'il ya certains cadres comme shiny
qui agissent comme des serveurs web pour R, mais je ne peux pas trouver de la documentation sur ces cadres sur comment passer des paramètres via l'URL afin de R de pouvoir les utiliser.
Idéalement, j'ai besoin d'appeler une URL comme:
http://127.0.0.1/R/param1/param2
Et que l'URL de l'appel d'un script R qui va utiliser param1
et param2
pour effectuer certaines fonctions et de retourner une JSON
qui je puis lire à partir de mon application.
- Je ne sais pas de repos cadre pour la R. Vous pouvez consulter Rserve et le client java
- Jetez un oeil à opencpu.org
- Google "R script CGI". Quelques solutions. Ce un rforge.net/FastRWeb a soutenu récemment, à partir d'une source de confiance dans le R de la communauté.
- Merci, je vais étudier toutes les solutions proposé.
Vous devez vous connecter pour publier un commentaire.
Si vous ne l'avez pas encore fait, veuillez caisse [DeployR]. Vous pouvez également poser des questions à la DeployR Groupe Google pour obtenir de l'aide.
Pour plein de divulguer je suis l'un des auteurs de DeployR
Aperçu
DeployR est une technologie d'intégration pour le déploiement de R analytics à l'intérieur de web, mobile,desktop,et les applications de tableau de bord ainsi que les systèmes backend. DeployR transforme votre R scripts dans google analytics services web, donc R code peut être facilement exécutées par les applications en cours d'exécution sur un serveur sécurisé.
À l'aide des analyses des services web, DeployR résout également les principaux problèmes d'intégration rencontrés par ceux qui adoptent le R-analytique basée sur parallèlement à l'infrastructure informatique existante. Ces services de le rendre facile pour les développeurs d'applications à collaborer avec des données scientifiques pour intégrer la R analytics dans leurs applications sans aucune R de connaissances en programmation.
DeployR est disponible en deux éditions: DeployR Ouvrir et DeployR Entreprise. DeployR Open est un logiciel gratuit, open source de la solution qui est idéal pour le prototypage, la construction et le déploiement de non-applications essentielles de l'entreprise.
DeployR Entreprise échelles pour les applications critiques de l'entreprise et offre un soutien pour la production de qualité à des charges de travail, ainsi que l'intégration transparente avec les solutions de sécurité d'entreprise telles que l'authentification unique (SSO), Lightweight Directory Access Protocol (LDAP, Active Directory, ou de Modules d'Authentification Enfichables (PAM).
Préfet. DeployR est destinée à la fois les Données Scientifique ainsi que le développeur de l'application qui pourrait ne pas savoir R.
DeployR est-ce à quitter bien. Pour faciliter la communication entre votre application
et le DeployR serveur (qui sera à l'exécution de votre R) il y a le DeployR Client bibliothèques.
En fonction de vos besoins, DeployR a out-of-the-box " client de la bibliothèque du concours:
https://github.com/deployr/java-client-library
https://github.com/deployr/dotnet-client-library
https://github.com/deployr/js-client-library
DeployR prend également en charge la RBroker Cadre
si votre cas d'utilisation ou de l'exécution de prévoir un volume élevé de la charge de travail ou la nécessité pour les périodiques réguliers ou traitement par lots.
DeployR agit comme votre moteur d'analyse au travers de son API. Fondamentalement, il pense que
transformer votre R scripts en sécurité analytique des services web pour être consommés comme tout
autres services web.
Passer des paramètres
Passer des paramètres à un Script R dans DeployR est facile, mais vous devez comprendre que vous êtes de passage de paramètres à un Script R à partir d'une langue qui n'est pas R. en tant Que tel, il est certain "Codage de Données' qui doit être fait. Par exemple, transformer votre Java Chaîne dans un
R character
ou votre Java booléen à unR logical
...Le DeployR de la bibliothèque du Client ou RBroker rend cela facile.
Il semble que vous êtes à l'aide de Java, donc, d'abord, examiner la Java tutoriel java-exemple-client-notions de base
https://github.com/deployr/java-example-rbroker-basics
pour vous donner le contexte, puis extraire le nombre de Java exemples sous java-exemple-client-données-iohttps://github.com/deployr/java-example-client-data-io
.L'exemple de la source est totalement disponibles, ce qui devrait vous donner tout ce dont vous avez besoin
afin de comprendre comment faire des e/S de base à partir de votre application à la DeployR serveur pour votre R analytics.
Je suggère d'utiliser le DeployR Client bibliothèques pour votre communication comme décrit ci-dessus, il est là pour ça.
Comme toujours poser des questions à la DeployR Groupe Google
https://groups.google.com/forum/#!forum/deployr
pour obtenir de l'aide.Vous avez quelques options pour ce faire, à mon humble avis OpenCPU est une belle.
C'est le plus simple open source pour mettre en œuvre un serveur web de fournir des R calcul d'un service REST.
Le créateur de OpenCPU est le même auteur de jsonlite paquet, et vous pouvez facilement obtenir et passer json paramètres avec OpenCPU, comme vous pouvez le voir ici.
Une autre façon de mettre en œuvre REST API de service web dans R est un plombier paquet (anciennement rapière). Il utilise la fonction de la décoration de l'approche au sein des commentaires spéciaux:
Alors l'invoquer: