本文为您介绍数据开发的相关问题。
资源
pyodps
节点与业务流程
表
运行日志及保留时长
批量操作
BI对接
API调用
其他
如何在pyodps调用第三方包?
需要使用独享调度资源组进行操作,详情请参考文档:在PyODPS节点中调用第三方包
如何控制表数据查询以后是否可以下载?
在DataWorks下载数据的前提是要将下载功能打开,如果没有下载入口,说明工作空间未开启下载,如果有需要可以联系主账号或者工作空间管理员在工作空间管理处开启。
查询数据后在查询结果右下角会有下载入口,如下图所示:
DataWork界面下载由于引擎限制只能下载10000条数据。
如何下载超过1万条的表数据?
需要通过MaxCompute tunnel操作:SQLTask配合Tunnel实现大量数据导出示例
为什么EMR通过DataWorks可视化建表失败报错:call emr exception?
可能原因:EMR所在的ECS集群的安全组缺失必要安全组配置。注册EMR集群时,您需要添加安全组策略,否则可能会出现上述建表失败提示。
EMR所在的ECS集群的安全组缺失必要安全组配置。注册EMR集群时,您需要添加以下安全组策略,否则可能会出现上述建表失败提示。
授权策略:允许
协议类型:自定义TCP
端口范围:8898/8898
授权对象:100.104.0.0/16
如何处理:查看EMR所在的ECS集群的安全组配置情况,补充上述安全组策略。
如何在节点内使用资源?
右键目标资源节点,选择引用资源。
如何下载上传到DataWorks的资源?
右键目标资源节点,选择查看历史版本。
超过30M的资源如何上传?
超过30M的资源需要通过[tunnel](使用Tunnel命令上传下载数据)上传,上传后再使用MaxCompute资源功能添加到DataWorks进行后续的资源使用操作。详情请参考常见问题:通过odpscmd上传的资源如何在DataWorks上使用??
通过odpscmd上传的资源如何在DataWorks上使用?
odpscmd上传的资源在DataWorks上使用请在MaxCompute资源处将资源添加到数据开发。
在DataWorks如何上传自己本地编写的jar并执行?
您需要在数据开发界面将该jar作为资源上传到DataWorks,节点使用该jar资源时,您需要先右键目标资源节点 > 引用资源(会在节点最上方自动多出一条注释),然后直接使用资源名执行。
例如:在Shell节点内##@resource_reference{"test.jar"}
java -jar test.jar
如何实现在DataWorks上使用MaxCompute表资源?
目前DataWorks不支持直接使用图形界面上传MaxCompute表资源,可参见MaxComputeUDF示例:引用表资源查看引用资源表方式。如果您想在DataWorks上使用MaxCompute表资源,可按照如下:
在MaxCompute侧通过以下SQL语句添加表为表资源,详情请参见添加资源。
add table <table_name> [partition (<spec>)] [as <alias>] [comment '<comment>'][-f];
在DataWorks数据开发页面创建Python类型的资源,本示例资源名为
get_cache_table.py
,用来遍历查找到MaxCompute内添加的表资源,该Python代码请参见开发代码。
在DataWorks数据开发页面,新建函数,本示例函数名为
table_udf
。该函数中的需要填写的内容如下:
类名:
get_cache_table.DistCacheTableExample
资源列表:Python文件直接下拉选择
get_cache_table.py
,表资源需要在脚本模式下添加。
完成函数注册后,即可参照使用示例构造测试数据并调用注册的函数。
Python资源是否支持调用另一个Python资源?
两个资源在同一个工作空间的前提下,Python资源支持调用另一个Python资源。
PyODPS是否支持调用自定义函数来使用第三方包?
如果您不想通过DataFrame的map方法使用test函数,PyODPS同样支持直接调用自定义函数来导入第三方包,详情请参见PyODPS使用第三方包。
PyODPS 3中调用Pickle文件报错:_pickle.UnpicklingError: invalid load key, '\xef.
如果您的代码中存在特殊字符,请将代码打成zip再上传,然后在代码中进行解压使用。
如何删除MaxCompute资源?
资源创建完成后,如果需要删除资源,简单模式下直接右键单击所需删除的资源即可,标准模式下需要先在开发环境中删除资源,再在生产环境中删除资源,以下以删除生产环境的资源为例,为您演示删除资源的操作步骤。
如果您的DataWorks为标准模式,则开发环境和生产环境分离,在DataWorks的DataStudio删除资源时,只删除了开发环境的资源,生产环境的资源需要将删除操作发布到生产环境,生产环境的资源才会被删除下线。
在开发环境中删除资源。在对应业务流程下,选择
,右键待删除的资源后单击删除,在弹出的页面单击确认。在生产环境中删除资源。删除操作会在任务发布界面生成一条待发布的记录,发布后才能生产任务才会下线。您可以在数据开发DataStudio页面的右上角单击任务发布,过滤变更类型为下线,找到上述步骤下线资源的变更发布包后,单击操作列的发布,在弹出的页面中单击发布。完成发布后,生产环境的资源才会被删除。
节点删除后如何还原?
节点删除后可以进入回收站进行还原。
如何查看节点版本?
打开单个节点配置界面可以查看节点的版本
已提交才会生成版本。
如何克隆业务流程?
您可以使用节点组功能:使用节点组
如何将工作空间下的节点代码导出?
您可以使用迁移助手功能:概述
如何查看业务节点提交状态?
如果您希望查看业务节点提交状态,可以选择
,展开对应的业务流程列表,即可查看当前业务流程下所有节点状态。如果节点名称左侧存在图标,表示该节点已提交;如果节点名称左侧不存在图标,表示该节点未提交。当业务流程中包含多个节点时,是否可以批量配置节点的调度信息?
DataWorks不支持对业务流程配置调度信息,对于业务流程内的节点,您无法批量配置调度信息,只能逐个配置节点的调度信息。例如,一个业务流程中包含20个节点,您只能为每个节点逐个配置调度信息。
节点被删除,实例是否受影响?
调度系统每天会根据时间属性为该任务生成对应的一个或多个实例,当一个任务运行一段时间后被删除,则实例不会被删除。当实例在删除任务后被触发运行时,会由于找不到需要运行的代码而失败。
修改后的节点任务提交发布至生产环境后,是否会覆盖之前生产环境的错误节点?
不会覆盖之前的节点,未运行的实例会用最新代码运行,不会删除已生成的节点实例。如果调度参数有变化,需要重新生成实例去运行。
如何可视化新建表?
可以在数据开发,表管理和业务流程内的表容器中建表。
如何对生产表添加字段?
主账号可以在表管理页面,对生产表添加字段后,提交至生产环境。
子账号需要拥有运维或项目管理员角色,才可以在表管理页面,对生产表添加字段后,提交至生产环境。
如何删除表?
删除开发表:可以在数据开发界面删除。
删除生产表:
生产表请前往数据地图我的数据中删除表。
您可以创建一个ODPS SQL节点,输入并执行DROP语句。创建ODPS SQL节点的详情请参见开发ODPS SQL任务,删除表的语法格式请参见表操作。
如何将本地数据上传到MaxCompute表中?
您可以进入数据开发找到导入表功能导入本地数据。
在EMR集群中建表失败,界面提示:call emr exception?
可能原因:
EMR所在的ECS集群的安全组缺失必要安全组配置。注册EMR集群时,您需要添加以下安全组策略,否则可能会出现上述建表失败提示。
授权策略:允许
协议类型:自定义TCP
端口范围:8898/8898
授权对象:100.104.0.0/16
解决方法:
查看EMR所在的ECS集群的安全组配置情况,补充上述安全组策略。
如何在开发环境访问生产环境数据?
标准模式下,如果在数据开发界面需要查询生产环境的数据,请使用项目名.表名进行访问。
如果是简单模式升级到标准模式,在数据开发界面需要查询生产环境数据,则需要先申请生产者角色权限,再使用项目名.表名进行访问。申请权限具体请参考申请表权限
数据开发界面历史执行日志如何获取?
您可以进入数据开发界面左侧边栏找到运行历史模块,查看历史执行日志。
数据开发运行历史保留多长时间?
数据开发界面的运行历史默认保留3天。
生产运维中心日志与实例保留时长请参考:日志和实例保留多长时间?
如何对节点、资源、函数等进行相关批量修改相关属性的操作?
您可以在数据开发界面左侧工具栏中进入批量操作界面。支持针对节点、资源、函数进行批量操作,批量修改完成后,您可以批量提交,并在任务发布界面批量发布,让节点变更操作生产环境生效。
如何在数据开发页面批量修改业务流程下节点使用的调度资源组?
您可以在数据开发页面指定的业务流程名处,进入资源组编排,您可以在此页面批量修改该业务流程内的节点指定的调度资源组,修改完成后,您可以选择提交按钮进行批量提交,并在任务发布界面批量发布,让节点使用的调度资源组变更操作在生产环境生效。
使用Power BI连接MaxCompute报错,该如何处理?
目前MaxCompute不支持连接Power BI,建议您使用交互式分析(Hologres)进行连接,详情请参见访问域名
Openapi调用报错access is forbidden. Please first activate DataWorks Enterprise Edition or Flagship Edition.
openapi需要DataWorks企业版。详情请参见:DataWorks OpenAPI概述
如何获取Python SDK调用案例?
您可以在对应的API页面点击调试查看Python SDK的示例。
任务执行没有instanceid,如何关闭ODPS加速模式?
获取instanceid需要关闭加速模式。
DataWorks只支持下载1W条数据,超过1W的数据需要通过tunnel下载,下载时需要instanceid、
在运行任务的时候在odps sql节点编辑器里加上set odps.mcqa.disable=true;
(需要和其他select语句一块执行)。