Dataphin仅支持开发基于Python的脚本,不支持开发依赖第三方组件的脚本。开发基于第三方组件的脚本,需要通过pip install下载第三方组件。本文为您介绍基于Dataphin如何通过构建Shell任务调用Python读取第三方文件。
前提条件
添加访问地址mirrors.aliyun.com和端口*至项目空间的沙箱白名单,详情请参见通过客户端、命令行连接RDS MySQL实例。
已准备Python支持读取的文件,例如TXT、CSV、XLS、XLSX或PDF等格式文件。
步骤一:上传文件
登录Dataphin控制台。
在Dataphin控制台页面,选择工作区地域后,单击进入Dataphin>>。
进入资源管理页面。
在Dataphin首页,单击研发。
在数据开发页面,单击数据处理。
在左侧导航栏,单击资源管理图标。
在资源管理页面,单击资源管理后的图标。
在新建资源对话框中,配置参数。
参数
描述
类型
选择others。
名称
上传文件的名称需要以文件类型结尾。例如test.xlsx。
描述
填写资源的描述。
上传文件
选择本地的文件,例如test.xlsx。
计算类型
选择无归属引擎。
重要文件资源存储至Dataphin系统,因此仅支持选择无归属引擎。
选择目录
默认为资源管理。
单击提交,完成资源的提交。
在提交备注对话框,填写备注信息。
单击确定并提交。
步骤二:创建Shell任务
在数据处理页签,单击左侧导航栏计算任务图标。
在计算任务页面,单击计算任务后的图标,选择 。
编写DataX任务代码。
在新建文件对话框,配置参数。
参数
描述
名称
填写计算任务的名称,例如Python读取文件。
调度类型
选择任务的调度类型为周期性节点。
描述
填写对任务的简单描述。
选择目录
系统自动选择为代码管理。
单击确定。
步骤三:编写并运行Shell任务代码
在代码编写页面,编写代码。
#在Dataphin的Linux服务器上新建目录。 mkdir -p /tmp/chars/ && \ #指定目录/tmp/chars/为python源。 pip install -i https://mirrors.aliyun.com/pypi/simple/ \ --target=/tmp/chars/ \ openpyxl #指定的python源写入至openfile.py。 cat >openfile.py <<EOF @resource_reference{"test.xlsx"} # -*- coding:utf-*- import os import sys sys.path.append('/tmp/chars/') import openpyxl print '========= python execute ok ==========' print("start===============") args = sys.argv # 打开excel文件,获取sheet名 wb = openpyxl.load_workbook(args[1]) # wb.get_sheet_names 这个方法已过时 会有一个警告 print(wb.worksheets[0]) EOF #python中调用文件。 python openfile.py test.xlsx
其中,test.xlsx参数需要替换为您已上传的文件。
单击页面右上角的执行,即可运行任务代码。
运行结果的状态为SUCCESS,表示读取文件成功。