2.09 - Spark SQL 发起程序连接器的外部服务器库 API 参考 - Teradata QueryGrid

Teradata® QueryGrid™ 安装和用户指南

prodname
Teradata QueryGrid
vrm_release
2.09
created_date
2019 年 5 月
category
安装
用户指南
管理
配置
featnum
B035-5991-059K-CHS

Spark SQL 发起程序连接器提供一个易于使用的基于 Java 的外部服务器库。该库定义了“包装器”外部服务器类。该类包含一个用于创建一个或多个唯一外部服务器对象的外部服务器构造函数。每个外部服务器对象都包含一个永久非本机表的目录,这些表会在会话结束后由 HDFS 上的缓存文件进行备份。Spark SQL 发起程序连接器还包含静态和实例方法,以与每个外部服务器对象中的临时和永久非本机表进行交互,并从远程表中检索元数据。

Spark SQL 引擎不具有类似于外部服务器 (Teradata Database) 或目录 (Presto) 的对象。因此,缺省情况下,Spark SQL 发起程序连接器在表级别运行。

外部服务器库提供的主要功能是元数据发现和管理。它不会更改用于导入、导出和解释查询的 SQL 语法。ForeignServer.sql()ForeignServer.getDataSetFromSql() 用于运行 SELECT、INSERT 和 EXPLAIN 语句。使用外部服务器库时需要所有语法参数,无效或空参数会导致错误。
在使用外部服务器库的任何部分之前,必须运行 import tdqg.ForeignServer 语句。
名称 参数 说明
构造函数
ForeignServer 字符串链接

字符串版本

字符串名称

使用 QueryGrid 链接构造新的外部服务器对象。
ForeignServer 字符串名称 还原现有的外部服务器。
静态方法
showForeignServers 列出所有外部服务器名称。
dropForeignServer 字符串名称 删除指定的外部服务器及其所有非本机表。
sql 字符串 SQL 运行 SQL 语句(仅 SELECT/INSERT/EXPLAIN)并显示结果中的所有行。
getDatasetFromSql 字符串 SQL 运行 SQL 语句(仅 SELECT/INSERT/EXPLAIN)并返回 Dataset<Row> 对象。
实例方法
showSchemas 列出所有目标模式。
showTables 字符串模式 列出目标模式下的所有表。
showColumns 字符串表 显示由完全限定名称(例如 schema.table 或 catalog.schema.table)指定的目标表的模式。
show 列出此外部服务器下的每个非本机表(临时或永久)及其所表示的目标表。
show 字符串名称

显示此外部服务器下非本机表的 CREATE TABLE 语句。

这仅适用于永久非本机表,且数据库必须是名称的一部分。
create 字符串表

字符串名称

在此外部服务器下创建表示目标表(完全限定名称)的非本机表。

要创建永久非本机表,数据库必须是名称的一部分。
drop 字符串名称

删除此外部服务器下的非本机表。

对于永久非本机表,数据库必须是名称的一部分。
describe 字符串名称

显示此外部服务器下非本机表的详细信息。

对于永久非本机表,数据库必须是名称的一部分。
setSessionOverride 字符串值

设置要为会话覆盖的连接器属性。属性不区分大小写,且不可覆盖的属性将被忽略。

示例:setSessionOverride("linkbuffersize=100000, numMappers=4")