public HoloClientParam()

in hologres-connector-hive-base/src/main/java/com/alibaba/hologres/hive/conf/HoloClientParam.java [79:185]


    public HoloClientParam(Configuration conf) {
        this.tableName = conf.get(HoloStorageConfig.TABLE.getPropertyName());
        this.url =
                JDBCUtils.formatUrlWithHologres(
                        conf.get(HoloStorageConfig.JDBC_URL.getPropertyName()));
        this.username = conf.get(HoloStorageConfig.USERNAME.getPropertyName());
        this.password = conf.get(HoloStorageConfig.PASSWORD.getPropertyName());

        // serverless computing options
        this.enableServerlessComputing =
                conf.getBoolean(
                        HoloStorageConfig.ENABLE_SERVERLESS_COMPUTING.getPropertyName(), false);
        this.serverlessComputingQueryPriority =
                conf.getInt(
                        HoloStorageConfig.SERVERLESS_COMPUTING_QUERY_PRIORITY.getPropertyName(), 3);
        this.statementTimeout =
                conf.getInt(HoloStorageConfig.STATEMENT_TIMEOUT.getPropertyName(), 28800000);

        // copy write options
        this.copyWriteMode =
                conf.getBoolean(HoloStorageConfig.COPY_WRITE_MODE.getPropertyName(), true);
        this.copyWriteFormat =
                conf.get(HoloStorageConfig.COPY_WRITE_FORMAT.getPropertyName(), "binary");
        this.bulkLoad = conf.getBoolean(HoloStorageConfig.BULK_LOAD.getPropertyName(), false);
        this.dirtyDataCheck =
                conf.getBoolean(HoloStorageConfig.DIRTY_DATA_CHECK.getPropertyName(), false);
        this.directConnect =
                conf.getBoolean(HoloStorageConfig.DIRECT_CONNECT.getPropertyName(), true);
        this.maxWriterNumber =
                conf.getInt(HoloStorageConfig.MAX_WRITER_NUMBER.getPropertyName(), 20);
        this.maxWriterNumberPerTask =
                conf.getInt(HoloStorageConfig.MAX_WRITER_NUMBER_PER_TASK.getPropertyName(), 3);
        this.maxCellBufferSize =
                conf.getInt(
                        HoloStorageConfig.MAX_CELL_BUFFER_SIZE.getPropertyName(), 1024 * 1024 * 20);

        // write options
        this.writeBatchSize =
                conf.getInt(HoloStorageConfig.WRITE_BATCH_SIZE.getPropertyName(), 512);
        this.writeBatchByteSize =
                conf.getLong(
                        HoloStorageConfig.WRITE_BATCH_BYTE_SIZE.getPropertyName(),
                        2L * 1024L * 1024L);
        this.writeMaxIntervalMs =
                conf.getLong(HoloStorageConfig.WRITE_MAX_INTERVAL_MS.getPropertyName(), 10000L);
        this.writeThreadSize =
                conf.getInt(HoloStorageConfig.WRITE_THREAD_SIZE.getPropertyName(), 1);
        this.dynamicPartition =
                conf.getBoolean(HoloStorageConfig.DYNAMIC_PARTITION.getPropertyName(), false);
        this.useLegacyPutHandler =
                conf.getBoolean(HoloStorageConfig.USE_LEGACY_PUT_HANDLER.getPropertyName(), false);

        String wMode =
                conf.get(HoloStorageConfig.WRITE_MODE.getPropertyName(), "INSERT_OR_REPLACE")
                        .toLowerCase();
        switch (wMode) {
            case "insert_or_replace":
                writeMode = WriteMode.INSERT_OR_REPLACE;
                break;
            case "insert_or_ignore":
                writeMode = WriteMode.INSERT_OR_IGNORE;
                break;
            case "insert_or_update":
                writeMode = WriteMode.INSERT_OR_UPDATE;
                break;
            default:
                throw new IllegalArgumentException("Could not recognize writeMode " + wMode);
        }

        String wFailStrategy =
                conf.get(HoloStorageConfig.WRITE_FAIL_STRATEGY.getPropertyName(), "TRY_ONE_BY_ONE")
                        .toLowerCase();
        switch (wFailStrategy) {
            case "try_one_by_one":
                writeFailStrategy = WriteFailStrategy.TRY_ONE_BY_ONE;
                break;
            case "none":
                writeFailStrategy = WriteFailStrategy.NONE;
                break;
            default:
                throw new IllegalArgumentException(
                        "Could not recognize writeFailStrategy " + wFailStrategy);
        }

        // read options
        this.readBatchSize = conf.getInt(HoloStorageConfig.READ_BATCH_SIZE.getPropertyName(), 128);
        this.readThreadSize = conf.getInt(HoloStorageConfig.READ_THREAD_SIZE.getPropertyName(), 1);
        this.readBatchQueueSize =
                conf.getInt(HoloStorageConfig.READ_BATCH_QUEUE_SIZE.getPropertyName(), 256);
        this.scanFetchSize = conf.getInt(HoloStorageConfig.SCAN_FETCH_SIZE.getPropertyName(), 2000);
        this.scanTimeoutSeconds =
                conf.getInt(HoloStorageConfig.SCAN_TIMEOUT_SECONDS.getPropertyName(), 60);
        this.copyScanMode =
                conf.getBoolean(HoloStorageConfig.COPY_SCAN_MODE.getPropertyName(), false)
                        || conf.getBoolean(HoloStorageConfig.COPY_MODE.getPropertyName(), false);

        // else options
        this.retryCount = conf.getInt(HoloStorageConfig.RETRY_COUNT.getPropertyName(), 3);
        this.retrySleepInitMs =
                conf.getLong(HoloStorageConfig.RETRY_SLEEP_INIT_MS.getPropertyName(), 1000L);
        this.retrySleepStepMs =
                conf.getLong(HoloStorageConfig.RETRY_SLEEP_STEP_MS.getPropertyName(), 10000L);
        this.connectionMaxIdleMs =
                conf.getLong(HoloStorageConfig.CONNECTION_MAX_IDLE_MS.getPropertyName(), 60000L);
        this.fixedConnectionMode =
                conf.getBoolean(HoloStorageConfig.FIXED_CONNECTION_MODE.getPropertyName(), false);
    }