- 指定目标连接器组件的行为
- 配置数据的转换方式
- 配置基础链接数据传输层
- 影响发起程序连接器的执行方式
链接是包括发起连接器和目标连接器的命名配置。如果为链接和连接器设置了相同的属性,则链接设置将覆盖连接器设置。
“基本”选项卡
Spark 连接器 | ||||
---|---|---|---|---|
名称 | 缺省 | 说明 | 可覆盖? 属性名称 |
连接器类型 |
服务器 | 无 | 作为 JDBC 连接字符串的一部分,用于连接到目标数据库。此为目标主机的 IP 地址或 DNS 名称。 | 目标 | |
端口 | 10016 | Spark 连接器的有效值范围为 1026–65535。 | 目标 | |
数据库名称 | 缺省 | 连接器的数据库名称(如果未在用户查询中提供)。 最大名称长度为 255 个字符。 |
目标 | |
Spark 执行机制 | Spark Thrift 服务器 | 目标连接器用于向 Spark 提交查询的机制。可能的值为 Spark Thrift 服务器和 Spark 应用程序。 CDH 或 CDP 不支持 Spark Thrift 服务器。 |
目标 | |
Spark 主路径 | /usr/hdp/current/spark2-client/ | /jars 子目录所在的 Spark 主目录的文件路径,其中包含所有 Spark 库 .jar 文件。 | 目标 | |
配置文件路径 | /etc/hadoop/conf/, /etc/spark2/conf/ |
core-site.xml、hdfs-site.xml 和 hive-site.xml(如果可用)路径的逗号分隔列表。 | 目标 |
“安全”选项卡
Spark 连接器 | ||||
---|---|---|---|---|
名称 | 缺省 | 说明 | 可覆盖? 属性名称 |
连接器类型 |
身份验证机制 | 无 | 集群的整体安全机制。 对于 HDInsight 集群,当使用 Enterprise Security Package (ESP) 时,请选择 Kerberos。 |
目标 | |
用户名 | Hive | 用户的名称。为连接器或目标连接器链接添加的用户名必须包含在“允许的操作系统用户”中。 最大长度为 255 个字符。 该 NVP 保存在 QueryGrid 管理器配置中,当发起程序不支持提供用户凭据的机制时,该 NVP 是必需的。该用户名也用于连接诊断检查。 |
目标 | |
密码 | 无 | 用户或服务帐户的密码。 | 目标 | |
密钥表 | 无 | Kerberos 密钥表文件的绝对路径。如果未提供用户名和密码,QueryGrid 将仅使用 keytab 文件进行身份验证。 | 目标 | |
SSL 信任库路径 | 无 | 启用 SSL 时,Spark Thrift 服务器上用于进行身份验证的 SSL 信任库或密钥库路径。 如果密钥存储在 Java 信任库中,则不需要该密码。 |
目标 | |
SSL 信任库密码 | 无 | 启用 SSL 时,Spark Thrift 服务器上用于进行身份验证的 SSL 信任库或密钥库密码。 如果密钥存储在 Java 信任库中,则不需要该密码。 |
目标 |
“查询引擎”选项卡
Spark 连接器 | ||||
---|---|---|---|---|
名称 | 缺省 | 说明 | 可覆盖? 属性名称 |
连接器类型 |
数字执行器 | 无 | 将数据导出或导入 Spark SQL 时的并行处理能力单位。 | ● numExecutors |
发起程序、目标 |
队列名称 | 无 | 提交 Spark 作业的队列名称。仅限 Spark 应用程序模式。 | ● queueName |
目标 |
Hadoop 属性 | 无 | 指定用户会话的 Hadoop 环境属性。属性以列表的形式提供。在每个属性与其值之间使用 =(name=value, name=value, name=value),并使用逗号作为属性之间的分隔符,逗号后面可加空格,也可不加空格。 例如: mapred.job.queue.name=abcdef,mapreduce.task.timeout=3600000,mapreduce.map.speculative=false如果未选择 Hadoop 属性,则使用缺省的 Hadoop 环境属性。 |
● hadoopProperties |
目标 |
压缩编解码器 | 系统缺省值 | 导出到 Spark 目标表时要使用的压缩类型。有效值为 System Default、Deflate、BZip2、GZip、LZ4 和 Snappy。 | ● compressionCodec |
目标 |
“高级”选项卡
Spark 连接器 | ||||
---|---|---|---|---|
名称 | 缺省 | 说明 | 可覆盖? 属性名称 |
连接器类型 |
临时数据库名称 | 缺省 | 用于存储临时表和视图的临时数据库名称。 | ● tempDbName |
目标 |
启用日志记录 | INFO | 运行启用了调试模式的查询。 有效值:NONE、WARN、INFO 和 DEBUG。 |
发起程序、目标 | |
禁用下推 | False | 设置为 true 时,将对目标系统禁用所有查询条件的下推。 某些系统级别、会话级别和列级别查询属性(如大小写特定)可能会影响字符串的比较结果。这些属性可能会由于目标系统上的不正确行筛选而返回不正确的结果。 为了避免在发起系统上的设置与目标系统上的设置不匹配的情况下条件下推导致结果不正确,您可以对目标系统禁用所有条件下推。 如果将此属性指定为“可覆盖”,则只能在会话级别将其从 false 更改为 true(表示要禁用下推),但不能将其从 true 更改为 false。 |
● disablePushdown |
发起程序 |
16.20+ LOB 支持 | true | 在 Teradata 系统 16.20 及更高版本上,Spark SQL 上的 STRING 和 BINARY 列缺省映射至 CLOB 和 BLOB。取消选择此选项可将 STRING 和 BINARY 列分别映射至 VARCHAR 和 VARBYTE。 如果 Spark 表中有大量 STRING/BINARY 列,请禁用此选项。 |
● lobSupport |
目标 |
缺省字符串大小 | 32000 个字符 | VARCHAR 截断大小。从字符串列导入或导出至字符串的数据等于该大小时将被截断。该值表示要导入的最大 Unicode 字符数,缺省值为 32000 个字符。Teradata QueryGrid 会在 defaultStringSize 中设置的缺省值处截断字符串列。 有效值为 1-1048544000 个字符。 该有效值适用于 Teradata 到 Spark 链接,由目标 Spark 连接器使用,当发起 Teradata 系统不支持 QueryGrid 的 CLOB 数据类型时适用。在 CLOB 支持下,不使用缺省字符串大小。 |
● defaultStringSize |
目标 |
缺省二进制大小 | 64000 字节 | VARBINARY 类型的缺省截断大小。 有效值为 1-2097088000 字节。 该有效值适用于 Teradata 到 Spark 链接,由目标 Spark 连接器使用,当发起 Teradata 系统不支持 QueryGrid 的 BLOB 数据类型时适用。在 BLOB 支持下,不使用缺省二进制大小。 |
● defaultBinarySize |
目标 |
收集近似活动计数 | False | 显示导出至目标数据源的近似行数。 如果设置为 false,则活动计数将显示 1。如果设置为 true,则会返回一个近似活动计数。如果设置为 true,则将同步作为主服务来运行。如果未指定,则缺省为 false。 |
● collectActivityCount |
目标 |
链接缓冲区计数 | 4 | 单通道上同时可用的最大写入缓冲区数量。 链接缓冲区计数将覆盖内部网络结构属性 shmDefaultNumMemoryBuffers 的缺省值。
有效值范围为 2–16。 |
● linkBufferCount |
发起程序、目标 |
链接缓冲区大小 | 1048576 | 为行处理和消息交换分配的写入缓冲区的最大大小。 有效值范围为 73728-10485760 个字节。 |
● linkBufferSize |
发起程序、目标 |
响应超时 | 86400000 | 等待目标查询完成的毫秒数,随后目标查询超时并停止操作。网络结构停止并释放持续时间超过目标链接属性或目标连接器属性中设置的值相关联的所有资源。当网络结构的响应超过响应超时值时,连接器超时。 有效值为 300000-172800000。 |
● responseTimeout |
发起程序、目标 |
连接最大空闲时间 | 86400 秒 | 连接缓存对象的最大空闲时间,超过该时间之后,该对象将关闭并从缓存中移除。如果系统上运行着多个并发用户和查询,可能导致连接对象匮乏,请使用此属性。 有效值为 1-86400 秒。 |
目标 | |
连接池大小 | 100 | 连接池中可存储的最大连接对象数。在获取新连接时,连接器将检查池中的可用空间。如果连接池中可用空间不足,则连接将在 5 分钟后失败。仅允许为每个连接器配置提供一个连接池和用户名。 有效值为 1-10000。 |
目标 | |
连接逐出频率 | 30 分钟 | 逐出检查的频率。如果某个连接对象的空闲时间(当前时间-上次使用时间)超过连接最大空闲时间设置,则会检查、关闭并移除池中的连接对象。 如果存在多个运行查询的并发用户,请缩短此检查间隔时间,以便更频繁地清除连接。 有效值为 1-1440 分钟。 |
目标 |