在hive查询中使用map / reduce java类

时间:2011-11-24 05:52:09

标签: hive

我读到,在配置单元查询中,我们可以使用map / reduce脚本。

我们可以在Hive查询中使用java map / reduce类吗?如果是的话,请你提供样品。

由于 MRK

3 个答案:

答案 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'