我正在学习我希望/正在尝试制作的与篮球相关的数据网络应用程序的完整堆栈开发。考虑到我的技术技能,我有一个与解决我的数据问题的最佳方法有关的问题。
几个月前,我使用R创建了following R Shiny App。这个应用程序的堆栈/非常不完整的后端是:
为了扩展这个应用程序并使其更好,我一直在学习完整的堆栈javascript开发,我即将开始编写这个Shiny应用程序作为React应用程序。
我目前的挑战/考虑是如何管理我的React应用程序中的数据。特别是:
我的scraper.R文件使用dplyr和其他R库执行 A TON 数据操作。从MySportsFeed的API提供的表单中获取数据,到我的Shiny App所需的表单,对于我的所有图表和图表,都是相当多的。
话虽如此,我想继续使用R来调用MySportsFeed API并格式化数据。我当然希望取消CSV文件,但这并不容易。 8个CSV文件中的每一个都包含对MySportsFeed API的数百次调用的结果。 (对MySportsFeed的每个API调用可能会给我1个NBA数据游戏,而CSV文件已经更新了1000个NBA数据游戏)。
我相信我想用(b)将数据从CSV文件中读取到R Shiny应用程序中,(b)使用托管的数据源调用我自己的API端点(我可以在R或Javascript中创建API端点) ,R的管道工对此有好处)
我相信我想用(b)将数据存储在mongo数据库中来替换(a)将数据存储在CSV文件中,该数据库可轻松插入React应用程序。
我的问题是:是否有一种直观的方式将以下内容连接在一起:
提前致谢。
编辑 - 几个月前,我在一个RShiny应用程序上发帖here,我想将其变成一个React应用程序。
答案 0 :(得分:3)
我认为你应该研究一下OpenCPU - 它可以为您提供大部分内容(您的R代码的HTTP API),而且它的可扩展性只是闪亮服务器专业版的一小部分。它需要将代码转换为R包。
可以通过mongolite
库连接到MongoDB,但除非由于某种原因需要非结构化数据存储(不确定您所抓取的源是否稳定),否则SQL数据库可能更容易处理数据库性能drop(我发现MongoDB中的调试性能问题更难)。
我无法对React发表评论,因为我对JS几乎一无所知,但显然人们已将OpenCPU与ReactJS结合起来:https://github.com/sdeboudt/reactr