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);
}