2017-11-23 14 views
0

각 실행마다 elasticsearch에 25-30,000 개의 문서를로드하는 R 스크립트 (script.R)가 있습니다.Rscript 오류 400

요점은 Rstudio에서 올바르게 실행할 수 있다는 것입니다. 내가 RSCRIPT를 사용하여 명령 줄에서 실행하려고 할 때 그러나, 나는 항상 같은 오류가 발생합니다 :

Error: 400 - failed to parse 
In addition: There were 50 or more warnings (use warnings() to see the first 50) 
Execution halted 

이상한 일이 오류가 발생하면 탄성 문서 (때로는 1.5K의 다른 양이로드되는 것입니다, 때로는 3K 등). 그래서 항상 같은 시간에 발생하지 않는 것 같습니다.

당신은 무슨 일이 일어나고 있는지 알고 있니? 이것은 Rscript 실행입니다.

/usr/bin/Rscript /Rdir/script.R 

고마워요!

+0

같은 시스템에서 실행됩니까? RStudio에서 cmdline을 실행할 때 환경 변수를 동일하게합니까? 동일한 계정에서 실행되고 있습니까? cmdline의 differerent 디렉토리에 있고'.Rprofile' /'.Renviron' 파일을 덮어 쓰는 가정 프로젝트/폴더가 있습니까? 어떤 기본적인 디버깅 시스템과 더 많은 상세 정보가 시스템을 이해하는 것은 도움이 될 것입니다. 이는 컴퓨팅 환경 질문이며 실제로 R 프로그래밍 질문이 아니기 때문에 유용 할 것입니다. – hrbrmstr

+0

네 말이 맞아, 나는 다른 시스템에서 RStudio를 실행한다. 그러나 환경 변수는 동일하며 실행은 .Rprofile/.Renviron 파일을 덮어 쓰지 않고 동일한 프로젝트에서 수행됩니다. –

+0

불가능합니다. 당신이 고려하지 않은 시스템/환경의 차이가 있습니다. R 환경이나 프로파일이 아니라면 메모리 제약 조건, 다른 위치에있는 다른 API 키 또는 다른 것. 또는 아마도 R & R 패키지 버전이 다를 수도 있습니다. 두 시스템에서 out Sys.getenv()와 함께 sessionInfo()를 덤프하고 자세한 비교를 수행해야합니다. (스크립트 컨텍스트와 일반적으로는) – hrbrmstr

답변

0

마지막으로 elastic :: docs_create 대신 elastic :: docs_bulk 함수를 사용하여 문제를 해결했습니다. 엄청난 양의 문서를 신축성있게 다루는 것이 더 효과적 인 것처럼 보입니다.