Мне нужно выполнить код R как веб-сервис, поэтому я попробовал MLS, и он работает нормально. Проблема в том, что пакеты слишком старые, и мне нужны функции, которые не реализованы в старых пакетах. Я спросил об этом в службе поддержки Microsoft, и у них нет данных для обновления, а новые пакеты требуют обновления.
Как я могу это сделать, используя другие ресурсы, например webapi вместо MLS? Для всех найденных мной решений на компьютере должен быть установлен R, что является проблемой при создании лазурного веб-приложения, функции или API. Мне нужна конечная точка для прогнозирования по запросу.
Проблема Databrick в том, что мне нужно обслуживание по запросу.
Вы должны иметь возможность сделать это с помощью Databricks, запустив записную книжку как задание по требованию.
Я нашел один способ выполнить R в функциях Azure. решения копировать R-Portable в https://sourceforge.net/projects/rportable/ разархивируйте его с помощью PowerShell и создайте процесс в коде функции. В моем случае я использовал код:
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.WorkingDirectory = @"D:\home\site\tools\R-Portable\App\R-Portable\bin\";
process.StartInfo.FileName = @"D:\home\site\tools\R-Portable\App\R-Portable\bin\Rscript.exe";
process.StartInfo.Arguments = "-e \"print('Hello world')\"";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.Start();
string outputt = process.StandardOutput.ReadToEnd();
string err = process.StandardError.ReadToEnd();
process.WaitForExit();
В вашем сценарии вы можете получить доступ к файлам csv или записать, а после функции прочитать и вернуть этот файл.
Возможно, Azure Databricks может оказаться жизнеспособным выбором?