@Override
    public JsonObject buildJdbcConfig() {
        ImpalaSideTableInfo impalaSideTableInfo = (ImpalaSideTableInfo) sideInfo.getSideTableInfo();

        try {
            if (impalaSideTableInfo.getAuthMech() == 1) {
                String keyTabFilePath = impalaSideTableInfo.getKeyTabFilePath();
                String krb5FilePath = impalaSideTableInfo.getKrb5FilePath();
                String principal = impalaSideTableInfo.getPrincipal();
                ugi = KrbUtils.loginAndReturnUgi(principal, keyTabFilePath, krb5FilePath);
            }
        } catch (Exception e) {
            throw new SuppressRestartsException(
                    new Throwable("impala login with kerberos error. cause by: " + e.getMessage()));
        }

        JsonObject impalaClientConfig = new JsonObject();
        impalaClientConfig.put("url", getUrl())
                .put("driver_class", IMPALA_DRIVER)
                .put("max_pool_size", impalaSideTableInfo.getAsyncPoolSize())
                .put("provider_class", DT_PROVIDER_CLASS)
                .put("idle_connection_test_period", 300)
                .put("test_connection_on_checkin", DEFAULT_TEST_CONNECTION_ON_CHECKIN)
                .put("max_idle_time", 600)
                .put("preferred_test_query", PREFERRED_TEST_QUERY_SQL)
                .put("idle_connection_test_period", DEFAULT_IDLE_CONNECTION_TEST_PEROID)
                .put("test_connection_on_checkin", DEFAULT_TEST_CONNECTION_ON_CHECKIN);

        return impalaClientConfig;
    }
Date: 2019/11/12
Company: www.dtstack.com

@author xiuzhu
impala/impala-side/impala-async-side/src/main/java/com/dtstack/flink/sql/side/impala/ImpalaAsyncReqRow.java