2014-12-27 36 views
0

如果有人能夠在Pig中UDF的上下文中解釋Jython的限制,那很好。以下是關鍵問題:在Pig中UDF的上下文中對Jython的限制

  • 它可以在Hadoop 1.x和YARN中運行嗎?
  • 它支持Python 3.4嗎?從python UDF version with Jython/Pig,我想這不太可能,但這個職位是一年以上。
  • 支持模塊有沒有限制?

從本質上講,我想看看它是否有意義的使用Jython的(最好在Python 3)

謝謝!

回答

1

Here是FAQ的鏈接。我無法回答關於Hadoop或紗線的問題。

Jython不支持Python 3.最新版本支持python 2.7.0。

許多python的科學模塊都是用C或Cython編寫的。例如,SciPy將Fortran項目BLAS用於線性代數。編寫C代碼是Python和BLAS之間的橋樑。 Java字節碼與本地二進制文件不兼容。

有一個項目JyNI。位於here。它試圖彌合差距。我不知道它有多成熟。

根據jython的網頁,他們試圖使jython與python擴展api兼容。截至目前,還沒有正式發佈,我認爲它仍然是阿爾法。

從Java 8開始,Java沒有將本地代碼集成到Java程序的方法。我假設他們正在做一些駭人的事情來實現它。

+0

Java *確實*具有集成本機代碼的官方方式。它被稱爲JNI(http://docs.oracle.com/javase/8/docs/technotes/guides/jni/)。 基於此,有像JNA或SWIG這樣的工具可以讓使用更舒適。 Graal Java VM還具有GNFI特性,它是JNI的真正替代品,據說效率更高(但僅限於Graal-VM)。 – stewori 2015-06-02 01:51:18