我读到,在配置单元查询中,我们可以使用map / reduce脚本。
我们可以在Hive查询中使用java map / reduce类吗?如果是的话,请你提供样品。
由于 MRK
答案 0 :(得分:1)
您可以按照@Moiz Arafat提供的Link开始编写自定义Mapper和Reducer。
之后再制作一个罐子(比如myjar.jar)。
使用此类自定义Mapper和Reducer需要hive-contrib.jar,它可以在您的配置单元安装的lib文件夹中找到。
在运行使用这些Mapper / Reducer的查询之前,您应该将这两个jar添加到配置单元。
hive> add file path/to/hive-contrib.jar;
hive> add file path/to/myjar.jar;
请使用添加文件而不是添加jar 。
现在您可以编写如下查询:
hive> FROM (
FROM src
MAP inkey, inval
USING 'java -cp myjar.jar:hive-contrib.jar com.myco.mymr.MyMapper'
AS k, v
CLUSTER BY k) mapout
REDUCE k, v
USING 'java -cp myjar.jar:hive-contrib.jar com.myco.mymr.MyReducer'
答案 1 :(得分:0)
参考网址。它应该有所帮助。 Link
答案 2 :(得分:0)
假设您已经创建了“Mapper”和“Reducer”类,并将它们放在“mymr.jar”jar文件中。你可以通过流媒体使用它们:
FROM (
FROM src
MAP inkey, inval
USING 'java -cp myjar.jar
com.myco.mymr.MyMapper'
AS k, v
CLUSTER BY k) mapout
REDUCE k, v
USING 'java -cp myjar.jar
com.myco.mymr.MyReducer'