MaxCompute 3月新发布功能
1、MaxCompute管家作业诊断功能发布 查看文档 >>
作业诊断功能是基于作业运行时产生的各个阶段信息,与历史运行数据对比分析总结问题并给出解决方案,提升作业运行效率实现运维自服务能力。
适用客户
适用基于MaxCompute进行大数据开发和分析的开发者和分析师。
发布功能
MaxCompute 管家发布的慢作业、错作业诊断功能,可以帮助大数据开发者和分析师在日常作业运维中,对慢作业和错作业进行自助诊断分析,通过诊断分析结果给出的建议,对作业进行优化,从而提示作业的运行效率。
诊断功能主要支持7天以内的sql、mapreduce类型的作业诊断,基于作业运行时产生的各个阶段状态信息,与作业历史运行数据进行对比分析,得出作业相比历史在某些环节或诊断维度上的缺陷和问题,并针对问题给出相应的原因和解决方案。
诊断信息展示主要分为4大块内容,分别是作业基础信息、作业历史运行instance列表、控制集群历史耗时分析、计算集群历史耗时分析,方便用户对诊断结果进行阅览,并快速获取到诊断建议。
2、MaxCompute管家SQL周期作业持续空输出或持续全表扫描推荐功能发布 查看文档 >>
MaxCompute管家将定期推荐“SQL周期作业持续空输出或持续全表扫描”作业列表,方便用户发现并进行作业性能和成本优化。
适用客户
适用于通过MaxCompute进行大数据开发的开发者和审计运维人员。
发布功能
MaxCompute管家将定期推荐需要进行性能或成本优化的作业列表,本次主要是针对 “SQL周期作业持续空输出或持续全表扫描”。推荐的结果列表将给出最近一次执行的instance id(点击可进入Logview)以及最近一个月持续运行的次数,可以很方便的获取到需要优化的作业信息,通过信息辅助判断是否需要对作业进行优化,如持续空输出是否是无效作业无需运行避免资源浪费;如持续全表扫描是否是因为脚本遗漏了分区条件需要加上以便减少输入量减少资源消耗。
如若推荐的列表里有作业运行是正常符合预期,则可针对此作业进行取消订阅,后面管家将不再推荐此指标的作业。
3、MaxCompute Project全量作业或Project全量SQL作业超时监控告警功能发布 查看文档 >>
MaxCompute Project全量、Project下SQL作业超时监控告警接入云监控,方便业务管理或运维人员日常作业超时监控。
适用客户
适用于大数据开发的业务管理或运维人员进行日常作业超时监控。
发布功能
MaxCompute支持通过云监控配置阈值报警规则,监控作业运行时长。当作业运行超时后,系统会将报警信息发送至报警联系人,助力及时识别异常作业,提升运维效率。本次主要支持两个监控指标:
① 作业运行时长。以MaxCompute项目为单位,监控项目下的所有作业。如果某个作业的运行时间(包含等待时间)超过设定的阈值,系统会按照配置的报警规则将报警信息发送至报警联系人。如专用于分析师取数据的MaxCompute项目,通常作业运行耗时不长。您可配置该监控指标,如作业运行时间过长,可及时检查是否存在资源紧张或作业计算量过大等问题。如项目存在需要长时间执行的作业,则不推荐配置该监控指标。例如Spark流式作业(spark.hadoop.odps.cupid.engine.running.type=longtime)。
② 作业运行时长_SQL类型。以MaxCompute项目为单位,监控项目下的所有SQL类型作业。如果某个SQL作业的运行时间(包含等待时间)超过设定的阈值,系统会按照配置的报警规则将报警信息发送至报警联系人。例如生产项目,您可配置该监控指标,如果作业运行时间过长,可以及时处理超时问题,避免出现业务延迟。
4、MaxCompute 外部表支持Snappy、Lzo压缩格式 查看文档 >>
MaxCompute 开源数据格式外部表支持Snappy、Lzo压缩格式文件的读写。
适用客户
适用于大数据开发者。
发布功能
如果您的数据格式为textfile,如Json,存放在OSS,希望通过外部表读写且支持压缩,MaxCompute 提供了开源数据格式外部表对Snappy、Lzo压缩文件的读写能力。
文件为Lzo压缩格式,外部表会自动通过后缀名判断压缩算法,并读取数据。向外部表写入Lzo压缩格式数据需要在建表时添加Lzo配置项。
文件为Snappy压缩格式,外部表会自动使用Hadoop默认的Hadoop-Snappy解压缩算法读取数据。向外部表写入Snappy压缩格式数据同样需要在建表时添加Snappy配置项。
您还可以使用Raw-Snappy压缩算法的配置项实现对Raw-Snappy格式的压缩文件读写。
5、MaxCompute SQL支持From_json/To_json函数 查看文档 >>
MaxCompute SQL新增From_json/To_json函数用于Json数据处理。
适用客户
适用于大数据开发者,分析师。
发布功能
From_json函数可以将Json转换成MaxCompute的数据类型,或提取Json中的信息,根据Json字符串jsonStr和schema信息,返回ARRAY、MAP或STRUCT类型。
To_json函数可以将给定的复杂类型Array、Map、Struct ,以Json字符串格式输出。
6、MaxCompute SQL支持Update/Delete/Merge Into语法 (公测)
MaxCompute SQL新支持在行级别操纵表或者分区中的数据的能力,适合对表或分区中少部分数据非频繁删除修改的场景。
适用客户
开发者,分析师,对数仓中数据有删除修改操作需求的用户。
发布功能
Update/Delete 是 MaxCompute 新支持的在行级别操作表或者分区数据的语句。相比之前订正表或者分区中的少量数据,也需要读取全量数据,关联生成新数据之后再Insert Overwrite全量写回的方法,Update/Delete 操作读写数据量都显著下降。当您对目标表的一次操作包括Insert、Update、Delete逻辑时,Merge Into功能可以用一条SQL语句进行一次扫描完成全部操作,执行效率更高。同时,Merge Into任务具备原子性,任一内部逻辑处理失败,则整体作业执行失败,避免同一批操作部分逻辑无法回退或重做的问题。
相关的,您需要创建 Transactional 表才能使用Update/Delete/Merge Into功能。并且因为大数据系统保证任务级别的ACID,当作业并发运行且操作的目标表相同时,可能会出现作业冲突,具体请参考MaxCompute并发写⾏为的ACID。
需要注意的是目前Update/delete/Merge Into 处于公测阶段,不收取计算费用,但公测期间也暂时不对您使用此功能用于生产的作业和数据提供保证,重要数据请做好备份。
Update/Delete文档 >> Merge Into >> 创建Transactional表 >> ACID语义说明 >>
更多关于大数据计算、云数仓技术交流,可扫码加入 “MaxCompute开发者社区” 钉钉群