![](/img/trans.png)
[英]Getting java.io.IOException: Is a directory: on running a web app with jboss server on linux OS
[英]Getting java.io.IOException errors running an R scraper script
我有以下示例R
刮板脚本(我不能使用实际的网站):
#!/usr/bin/Rscript
library(RCurl)
library(httr)
library(rvest)
library(lubridate)
library(stringi)
new_files <- Map(function(ln, y, bn) {
fun1 <- html_session(URLencode(
paste0("https://example.com", ln)),
config(ssl_verifypeer = FALSE))
if(y == Sys.Date()) {writeBin(fun1$response$content, bn)}
else ("He's dead, Jim")
return(fun1$response$content)
}, links, dates, names)
我正在通过Apache NiFi( ExecuteProcessor
处理器)在docker容器中运行此脚本。 但是,当我将其设置为运行时,会不断出现此错误:
Process execution failed due to java.io.IOException: Stream closed: java.io.IOException: Stream closed
java.io.IOException: Stream closed
at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:170)
at java.io.BufferedInputStream.read(BufferedInputStream.java:336)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at java.io.FilterInputStream.read(FilterInputStream.java:107)
at org.apache.nifi.processors.standard.ExecuteProcess$4.call(ExecuteProcess.java:367)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
我正在阅读有关在关闭流之前将其关闭的答案 。 当脚本在我的本地计算机上/在RStudio中运行正常时,我不知道为什么这会引发封闭的异常错误。
它在Docker容器中执行后立即混乱。 与Map
函数中的if / else语句有关吗? 我不知道-或与lubridate
包装有关。
正如几个人已经提到的那样,您正在尝试做一些复杂的事情,需要在多个领域进行故障排除。 我将分享一些步骤来解决此问题,但是请考虑以下几点:
您正在使用相当复杂的解决方案来解决可能是一个简单的问题。 您可以通过“我要抓取网站”或“我要运行脚本”中的一种方式来考虑问题吗?
在这种情况下,有个好消息,NiFi可以使用ExecuteScript处理器轻松处理脚本,它目前支持以下语言:
根据我的个人喜好,我会选择python,您将轻松找到许多有关如何抓取网站的示例。
如果以上还不够,请检查以下步骤:
ls
ls
深入探讨所有可能性可能有点太多,但请进行检查并希望答案是明确的,或者至少可以将重点放在故障排除上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.