快速开始
安装FabricData SDK
- 在线安装:
pip install huawei_fabric_data --trusted-host pypi.cloudartifact.dgg.dragon.tools.huawei.com -i https://pypi.cloudartifact.dgg.dragon.tools.huawei.com/artifactory/cbu-pypi-public/simple/
使用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 |
- |