使用moxing操作dli数据

前期准备

获取aksk和projectid

如果已经拥有aksk不需要再获取

点击新增访问密钥

自动会下载一个文件,里面包含了aksk,就是rsa的公钥和私钥

在API凭证页面获取当前使用区域的projectid。例如我在上海一使用,那么就获取上海一的projectid

获取region和DLI endpoint信息

DLI endpoint信息可以从下面的页面获取

https://support.huaweicloud.com/api-dli/dli_02_0176.html

例如我想使用的上海一那么endpoint就是 dli.cn-east-3.myhuaweicloud.com

region就是cn-east-3

使用moxing接口访问dli数据

创建两个文件 aksk.py mox_dli_demo.py

aksk.py内容如下。其中<YOUR-OWN-AK>和<YOUR-OWN-SK>是前面获取的aksk。之所以这里面要分成两个文件,是因为aksk和密码效力等同,因此独立出来,不要将aksk上传到自己的代码库中

import os
os.environ.pop('CREDENTIAL_PROFILES_FILE', None)
os.environ['ACCESS_KEY_ID']="<YOUR-OWN-AK>"
os.environ['SECRET_ACCESS_KEY']="<YOUR-OWN-SK>"

mox_dli_demo.py内容如下,其中<YOUR-OWN-PROJECTID>是你自己在前期准备获得的projectid

import os
import aksk
os.environ['DLI_REGION']="cn-east-3"
os.environ['DLI_ENDPOINT_URL']="dli.cn-east-3.myhuaweicloud.com"
os.environ['DLI_PROJECT_ID']="<YOUR-OWN-PROJECTID>"


import moxing as mox
print(mox.lake.list_queues())
print(mox.lake.list_databases())
print(mox.lake.list_tables(db_name='<your-own-db>'))
from moxing.framework.dli import data_io
results = data_io.run_sql(db_name='<your-own-db>', queue_name='default', sql_cmd='select * from <your-own-table> limit 10')
for r in results:
    print(r)

(完)