HBaseConnectionFactory.java 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package com.primeton.dsp.datarelease.data.bdata;
  2. import com.primeton.dsp.datarelease.server.model.DspHbaseResource;
  3. import lombok.extern.slf4j.Slf4j;
  4. import org.apache.commons.lang.StringUtils;
  5. /**
  6. *
  7. * 根据参数不同,生成不动的测试连接实例
  8. *
  9. * <pre>
  10. *
  11. * Created by zhaopx.
  12. * User: zhaopx
  13. * Date: 2020/4/21
  14. * Time: 18:02
  15. *
  16. * </pre>
  17. *
  18. * @author zhaopx
  19. */
  20. @Slf4j
  21. public class HBaseConnectionFactory {
  22. /**
  23. * 生成不同的测试实例
  24. * @return
  25. */
  26. public static HBaseConnectionService getHBaseInstance(DspHbaseResource hbaseResource) {
  27. String authUser = hbaseResource.getAuthUser();
  28. if(StringUtils.isBlank(authUser) || "noauth".equalsIgnoreCase(hbaseResource.getAuthType())) {
  29. // 无需认证
  30. return new SimpleHBaseConnectionServiceImpl(hbaseResource);
  31. } else if("kerberos".equalsIgnoreCase(hbaseResource.getAuthType())){
  32. // kerberos 认证
  33. return new Krb5HBaseConnectionServiceImpl(hbaseResource);
  34. } else {
  35. //fi 华为
  36. return new FiHBaseConnectionServiceImpl(hbaseResource);
  37. }
  38. }
  39. }