Users can optimize synchronization configurations, ensure the success rate of synchronization tasks, and improve task performance by setting extraction parameters.
Currently supported data source types for extraction parameters: Mysql, Clickhouse, Oracle, SQL Server, Maxcompute, Impala, Hive_jdbc, Redshift, LAS, Presto, Databricks
Supported parameter information:
Parameter | Description | Default value | Required | Recommended value |
|---|---|---|---|---|
prep.job.datax.channel | Read concurrency, which needs to be used together with splitPk. | Not enabled (1) | No |
|
prep.job.datax.partition.num | After DataX extracts the data, the number of partitions for subsequent ETL processing is calculated on the Spark engine side. | Not enabled (1) | No |
|
prep.job.datax.splitPk | Description: When MysqlReader performs data extraction, if splitPk is specified, it means the user wants to use the field represented by splitPk for data sharding. DataX will then launch concurrent tasks for data synchronization, which can greatly improve the efficiency of data synchronization. | Do not enable | No |
|
prep.job.datax.timeout | Advanced configuration for DataX tasks: the wait timeout for MaxCompute data source partition detection, in minutes. If not configured, the task will fail directly when the queried table partition is empty. | Do not enable | No | Not recommended to enable |
prep.job.datax.disable | Disable DataX for the task | false | No | false |
Parameter name | Feature description | Default parameter value | Parameter value type |
|---|---|---|---|
spark.driver.cores | The number of CPUs for the driver. | 2 | int |
spark.driver.memory | The memory size of the driver. | 4g | string |
spark.driver.maxResultSize | The upper limit of data pulled to the Driver. Generally, no adjustment is needed. | 2g (defaults to half of spark.driver.memory) | string |
spark.executor.cores | The number of CPUs for each executor. The maximum concurrency of a Spark task is spark.executor.cores * number of executors | 2 | int |
spark.executor.memory | The memory size of the executor. | 4g | string |
spark.dynamicAllocation.maxExecutors | The maximum number of executors for a single Spark task. | 100 | int |
spark.sql.autoBroadcastJoinThreshold | The broadcast threshold on the data source side. Set to -1 to disable. PS: Disabling this does not affect Spark AQE's own broadcast. | int | |
spark.sql.broadcastTimeout | Broadcast timeout period. Set to -1 to disable the timeout limit. | int | |
spark.sql.files.maxPartitionBytes | The maximum file size for each partition (Spark Partition), used for splitting large files. | 268435456 | int |
spark.sql.files.openCostInBytes | Files smaller than this value will be merged. This is used for merging small files. | 8388608 | int |