我刚刚开始探索Apache Tika。 我想检查一下Apache Tika后台程序的工作方式。
我尝试在独立计算机上执行Tika,但想知道它在Cloudera Cluster实时环境中如何工作。
示例:我有一个200页的pdf内容,并使用Tika提取文本或功能。 Tika是使用单个节点执行此过程(即将一个文件视为一个块)还是使用多个节点执行?
我只是将Tika进程与Mapreduce进行比较,并了解Tika是否也在逐块处理文件。
请帮助我了解此后台流程。
我现在没有代码。
请帮助我了解此后台流程在节点方面的作用。
答案 0 :(得分:1)
我想检查apika tika后台程序如何工作。
Apache Tika在Java的TikaInputStream类的顶部使用抽象InputStream。这意味着以字节流的形式读取文件。没有障碍,没有任何幻想!
我尝试在独立计算机上执行Tika,但想知道它在Cloudera Cluster实时环境中如何工作。
示例:我有200页的pdf内容,并使用Tika提取了 文字或功能。 Tika是否将使用单个节点执行此过程 (即将一个文件视为一个块)或将使用 多个节点?
我只是将Tika流程与Mapreduce进行比较,并了解Tika是否也 逐块处理文件。
由于您专门提到了Map-Reduce,因此可以在here中找到在CDH群集上使用Apache Tika的行为。基本上,在CDH上,您的MR应用程序将从HDFS中读取文件(使用块方法),并使用Apache Tika库处理拆分,就像您在独立基础上一样。请注意,将根据输入拆分(HDFS底层)拆分处理。一个有效的例子可以在这里找到: https://github.com/ppruski/tika-hadoop-mapreduce
因此,您绝对可以使用CDH群集来达到并行处理的效率,因为MR或Spark都使用相同的方法来计算输入拆分。