2014-12-27 41 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