我只是想知道这是否可行。我已经安装了 R 服务(数据库内)和 SQL Server 2016(在 SP1+ CU1 打补丁)。
我注意到 R 服务版本是 3.2.2,您可以运行以下脚本来检查
declare @v varchar(100);
exec sp_execute_external_script @language=N'R'
, @script = N'v <- toString(getRversion())'
, @params = N'@v varchar(100) output'
, @v = @v out;
print @v;
-- returns 3.2.2
Run Code Online (Sandbox Code Playgroud)
但我也安装了 Microsoft R 客户端,并注意到它的 R 服务引擎版本为:3. 3 .2。
所以我的问题是“不SQL Server R的服务(在数据库)现在支持研究第3版3 0.2?” 如果是这样,我该如何升级它?如果没有,我想我会等到 MS 发布更新。
我阅读了MSDN,并在其中提到使用sqlBindR.exe
来进行更新,但是此工具仅适用于我没有安装的 Windows R 服务器,我什至怀疑如果我安装了它,它是否会更新数据库内R服务。
我正在尝试启动 LaunchPad 服务,但无法启动:
错误 1053:“服务没有及时响应”
我一直在阅读这在 RC 版本中很常见,但我正在运行 SQL Server 2016 SP1 + CU3。
我尝试将SQLRUserGroup添加到LogOnLocally用户权限分配。该服务仍未运行。
此外,没有登录文件夹 C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log\ExtensibilityLog
我试图更改日志文件夹的安全性,包括NT Service\MSSQLLaunchpad
和SQLRUserGroup
条目。
当 SQL Server 使用 SQL Launchpad 启动外部运行时(例如 R 或 Python)时sp_execute_external_script
,外部运行时进程的生命周期是多少?
每个sp_execute_external_script
脚本执行是否都有自己的外部流程实例,或者外部流程是否会一直存在,直到它在一段时间内处于非活动状态(例如,如果我使用相同的 SQL 会话执行以相同语言编写的另一个脚本,则现有流程可能会被重用) )?
postmaster
与尝试插入低容量行的客户端连接相关的子进程的 CPU 使用率较高(导致插入的行比使用相同行慢 25 倍)。COPY ... FROM STDIN
尝试识别系统/数据库配置以缓解上述较差的插入性能。我正在使用多线程 R 脚本来处理数据并将结果插入到 PostgreSQL 数据库中。我对 R 脚本进行了分析,以隔离调用的性能瓶颈DBI::dbBind()
,同时用于top
监视postmaster
与子 R 线程打开的连接关联的子进程(请参阅下面的代码)。在 INSERT 期间,R 子进程大部分时间处于空闲状态(大概是在等待调用返回DBI::dbBind()
),而postmaster
子进程在其运行大约 2-3 分钟的时间内消耗了 95-100% 的 CPU。
uname -a
:Linux localhost 4.16.6-202.fc27.x86-64 #1 SMP Wed May 2 00:09:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
/proc/cpuinfo
: 16 个处理器 ( Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz
)ulimit …
postgresql performance configuration r postgresql-10 postgresql-performance
我目前正在使用SQL Server 2016 SP
标准版并想安装 R 服务。在文件说,一个独立的安装只允许在企业(Machine Learning Server (Standalone)
)。
另外,我发现了一个帖子,那个人说在标准上我不能使用并行操作并且有内存限制:
谁能说出确切的内存/处理器限制是什么?
我需要诸如使用大量 R 计算之类的细节,现在的测试表明,标准版中的实现并没有像我希望的那样工作。