快速开始
安装FabricData SDK
- 下载SDK,使用以下命令安装SDK包。
pip install huawei_fabric_data-0.1.0-py3-none-any.whl
python版本推荐使用3.11。
使用Fabric Data
- 创建会话,入参请参考表1。
import ibis # 导入ibis依赖 from fabric_data.multimodal import ai_lake import logging import os con = ai_lake.connect( fabric_endpoint=os.getenv("fabric_endpoint"), fabric_endpoint_id=os.getenv("fabric_endpoint_id"), fabric_workspace_id=os.getenv("fabric_workspace_id"), lf_catalog_name=os.getenv("lf_catalog_name"), lf_instance_id=os.getenv("lf_instance_id"), access_key=os.getenv("access_key"), secret_key=os.getenv("secret_key"), use_single_cn_mode=True, # 表示是否开启单CN模式 logging_level=logging.INFO, # 设置日志级别 ) - 加载数据集。
target_database = "test" dataset_name = "test_data" ds = con.load_dataset(dataset_name, database=target_database) ds.show()
a b c 0 1 3 1
- 数据加工。
import ibis.expr.datatypes as dt import fabric_data as fabric func_signature=fabric.Signature( parameters=[ fabric.Parameter(name="start", annotation=int), fabric.Parameter(name="endnum", annotation=int), fabric.Parameter(name="step", annotation=int) ], return_annotation=dt.Struct({"col1": int}), ) @fabric.udf.python(database=target_database, signature=func_signature) def py_generate_series(start, endnum, step): current = start while current <= endnum: yield {'col1':current} current += step ds = ds.flat_map( fn=py_generate_series, on=[ds.a, ds.b, ds.c], as_col='new_col', dpu=0.33 ) ds.show()a b c new_col 0 1 3 1 1 1 1 3 1 2 2 1 3 1 3
- 关闭会话。
con.close()
参数 | 含义 | 类型 | 默认值 | 备注 |
|---|---|---|---|---|
fabric_endpoint | 指定连接的端点。 | str | None | None | 更多信息,请参见地区和终端节点。 |
fabric_endpoint_id | 指定连接的端点ID。 | str | None | None | 更多信息,请参见查询endpoint_id。 |
fabric_workspace_id | 指定连接的工作空间ID。 | str | None | None | 更多信息,请参见获取工作空间ID。 |
lf_instance_id | 指定连接的LakeFormation服务实例ID。 | str | None | None | - |
lf_catalog_name | 指定连接的目录。 | str | None | None | - |
access_key | 指定连接的访问密钥ID。 | str | None | None | 更多信息,请参见获取ak/sk。 |
secret_key | 指定连接的访问密钥。 | str | None | None | - |
security_token | 指定连接的安全令牌(仅在上述访问密钥ID,访问密钥是临时的情况下需要)。 | str | None | None | - |
logging_level | 日志级别。 | int | logging.INFO | - |
use_single_cn_mode | 表示是否开启单CN模式。 | bool | False | - |
verify | 指定连接的认证。 | bool | False | - |
default_database | 指定连接的数据库名称。 | str | None | None | - |

