我试图使用Linux命令行工具'Poppler'从pdf文件中提取信息。我想对几个Spark worker上的大量pdf文件这样做。我需要使用poppler,而不是PyPDF或类似的东西。
有谁知道如何在工人身上安装Poppler吗?我知道我可以从python内部执行命令行调用,并获取输出(或通过Poppler库获取生成的文件),但是我如何将它安装在每个工作器上?我使用spark 1.3.1 (databricks)。
谢谢!
正确的方法是在初始设置所有worker时将其安装到它们上,就像安装任何其他Linux应用程序一样。正如您已经指出的那样,您可以在Python中执行shell操作。
如果这不是一个选项,那么您可以使用addFile
方法将文件发送到所有的worker: http://spark.apache.org/docs/latest/api/python/pyspark.html#pyspark.SparkContext.addFile
注意后一种方法不考虑依赖关系(库等)。