是hbase的新手。我想对不同的表执行2次扫描操作。 这样我就可以返回遗传函数进行扫描,并在scala中结束连接。
fuctionhbasescan(表名1,扫描字段) fuctionhbasescan(Tablename2,scanfield)
当我为表名1调用该函数时,它可以正常工作并返回结果。 但是当我为表名2调用相同的函数时,它说连接已关闭。
在scala中是否仅为该实例建立了一个连接?我们需要在驱动程序的进程结束时关闭连接吗?
请帮助我了解连接过程及其工作原理。
注意:(HConnectionManager)连接是使用connectionfactory.createconnection然后建立connection.getTable建立的。
答案 0 :(得分:0)
根据所提供的信息不确定,但是第一个功能可能已关闭连接。您可以
isClosed
是否已记录
https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Connection.html
并根据需要使用createConnection
创建另一个连接(请参见
https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/ConnectionFactory.html)close
调用移到内部函数调用之外,然后等待两次扫描完成,以关闭连接。