Сценарий, который правильно выполняется при ошибках RStudio в SQL Server 2016 Management Studio. Подробности окружающей среды ниже.
RStudio
platform: x86_64-w64-mingw32
arch: x86_64
os: mingw32
system: x86_64, mingw32
status:
major: 3
minor: 4.3
year: 2017
month: 11
day: 30
svn rev: 73796
language: R
version.string: R version 3.4.3 (2017-11-30)
nickname: Kite-Eating Tree
SSMS
Product: Microsoft SQL Server Enterprise (64-bit)
Operating System: Microsoft Windows NT 6.3 (9600)
Platform: NT x64
Version: 13.0.5216.0
Вот код, который я пытаюсь выполнить.
EXECUTE sp_execute_external_script
@language = N'R',
@script = N'
library(RODBC)
library(jsonlite)
library(purrr)
library(tidyr)
library(dplyr)
library(lubridate)
connectionString <- odbcConnect(dsn="KMhivehttp")
goldInstrumentApps <- sqlQuery(connectionString, "select CAST(instrumentapps_event.event AS varchar(8000)) AS event,
instrumentapps_event.load_ts,
instrumentapps_event.data_dt from dmfwk_gold.instrumentapps_event")
goldInstrumentDF <- data.frame(goldInstrumentApps)
formattedDF <- transform(goldInstrumentDF, instrumentapps_event.load_ts =
ymd_hms(as.character(goldInstrumentDF$instrumentapps_event.load_ts)))
'
Вот некоторая информация о данных, которые я обрабатываю:
str(goldInstrumentDF)
Возвращает:
STDOUT сообщение (я) из внешнего скрипта: 'data.frame': 411 obs. из 3
переменные: $ event: фактор с 408 уровнями
"{\" Время \ ": \" 2018-11-12T14: 45: 01.133Z \ "\ "приложения \": \ "com_ldo_suchma_loma_cw_prod-salesorderreturnsservice_1.1.6 \", \ "глагол \":" |
усечено , ..: 1 18 27 29 28 22 8 16 17 24 ... $ load_ts: Коэффициент с 42 уровнями "2018/11/13 19:20:58", ..: 1 1 1 1 1 1 1 1 1 1 ... $ data_dt:
Коэффициент с 33 уровнями " HIVE_DEFAULT_PARTITION ", ..: 2 3 3 3 3 3 3 3 3 3
3 ...
Это код, вызывающий ошибку:
formattedDF <- transform(goldInstrumentDF, instrumentapps_event.load_ts =
ymd_hms(as.character(goldInstrumentDF$instrumentapps_event.load_ts)))
Это ошибка:
Ошибка в data.frame (список (событие = c (1L, 18L, 27L, 29L, 28L, 22L, 8L,
16L,: аргументы подразумевают различное количество строк: 411, 0 Вызовы:
источник ... transform -> transform.data.frame -> do.call -> data.frame
Ошибка в ScaleR. Проверьте вывод для получения дополнительной информации. Ошибка в
eval (expr, envir, enclos): ошибка в ScaleR. Проверьте вывод на
Дополнительная информация. Вызовы: источник -> withVisible -> eval -> eval ->
.Call Выполнение остановлено. Предупреждение: закрытие неиспользуемого дескриптора RODBC 1
.
Что я делаю не так?