org.apache.hadoop.hbase.client.Connection在驱动程序中创建,可从mapreduce作业中的Reducer访问

org.apache.hadoop.hbase.client.Connection在驱动程序中创建,可从mapreduce作业中的Reducer访问,mapreduce,hbase,Mapreduce,Hbase,在mapreduce作业中,我需要使用get从HBase表中获取一些行。 我想这会很快。即使这样做,也可以从一个减速机内的HBase中获得。 但我想避免的是在减速器内部创建连接。而不是那样,创建一个连接 connection = ConnectionFactory.createConnection(conf); 把它放在驱动器里的某个地方,这样就可以从减速器上取下它 我看到在org.apache.hadoop.conf.Configuration对象中,您只能通过setParameter方法放

在mapreduce作业中,我需要使用get从HBase表中获取一些行。 我想这会很快。即使这样做,也可以从一个减速机内的HBase中获得。 但我想避免的是在减速器内部创建连接。而不是那样,创建一个连接

connection = ConnectionFactory.createConnection(conf);
把它放在驱动器里的某个地方,这样就可以从减速器上取下它

我看到在org.apache.hadoop.conf.Configuration对象中,您只能通过setParameter方法放置字符串或字符串数组

有没有其他方法可以只设置一次HBase连接,以便从reduce阶段就可以访问它?
谢谢

您应该了解,如果指定,减速机以并行方式运行。相反,为什么不在驱动程序中读取所需的数据块并将其放入缓存以供reducer/mapper使用呢?这就是我最后所做的。谢谢。