【发布时间】:2019-04-09 14:27:09
【问题描述】:
是否存在任何内置库或者是否需要实现自定义库?
我试图在这里查看,但不知道如何从这里开始:Bigtable connection pool
我已经尝试了下面的代码,但不确定如何从这里开始:
import com.google.cloud.bigtable.config.BigtableOptions;
import com.google.cloud.bigtable.config.CredentialOptions;
import com.google.cloud.bigtable.grpc.BigtableSession;
import com.google.cloud.bigtable.grpc.io.ChannelPool;
import com.mahindra.digisense.config.AppConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.security.GeneralSecurityException;
@Component
public class BigTableConnectionPoolingExample {
@Autowired
private AppConfig.BigTableConfig bigTableConfig;
private void bigTableConnectionPooling() throws IOException, GeneralSecurityException {
CredentialOptions credentialOptions = CredentialOptions.jsonCredentials(new FileInputStream(new File(bigTableConfig.getCredentialsJson())));
BigtableOptions.Builder builder = new BigtableOptions.Builder();
builder.setCredentialOptions(credentialOptions);
ChannelPool.ChannelFactory channelFactory = (ChannelPool.ChannelFactory) BigtableSession.createChannelPool(bigTableConfig.getInstanceId(), builder.build());
ChannelPool channelPool = new ChannelPool(channelFactory,3);
}
}
这里是another Stack Overflow question,没有答案。
【问题讨论】:
-
你不应该做任何与
ChannelPools相关的事情。您也可能不应该直接使用BigtableSession。如果你不想使用 HBase 客户端,我建议使用github.com/googleapis/google-cloud-java/tree/master/…。如果您确实想使用BigtableSession,请在github.com/googleapis/cloud-bigtable-client 上提出问题,我们可以在那里讨论您的需求。 -
好的 - 谢谢你的链接。我去看看。
-
@SolomonDuskis,我最终使用了github.com/googleapis/cloud-bigtable-client,而不是github.com/googleapis/google-cloud-java/tree/master/…,因为有人提到它还没有准备好生产..
-
但我不清楚,如果我需要创建
com.google.cloud.bigtable.data.v2.BigtableDataClient池或一个要使用的对象,或者为每个请求创建一个并在最后关闭。 -
我们将很快更改github.com/googleapis/google-cloud-java/tree/master/… 上的文档,说明它已准备好生产。我们将很快摆脱
com.google.cloud.bigtable.data.v2.BigtableDataClient。如果您想使用com.google.cloud.bigtable.data.v2.BigtableDataClient,请创建一个BigtableSession并调用getDataClient()。
标签: java java-8 hbase bigtable google-cloud-bigtable