Pig 0.12 引入了流式 python UDF,但它们是实验性的,因此它们需要 Hadoop 1。
http://pig.apache.org/docs/r0.12.1/udf.html#python-udfs
但是,Amazon 提供的唯一可以使用 pig 0.12 的 AMI 是 AMI 3.1.0,它使用的是 hadoop 2.4,而不是 Hadoop 1:
http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-hadoop-version.html
因此,唯一支持正确版本的 pig 的 AMI 不支持正确版本的 hadoop。有没有办法让流式 UDF 在 EMR 上运行?
请您参考如下方法:
您可以使用引导操作在 EMR 上安装您自己的 Pig 版本。您需要在 AMI 版本(2.4.5?)上创建一个没有安装 Pig 的集群 - 然后安装您喜欢的 Pig 版本 (0.12)
