全部产品
大数据开发套件

数据开发常见问题

更新时间:2017-06-07 13:26:11   分享:   

Q:如何创建 MaxCompute 表?

A:大数据平台上有两种方式建表:

  1. 在数据开发模块通过脚本文件或者工作流任务执行建表语句,详情请看 快速开始-创建表 。以这种方式建表, owner 为项目管理中项目计算引擎设置的‘ MaxCompute 访问身份’ 账号,无类目管理 。

  2. 是在数据管理模块可视化方式建表,详情请看 数据管理-创建表 。以这种方式建表, owner 为当前登录账号,有类目管理 。

Q:怎么把数据导入到 MaxCompute 上?

A:数据导入到 MaxCompute 基本归类为 2 种情况:

1)本地数据文件一次性导入到 MaxCompute 的某张表;

解决方案:直接在数据开发面板右边工作区域右上角“新建-导入本地数据”,详细请参考文档 数据导入

2)离线数据库单表导入 。

解决方案:在“数据集成”界面,点击左侧导航栏 同步任务,创建‘数据同步’任务 。具体可以参考 创建数据同步任务

Q:RDS 数据源连通测试不通过怎么办?

A:目前 RDS 数据源仅支持杭州地域的 RDS,北京地域暂时不支持。另外当杭州地域的 RDS 也遇到数据源测试不连通的时候,需要到自己 RDS 上添加数据同步机器 IP 白名单:

10.152.69.0/24,10.153.136.0/24,10.143.32.0/24,120.27.160.26,10.46.67.156,120.27.160.81,10.46.64.81,121.43.110.160,10.117.39.238,121.43.112.137,10.117.28.203,118.178.84.74,10.27.63.41,118.178.56.228,10.27.63.60,118.178.59.233,10.27.63.38,118.178.142.154,10.27.63.15,100.64.0.0/8

注意:若使用自定义资源组调度 RDS 的数据同步任务,必须把自定义资源组的机器 ip 也加到 RDS 的白名单中。

Q:调度参数怎么用?

A:目前系统参数有两个,这两个系统参数只要代码里用到,不需要做额外的赋值动作,节点自动调度的时候就会自动替换。系统参数分别为:

  • ${bdp.system.bizdate}格式 yyyymmdd,日常调度实例定时时间的前一天(年月日)。节点每天自动调度实例定时时间年月日减 1 天。

  • ${bdp.system.cyctime}格式 yyyymmddhh24miss,日常调度实例定时时间(年月日时分秒)。 yyyy 表示 4 位数年份,mm 表示 2 位数月份,dd 表示 2 位数天,hh24 表示 24 小时制的时,mi 表示 2 位数分钟,ss 表示 2 位数秒 。

使用方式:节点代码里编辑如 pt=${bdp.system.bizdate},然后节点在调度上运行即可自动替换值。

若节点每天调度时代码里有变量需要赋当天减 2 的日期,即业务日期减 1 天,格式为 yyyymmdd,需要系统参数和 MaxCompute 内建函数一起使用,如下:

节点代码 dt=to_char(dateadd(TO_DATE(‘${bdp.system.bizdate}’, ‘yyyymmdd’), -1, ‘dd’), ‘yyyymmdd’)

MaxCompute 内建日期函数具体可查看帮助文档:大数据计算服务 MaxCompute > SQL > 内建函数 定位到“日期函数” 。

Q:本地文件数据上传功能有没有文件大小限制?

A:目前支持.csv/.txt 文件上传,一次性上传文件大小上限为 10M 。

Q:我在“数据开发”模块通过脚本写建表语句建成功建表,但是为什么在“数据管理”模块“数据表管理-我拥有的表”列表里没看到?**

A:遇到此问题,首先要查看当前项目的“项目管理-MaxCompute 基本配置”,MaxCompute 访问身份配置应该是选择了“系统账号”,通过数据开发脚本提交的建表语句都是用该账号创建的表即表 owner 为该账号,而“数据管理-我拥有的表”是指当前登录账号为 owner 的表。

Q:一个工作流里的节点可以不彼此依赖吗?

A:

  • 一个工作流里没有业务关系的节点可以不用彼此依赖;
  • 一个工作流里只能有一个根节点,即没有父节点的节点;
  • 一个工作流里某个节点可以依赖多个节点,也可以被多个节点依赖;
  • 一个工作流里可以有多个节点没有被其他节点依赖。

Q:如何将 RDS 里的数据表链接到 Data IDE 中?

A:大数据开发套件(Data IDE)只能查看 MaxCompute 的数据,RDS 的数据表需要同步到 MaxCompute 的表才可以在 Data IDE 中操作。数据同步可以参考:https://help.aliyun.com/document_detail/30269.html

Q:数加平台能不能从 RDS 的只读实例同步数据?

A:支持从只读 RDS 读出数据,然后导到其他的地方。实际上,为了减少对业务库的压力,我们建议做 ETL 的时候,从只读库上导。具体数据同步配置可参考:https://help.aliyun.com/document_detail/30269.html

Q:什么是配置跨周期依赖?

A:跨周期依赖分为以下几种:

  • 自依赖 。

    场景举例:用户配置小时任务所统计,拿上一个小时的统计结果汇总新增数据,产出当前这个小时的统计数据 。用户需要针对当前小时任务配置自依赖,保证每个小时触发执行的时候上一个小时已经执行完了 。

  • 等待下游任务的上一周期执行完成 。

    场景举例:任务 A 用于汇总存量数据和新增数据,任务 B 用于清洗数据并将结果数据写入存量数据,任务 B 是依赖任务 A 的 。用户需要将任务 A 跨周期依赖配置为“等待下游任务的上一周期执行完成”,以此保证自己执行的时候,上一个周期的 B 已经执行,存量数据已经是最新的 。

  • 等待自定义任务的上一周期结束 。

    场景举例同上一个类似,只不过任务 A、任务 B 之间没有相互依赖关系。在此不再赘述 。

Q:跨周期依赖的场景有哪些?

A:* 天周期任务依赖小时周期任务。

场景举例:用户配置了一个天任务,依赖小时任务,天任务对小时任务做汇总,需要每天 24 个小时任务全都跑完之后才能执行 。用户需要针对小周期配置自依赖,保证上游的小时任务全都执行完成 。

Q:同事离职后,修改任务流的责任人,却发布失败,提示节点责任人不在工作流中。

A:1、先在运维中心修改责任人,修改时展开工作流列表,全选工作流和节点,然后修改责任人 。如下图所示:

1

2、修改责任人后,在数据开发中找到该工作流,查看责任人是否被修改,确定无误后在工作流页面随意移动一下节点(修改一下工作流),然后提交,重新打包发布。如下图所示:

1

本文导读目录
本文导读目录
以上内容是否对您有帮助?