in main.go [96:193]
func initFlags() {
flag.StringVar(&sourceFilePaths, "source_file", "", "source file paths")
flag.StringVar(&url, "url", "", "url")
flag.StringVar(&dbName, "db", "", "db name")
flag.StringVar(&tableName, "table", "", "table name")
flag.StringVar(&userName, "u", "root", "username")
flag.StringVar(&password, "p", "", "password")
flag.StringVar(&header, "header", "", "header")
flag.BoolVar(&compress, "compress", false, "compress")
flag.IntVar(&timeout, "timeout", defaultTimeout, "connect/read/write timeout seconds for rw and wait fe/be header") // 10h
flag.IntVar(&batchRows, "batch", defaultBatchRows, "batch row size")
flag.IntVar(&batchBytes, "batch_byte", defaultBatchBytes, "batch byte size")
flag.IntVar(&maxBytesPerTask, "max_byte_per_task", defaultMaxBytesPerTask, "max byte per task") // 100G
flag.IntVar(&workers, "workers", 0, "workers")
flag.IntVar(&diskThroughput, "disk_throughput", defaultDiskThroughput, "disk throughput")
flag.IntVar(&streamLoadThroughput, "streamload_throughput", defaultStreamLoadThroughput, "estimate streamload throughput")
flag.BoolVar(&checkUTF8, "check_utf8", true, "check utf8")
flag.IntVar(&reportDuration, "report_duration", defaultReportDuration, "report duration") // 1s
flag.StringVar(&retry, "auto_retry", "", "retry failure")
flag.IntVar(&maxRetryTimes, "auto_retry_times", defaultMaxRetryTimes, "retry failure")
flag.IntVar(&retryInterval, "auto_retry_interval", defaultRetryInterval, "retry failure")
flag.BoolVar(&debug, "debug", false, "enable debug")
flag.BoolVar(&showVersion, "version", false, "Display the version")
flag.IntVar(&queueSize, "queue_size", defaultQueueSize, "memory queue size")
flag.Parse()
paramCheck()
loadInfo = &loader.LoadInfo{
SourceFilePaths: sourceFilePaths,
Url: url,
DbName: dbName,
TableName: tableName,
UserName: userName,
Password: password,
Compress: compress,
Headers: headers,
Timeout: timeout,
BatchRows: batchRows,
BatchBytes: batchBytes,
MaxBytesPerTask: maxBytesPerTask,
Debug: debug,
Workers: workers,
DiskThroughput: diskThroughput,
StreamLoadThroughput: streamLoadThroughput,
CheckUTF8: checkUTF8,
ReportDuration: reportDuration,
NeedRetry: true,
RetryTimes: maxRetryTimes,
RetryInterval: retryInterval,
}
loadResp = &loader.Resp{
Status: "Success",
TotalRows: 0,
FailLoadRows: 0,
LoadedRows: 0,
FilteredRows: 0,
UnselectedRows: 0,
LoadBytes: 0,
LoadTimeMs: 0,
LoadFiles: []string{},
}
logLevel := "info"
// debug print flags
if debug {
logLevel = "debug"
fmt.Println("source_file: ", sourceFilePaths)
fmt.Println("url: ", url)
fmt.Println("db: ", dbName)
fmt.Println("table: ", tableName)
fmt.Println("username: ", userName)
fmt.Println("password: ", password)
// print headers
for k, v := range headers {
fmt.Printf("header: %s:%s\n", k, v)
}
fmt.Println("compress: ", compress)
fmt.Println("timeout: ", timeout)
fmt.Println("batch_row_size: ", batchRows)
fmt.Println("batch_byte_size: ", batchBytes)
fmt.Println("max_rows_per_task: ", maxRowsPerTask)
fmt.Println("max_bytes_per_task: ", maxBytesPerTask)
fmt.Println("debug: ", debug)
fmt.Println("workers: ", workers)
fmt.Println("check_utf8: ", checkUTF8)
fmt.Println("report_duration: ", reportDuration)
fmt.Println("retry_info: ", retry)
fmt.Println("retry_times: ", maxRetryTimes)
fmt.Println("retry_interval: ", retryInterval)
fmt.Println("queue_size: ", queueSize)
}
utils.InitLog(logLevel)
}