Tutte le date che ho manipolato nel modulo Execute R in Azure Machine Learning scrivono come vuote nell'output, ovvero, queste esistono colonne di date, ma non c'è alcun valore in quelle colonne.Come definire il fuso orario corrente in Azure ML per la funzione strptime, fuso orario sconosciuto 'localtime'
Le variabili di origine che contengono informazioni di data che sto leggendo nel frame di dati hanno due diversi formati di data. Essi sono i seguenti:
usage$Date1=c(‘8/6/2015’ ‘8/20/2015’ ‘7/9/2015’)
usage$Date2=c(‘4/16/2015 0:00’, ‘7/1/2015 0:00’, ‘7/1/2015 0:00’)
ho controllato il file di log in AML, e AML non riesce a trovare il fuso orario locale. Gli avvisi del file di registro in particolare: [ModuleOutput] 1: In strptime (x, format, tz = tz): [ModuleOutput] impossibile identificare il fuso orario corrente 'C': [ModuleOutput], impostare la variabile di ambiente 'TZ' [ ModuleOutput] [ModuleOutput] 2: In strptime (x, format, tz = tz): sconosciuto fuso orario 'localtime'
ho fatto riferimento ad un'altra risposta per quanto riguarda il fuso orario impostazione predefinita per strptime qui
unknown timezone name in R strptime/as.POSIXct
Ho cambiato il mio codice per definire esplicitamente il tempo dell'ambiente globale variabile.
Sys.setenv(TZ='GMT')
####Data frame usage cleanup, format and labeling
usage<-as.data.frame(usage)
usage$Date1<-as.character(usage$Date1)
usage$Date1<-as.POSIXct(usage$Date1, "%m/%d/%Y",tz="GMT")
usage$Date1<-format(usage$Date1, "%m/%d/%Y")
usage$Date1<-as.Date(usage$Date1, "%m/%d/%Y")
usage<-as.data.frame(usage)
usage$Date2<- as.POSIXct(usage$Date2, "%m/%d/%Y",tz="GMT")
usage$Date2<- format(usage$Date2,"%m/%d/%Y")
usage$Date2<-as.Date(usage$Date2, "%m/%d/%Y")
usage<-as.data.frame(usage)
il problema persiste -come risultato AzureML non scrive queste variabili fuori, piuttosto scrivendo queste colonne come spazi vuoti.
(. Questo codice funziona in studio R, dove presumo l'ora locale viene preso dal sistema)
Dopo aver letto due post di blog su questo problema, sembra che Azure ML non supporta alcuni formati di ora Data:
http://www.mikelanzetta.com/2015/01/data-cleaning-with-azureml-and-r-dates/
così ho cercato di convertire in POSIXct prima di inviarlo nel flusso di output, che ho fatto nel modo seguente: tenantusage $ Data1 = as.POSIXct (tenantusage $ Date1, "% m /% d /% Y", tz = "EST5EDT"); tenantusage $ Date2 = as.POSIXct (tenantusage $ Date2, "% m /% d /% Y", tz = "EST5EDT");
Ma incontrare lo stesso problema. Le informazioni in queste variabili si rifiutano di scrivere sull'output. Le colonne Date1 e Date2 sono vuote.
Si prega di avvisare!
grazie
Ottenere lo stesso errore, non è possibile trovare alcuna soluzione alternativa – SochiX