我是猪脚本的新手,想知道我能用它做什么。我知道 pig 更像是 sql,它可以帮助您获取数据并对其进行操作,但是有什么方法可以调用外部服务或 API 来获取数据并与从 pigStorage() 或 cassandraStorage() 获取的数据一起处理它?
问问题
508 次
1 回答
0
Pig 与其说是 SQL 的对等体,不如说它是一种脚本语言,它悄悄地为许多常见的 mapreduce 模式提供抽象……但这令人毛骨悚然。如果您想做诸如调用外部服务之类的事情,那么这样做的方法是编写(或重用)一个 eval UDF 函数。有多种 UDF,它们本质上是 Java 的出口,可让您以任何您认为合适的方式编写函数。
不过要小心。为每个元组执行一次对外部服务的调用可能会花费太多时间。如果外部调用的数量很少,那么 eval UDF 函数可能会起作用。如果您想对大量元组进行这些调用,请考虑使用 InputFormatType 和 LOAD UDF 一次读取所有外部数据,然后使用常规 pig 运算符和语句将其与原始数据连接起来。
于 2013-07-06T00:54:02.923 回答