所以我试图遵循这个笔记本并让它在 databricks 笔记本上工作:https://github.com/JohnSnowLabs/spark-nlp-workshop/blob/master/jupyter/ocr-spell/OcrSpellChecking.ipynb ;但是,安装完所有软件包后,当我到达
时,我仍然陷入困境{ // for displaying
val regions = data.select("region").collect().map(_.get(0))
regions.foreach{chunk =>
println("---------------")
println(chunk)}
}
错误消息是:
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 3.0 failed 4 times, most recent failure: Lost task 0.3 in stage 3.0 (TID 51, 10.195.249.145, executor 4): java.lang.NoClassDefFoundError: Could not initialize class net.sourceforge.tess4j.TessAPI
有人知道为什么吗?非常感谢!
最佳答案
要使用 Spark NLP OCR,您需要按照文档所述安装 Tesseract 4.x+。在集群中,您必须在所有节点上都有此功能。但是,如果您只处理 PDF 而不是扫描图像,您可能可以跳过 Tesseract 4.x+ 安装:
import com.johnsnowlabs.nlp.util.io.OcrHelper
val ocrHelper = new OcrHelper()
val df = ocrHelper.createDataset(spark, "/tmp/Test.pdf")
更新:Spark OCR 有一个新文档以及 Databricks 的特殊说明:
关于apache-spark - 无法在 databricks 上运行 johnsnow OCR 笔记本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53862505/