模块接口
场景描述
对于需要使用Python进行数据分析的场景,如果用户希望利用Ibis-Fabric SDK与Fabric SQL进行交互,会面临如何实现与Python数据库API标准兼容以及如何高效处理复合类型数据的挑战。现有解决方案可能无法直接支持PEP 249标准接口,导致Ibis-Fabric SDK无法像对接其他数据库驱动一样无缝适配Fabric SQL Python connector API。此外,当前复合类型数据以字符串形式存储在Arrow格式中,无法充分发挥Arrow格式在处理struct、list、map等复合类型时的优势,同时可能导致结果集文件过大。为了解决这些问题,需要通过支持PEP 249标准接口和内核生成Arrow格式的复合类型结果集,实现Ibis-Fabric SDK与Fabric SQL的高效对接,提升数据处理性能并优化存储效率。
约束限制
Ibis-Fabric SDK对接Python Connector API功能约束限制如下:
复合类型写入仅支持产生结果集的语句。
要通过连接对象访问Fabric SQL服务,首先需要引入FabricSQLConnector模块并调用其连接对象的构造函数。
- 构造函数:connect(endpoint, workspace_id, request, accessKey, secretKey, token, securityToken, timeout, proxies, verify, concurrent_max_worker, from_obs)
- 参数说明:
表1 connect接口参数 参数名称
参数类型
是否必选
描述
endpoint
str
是
Fabric SQL提供的服务地址。
workspace_id
str
是
用户工作空间ID。
request
SessionRequest
是
Session请求信息。
accessKey
str
是
接入键标识,有永久和临时两种。
secretKey
str
是
安全接入键,有永久和临时两种。
token
str
否
IAM用户Token。
securityToken
str
否
临时访问密钥token,只有当使用临时AK/SK时才填写,否则请设置为None。
timeout
float
否
超时时间。
proxies
dict
否
使用代理,如果为None则使用系统代理。
verify
bool
否
是否使用证书认证,默认为False。
concurrent_max_worker
int
否
获取结果集时并发线程数,默认值为1。
from_obs
bool
否
指定是否通过OBS SDK获取结果集,默认值为True。
- 功能描述:传入相关连接参数,返回一个连接对象Connection。
当用户提供token时,会优先使用token方式进行认证,如果用户未提供token,则使用AK/SK方式进行认证。