高级设置参数
-
高级设置参数
常用作业参数 | 属性 | 值 | 默认值 | 说明 | 支持版本 | | —- | —- | —- | —- | —- | | ndi.show-argument | boolean | FALSE | 日志中打印作业配置。 | 1.0.0+ | | ndi.spark.spark-argument.executor-memory | | 调度节点Spark client使用的值,具体值请咨询技术支持 | 作业运行时,单个节点使用的内存,单位为g。 | 1.0.0+ | | ndi.spark.spark-conf.spark.sql.hive.convertMetastoreParquet | boolean值 | TRUE | 值为false时,将使用读写hive表时使用hive的serde。官方参考文档 | 1.0.0+ | | ndi.enableColumnQuote | boolean值 | | 默认false。部分表在创建时列名使用了数据库关键字或特殊符号,在作业运行过程中,会报语法错误。如果表中使用了数据库关键字可以将该值设置为true,会根据来源库类型给列名添加引号 | 1.8.3+ | | ndi.spark.spark-conf.spark.sql.parquet.compression.codec | none, uncompressed, snappy, gzip, lzo, brotli, lz4, zstd | snappy | 写入parquet文件时使用的压缩编码。
当Hive表为parquet时生效。
Hive表属性中指定的压缩编码具有更高的优先级。官方参考文档 | 1.0.0+ | | ndi.spark.spark-conf.spark.sql.parquet.writeLegacyFormat | boolean值 | FALSE | 写入parquet文件使用的格式。
当设置为true时,会兼容hive和impala使用的parquet格式。
当值为false时,可能会导致写入hive后,在查询时报错。官方参考文档 | 1.0.0+ | | ndi.spark.spark-conf.spark.task.maxFailures | | 4 | Task重启次数超过spark.task.maxFailures,则taskSet会失败,即一个stage失败。stage失败导致整个Job就失败了,spark会取消该stage对应的job包含的所有 task,并返回用户任务执行失败。 | 1.0.0+ | | ndi.spark.spark-conf.spark.stage.maxConsecutiveAttempts | | 4 | 在一个stage被中止之前,允许的连续stage重试的次数。 | 1.0.0+ | | ndi.spark.spark-conf.spark.yarn.max.executor.failures | | | 作业重试次数。不支持幂等写入的数据源会在重试时会导致数据重复。 | 1.0.0+ | | ndi.spark.spark-conf.spark.yarn.maxAppAttempts | int值 | yarn.resourcemanager.am.max-attempts的值 | 默认为yarn.resourcemanager.am.max-attempts的值,如果要设置,需小于它的值。
yarn.resourcemanager.am.max-attempts:默认为2。 | 1.0.0+ | | ndi.spark.spark-conf.spark.hadoop.hive.exec.max.dynamic.partitions | | | hive动态分区的最大分区数。默认值为hive-site.xml中的配置。 | 1.8.0+ | | ndi.analyzeTableStatistics | boolean值 | FALSE | 是否计算hive的统计信息写入到metastore。 | 1.8.3+ | | ndi.spark.spark-conf.XXX | | | XXX为Spark_2.3.2支持的配置项。 | 1.0.0+ | | ndi.spark.spark-argument.YYY | | | YYY为spark-submit脚本支持的argument。ddb的读写任务会使用该参数上传认证文件,如果需要在ddb任务使用该files时,请联系技术支持。 | |数据来源端参数 | 数据源类型 | 属性 | 值 | 默认值 | 说明 | 支持版本 | | —- | —- | —- | —- | —- | —- | | 关系型数据库
(MySQL, DDB(DBI), DDB(QS), Oracle, 达梦, PostgreSQL, SQLServer, HANA, TiDB, DB2) | source.urlSuffix | 数据源支持的jdbc属性值 | | jdbc属性后缀。任务运行时该属性会追加在登记的jdbc url上。 | 1.0.0+ | | | source.enableColumnQuote | true, false | false | 是否开启列引用。表的字段名使用关键字时会导致任务报错,开启此选项,会在字段名上添加引号。 | 1.8.0+ | | | source.partitionSize | | 1024m | 分区大小。默认1024m,用于计算分区数和是否切分时使用。
当information_schema.tables表中的DATA_LENGTH字段的值大于partitionSize的bytes值时,自动开启切分。 | 1.0.0+ | | | source.mustSplit | true, false | false | 是否开启切分。设置并行度大于1时,自动开启切分。 | 1.0.0+ | | | source.splitNum | int值 | snappy | 切分数,默认为切分字段的最大值和最小值的差值除以splitSize的值。 | 1.0.0+ | | | source.splitSize | long值 | 1000000 | 切分步长(默认1000000)。 | 1.0.0+ | | | source.maxSplitNum | int值 | 10000 | 最大切分数(默认10000)。 | 1.0.0+ | | | source.forbiddenSplit | true, false | false | 是否禁用切分。 | 1.8.3+ | | | source.fetchSize | int值 | 1000 | JDBC默认每执行一次检索,会从游标中提取的记录数。 | 1.0.0+ | | Doris | source.doris.request.retries | | 3 | 向Doris发送请求的重试次数 | 1.8.0+ | | | source.doris.request.connect.timeout.ms | | 30000 | 向Doris发送请求的连接超时时间。 | | | | source.doris.request.read.timeout.ms | | 30000 | 向Doris发送请求的读取超时时间。 | | | | source.doris.request.query.timeout.s | | 3600 | 查询Doris的超时时间,默认值为1小时,-1表示无超时限制。 | | | | source.doris.request.tablet.size | | integer.MAX_VALUE | 一个RDD Partition对应的Doris Tablet个数。
此数值设置越小,则会生成越多的Partition。从而提升Spark侧的并行度,但同时会对Doris造成更大的压力。 | | | | source.doris.batch.size | | 1024 | 一次从BE读取数据的最大行数。增大此数值可减少Spark与Doris之间建立连接的次数。
从而减轻网络延迟所带来的的额外时间开销。 | | | | source.doris.exec.mem.limit | | 2147483648 | 单个查询的内存限制。默认为 2GB,单位为字节。 | | | | source.doris.deserialize.arrow.async | | false | 是否支持异步转换Arrow格式到spark-doris-connector迭代所需的RowBatch。 | | | | source.doris.deserialize.queue.size | | 64 | 异步转换Arrow格式的内部处理队列,当doris.deserialize.arrow.async为true时生效。 | | | MongoDB | source.spark.mongodb.input.batchSize | | | 每次检索时,会从游标中读取的行数。 | 1.5.0+ | | | 更多参数 | | | 更多参数请参考官方文档
。 | 1.5.0+ | | Elasticsearch | source.es.read.field.as.array.include | | | array类型的字段名,多个字段之间使用英文逗号分隔。 | 1.5.0+ | | | 更多参数 | | | 更多参数请参考官方文档
。 | 1.5.0+ |数据去向端参数 | 数据源类型 | 属性 | 值 | 默认值 | 说明 | 支持版本 | | —- | —- | —- | —- | —- | —- | | 关系型数据库
(MySQL, DDB(DBI), DDB(QS), Oracle, 达梦, PostgreSQL, SQLServer, HANA, TiDB, DB2) | target.urlSuffix | 数据源支持的jdbc属性值 | | jdbc属性后缀。任务运行时该属性会追加在登记的jdbc url上。 | 1.0.0+ | | | target.batchSize | int值 | 1000 | 批量写入的条数。 | 1.0.0+ | | Doris | target.batchSize | int值 | 1000 | 批量写入的条数。 | 1.7.5+ | | HBase | target.conf.hadoop.hbase.fs.tmp.dir | 具有写权限的HDFS目录 | “/user/“ + System.getProperty(“user.name”) + “/hbase-staging” | bulkload使用的临时目录。 | 1.5.0+ | | | target.fileNumber | | | buldload写入时的重分区个数。 | 1.5.0+ | | FTP | target.fileMerge | true,false | true | 是否对文件进行合并。 | 1.8.3+ | | | target.fileMergeNum | int值 | 1 | 合并后的文件数量。 | 1.8.3+ | | Vertica | target.handlingOptions.i | | | 支持Vertica官方Copy Parameters文档中Handling Options和Parser-Specific Options包含的参数,i为属性添加的顺序,从0开始递增。
示例:target.handlingOptions.0=NO ESCAPE | | | | target.columnOptions.i | | | 支持Vertica官方Copy Parameters文档中Column OPTION包含的参数,可以指定列的属性,i为属性添加的顺序,从0开始递增。
示例:target.columnOptions.0=id NULL ‘xxx’ | |