DataLeap Python 任务可根据您实际业务场景,在任务中按需使用第三方依赖包,以满足复杂的业务场景。
本文将为您介绍 Python 任务如何使用第三方依赖包。
已开通 DataLeap 服务。
说明
若仅开通 Dataleap大数据集成服务,不支持创建 Python 任务。
Python 任务创建完成后,便可开始 Python 任务编辑。下方通过两种场景,您可根据实际情况进行任务配置。
当前资源可通过外网形式访问时,推荐指定外网 pip 源来安装,可在 Python 任务中,执行以下脚本:
import os os.system('pip install numpy(替换所需的第三方包名称) -i https://pypi.tuna.tsinghua.edu.cn/simple') os.system('pip list')
上述示例执行后,您便可在下方执行日志中,查看当前环境中安装的所有包信息。
当前资源无法访问外网时,您也可以通过上传依赖资源包,并通过 Python 任务引用的方式,来实现使用第三方依赖包的场景。
您可在有 Python 环境的客户端或 PyCharm 等工具中,下载任务所需的依赖包。此示例中以 HDFS 依赖包为例:
通过 pip download 命令生成所需的依赖包:
mkdir hdfs pip download hdfs -d hdfs
将下载下来的包压缩并上传:
zip -r hdfs.zip hdfs
在 DataLeap 平台中上传 hdfs.zip 压缩包:
更多资源上传操作详见资源库。
打开 Python 任务编辑界面;
在编辑界面右侧单击执行设置窗口进入,并进行资源选择;
在执行设置窗口中,下拉资源选择栏,勾选已添加的依赖包文件,并完成其余计算资源组、资源配置等信息。
更多执行设置详见3.2.5 执行设置。
资源选择完成后,便可在 Python 编辑界面,进行相应任务开发,示例如下:
注意
Python 任务在脚本中访问公网或指定私有网络(VPC)访问时,您需通过下方的网络配置(可选),选择能与您资源互通的私有网络、子网、安全组信息。
亦或是您也可通过使用独享计算资源组来实现网络互通,可将独享计算资源组所在的 VPC 开通公网,或是和您资源所在的 VPC 通过 CEN 做网络打通工作。
import os #安装上传资源包中 hdfs 目录下的依赖包信息: os.listdir('.') os.system('pip install --no-index --find-links=hdfs hdfs') #使用安装好的第三方依赖包: from hdfs import InsecureClient from docopt import docopt #验证 docpot 的能力 doc = """ Usage: test.py [--name=<name>] Options: --name=<name> Name to print [default: World]. """ # 模拟命令行参数 arguments = docopt(doc, argv=['--name=HDFS']) print(f"Hello, {arguments['--name']}!") # 验证 hdfs 的能力 # 假设有一个 HDFS 服务正在运行,替换为你的 HDFS 地址 hdfs_url = 'http://localhost:50070' # HDFS 的地址 client = InsecureClient(hdfs_url, user='your-username') # 替换为你的用户名 # 测试列出 HDFS 根目录 try: print("Listing HDFS root directory...") files = client.list('/') print("Files in HDFS root directory:", files) except Exception as e: print("Failed to connect to HDFS:", e)
测试脚本编辑完成后,依次单击编辑器上方的保存、调试按钮,等待脚本执行完成。
脚本执行完成后,可在下方日志信息中,查看最终的执行结果。