在dataworks中导入python第三方包并在py3脚本中使用该包?[阿里云DataWorks]

DataWorks如何在不使用运维窗口的情况下,在dataworks中导入python第三方包并在py3脚本中使用该包?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 在PyODPS节点中调用第三方包https://help.aliyun.com/zh/dataworks/use-cases/use-a-pyodps-node-to-reference-a-third-party-package?spm=a2c4g.11186623.0.i254

    使用限制
    在PyODPS节点中调用第三方包仅支持使用独享调度资源组。创建及使用独享调度资源组,详情请参见独享调度资源组。
    DataWorks建议您在PyODPS节点内获取到本地处理的数据不超过50 MB,该操作受限于DataWorks执行资源的不同规格(包括公共调度资源组和独享调度资源组),处理的本地数据过多并超出操作系统阈值时可能发生OOM(Got killed)错误。请避免在PyODPS节点中写入过多的数据处理代码。详情请参见高效使用PyODPS最佳实践。
    如果您发现有Got killed报错,即表明内存使用超限,进程被中止。因此,请尽量避免本地的数据操作。通过PyODPS发起的SQL和DataFrame任务(除to_pandas外)不受此限制。
    非自定义函数代码可以使用平台预装的Numpy和Pandas。不支持其他带有二进制代码的三方包。
    由于兼容性原因,在DataWorks中,options.tunnel.use_instance_tunnel默认设置为False。如果需要全局开启instance tunnel,需要手动将该值设置为True。

  2. 要在 DataWorks 中导入 Python 第三方包并在 Py3 脚本中使用该包,在不使用运维窗口的情况下,可以在 Py3 脚本中直接使用 pip 命令安装。以下是具体步骤:

    1. 在 DataWorks 的 Py3 脚本中编写安装命令,例如 !pip install pandas,然后运行脚本来安装 Pandas 包。
    2. 在安装成功之后,可以在 Py3 脚本中导入 Pandas 包并使用它。

    需要注意的是,在不同的环境下,pip 命令可能需要管理员权限才能执行。因此,如果遇到访问受限的情况,请尝试切换至具有更高权限的账号来执行该命令。

  3. 在DataWorks中导入Python第三方包并在Py3脚本中使用该包,可以通过以下步骤实现:

    1. 在DataWorks控制台中创建一个新的项目。
    2. 在项目中创建一个Python3的自定义节点类型(Custom Node Type)。
    3. 在自定义节点类型的代码编辑器中编写代码,使用pip命令安装所需的第三方包。例如,如果要安装requests包,可以在代码中添加以下内容:
    import osimport sysdef install_package(package_name):    os.system(f"{sys.executable} -m pip install {package_name}")install_package("requests")
    1. 在自定义节点类型的代码编辑器中编写代码,导入所需的第三方包并使用它们。例如,如果要使用requests包发送HTTP请求,可以在代码中添加以下内容:
    import requestsresponse = requests.get("https://www.example.com")print(response.text)
    1. 保存并部署自定义节点类型。
    2. 在DataWorks控制台中创建一个新的任务,并将自定义节点类型添加到任务中。
    3. 配置任务的输入和输出,以便将数据从源端传递到目标端。
    4. 启动任务并查看结果。

    通过以上步骤,您可以在不使用运维窗口的情况下,在DataWorks中导入Python第三方包并在Py3脚本中使用该包。