连接到 Apache Spark
概念信息
Apache Spark 是一项云数据服务。您可以使用 Apache Spark 数据连接器导入贵公司的 Spark 数据。
说明
Analytics 提供 Spark 作为可选的连接器,如果它在您的“数据访问”窗口中不可用,则可能是在安装过程中未选择该连接器。有关详细信息,请参见安装可选的 Analytics 数据连接器和 Python 引擎。
开始之前
要连接到 Spark,您必须收集以下信息:
- 用户名和密码
- 正确的连接端口
- 使用的认证方案
- 服务器的主机名或 IP 地址
- 与服务器通信的传输模式
- 读取访问权限
有关收集连接必备信息的帮助,请联系Spark您组织中的管理员。如果您的管理员不能帮助您,您或者您的管理员应该联系Spark支持人员。
创建 Spark 连接
- 从 Analytics 主菜单中选择导入 > 数据库和应用程序。
- 在新建连接选项卡的 ACL 连接器部分中,选择Spark。
提示
您可以通过在过滤连接框中输入搜索字符串来过滤可用连接器的列表。连接器按字母顺序排列。
- 在数据连接设置面板中,输入连接设置,然后在面板底部单击保存并连接。
您可以接受默认的连接名称,也可以输入一个新的名称。
Spark的连接被保存到现有连接选项卡。将来,您可以从已保存的连接重新连接到Spark。
一旦连接被建立,“数据访问”窗口将打开到暂存区域,并且您可以开始导入数据。有关从Spark导入数据的帮助,请参见使用数据访问窗口。
连接设置
基本设置
| 设置 | 描述 | 示例 |
|---|---|---|
| Spark 服务器类型 | 指定要连接到的 Spark 服务器实例。 | SharkServer2 |
| 主机 | Spark 服务器的 IP 地址或者主机名。 | |
| 端口 | 到 Spark 服务器实例的连接的端口。 | 10000 |
| 数据库 | 当在查询中未显式指定架构时使用的数据库架构的名称。 | 默认 |
| 认证机制 |
指定要使用的认证机制。可用的选项是:
|
无认证 |
| 领域 | Spark Thrift 服务器主机的领域。 | |
| 主机 FQDN | Spark Thrift 服务器主机的完全限定域名称。 | _HOST |
| 服务名称 | Spark 服务器的 Kerberos 服务主体名称。 | |
| 用户名 | 用来向 Spark 服务器进行认证的用户名。 | |
| 密码 | 用来向 Spark 服务器进行认证的用户名的密码。 | |
| 委派 UID | 驱动程序必须向其委托所有 Spark 操作的受托用户而不是连接认证用户的用户 ID。 | |
| Thrift 传输 |
指定要在 Thrift 层中使用的传输协议。可用的选项是:
|
二进制 |
高级设置
| 设置 | 描述 | 示例 |
|---|---|---|
| 启用 SSL | 指定客户端是否使用 SSL 加密连接与 Spark 服务器通信。 | |
| 允许公共名/主机名不匹配 | 指定证书颁发机构发布的 SSL 证书名称是否必须与 Spark 服务器的主机名匹配。 | |
| 允许自签名的服务器证书 | 指定驱动程序是否允许到 Spark 服务器的连接使用自签署证书,即使此证书不在受信任证书列表中。 | |
| 可信的证书 | 包含受信任的 CA 证书(用来在使用 SSL 时验证服务器)的 .pem 文件的完整路径。 | |
| 双向 SSL | 指定是否启用双向 SSL。 | |
| 客户端证书文件 | 包含客户端的 SSL 证书的 .pem 文件的完整路径。 | |
| 客户端私钥文件 | 包含客户端的 SSL 私钥的 .pem 文件的完整路径。 | |
| 客户端私钥密码 | 在客户端私钥文件域中指定的私钥文件的密码。 | |
| 使用本机查询 | 指定驱动程序是否使用固有 HiveQL 查询。如果未选择此选项,则驱动程序会将应用程序发出的查询转换为 HiveQL 中的等效形式。 | |
| 快速 SQLPrepare | 指定驱动程序是否将查询执行推迟给 SQLExecute。 | |
| 驱动程序配置优先 | 指定驱动程序范围的配置设置是否优先于连接和 DSN 设置。 | |
| 使用异步执行 | 指定是同步还是异步执行查询。 | |
| 异步执行轮询间隔 | 前后两次查询执行状态轮询之间的时间(毫秒)。 | 100 |
| 使用查询获取表 | 指定驱动程序是否使用 SHOW TABLES 查询从数据库检索表名称。如果被禁用,则驱动程序使用 GetTables Thrift API 调用。 | 1 |
| Unicode SQL 字符类型 | 指定要为字符串数据类型返回的 SQL 类型。启用后,驱动程序为 STRING 列和 VARCHAR 列返回 SQL_WVARCHAR,为 CHAR 列返回 SQL_WCHAR。 | |
| 显示系统表 | 指定驱动程序是否为目录函数调用(如 SQLTables 和 SQLColumns)返回 spark_system 表。 | |
| 仅使用 SSPI | 指定驱动程序是使用 SSPI 插件还是使用 MIT Kerberos 处理 Kerberos 认证。 | |
| 无效的会话自动恢复 | 指定驱动程序是否在现有会话不再有效时自动打开新的会话。 | |
| 每个块获取的行数 | 查询一次返回的最大行数。 | 10000 |
| 默认字符串列长度 | STRING 列中可以包含的最大字符数。 | 255 |
| 二进制列长度 | BINARY 列的最大数据长度。 | 32767 |
| 十进制列刻度 | 数值数据类型小数点右侧的最大位数。 | 10 |
| 套接字超时 | 操作在被关闭前可以保持空闲的秒数。 | 60 |
| HTTP 路径 | 与 Spark 服务器相对应的部分 URL。 | /spark |
Spark 连接域
列唯一名称
通过“数据访问”窗口建立的Spark连接使用默认情况下被设置为 0 的连接字符串参数 EnableUniqueColumnName。此参数必须具有值 0,以确保在连接时检索到正确的列名称。
如果您使用 DSN 而不是“数据访问”窗口创建Spark连接,则此值被默认设置为 1。您必须在 Windows 注册表中将其更改为 0 以使您的连接生效。
说明
升级至版本 13.1 之后,使用在比 13.1 早的 ACL 版本中建立的 DSN 连接的脚本继续有效。