带你读《企业级云原生白皮书项目实战》——5.2.4 SQL开发参考

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 带你读《企业级云原生白皮书项目实战》——5.2.4 SQL开发参考

5.2.4 SQL开发参考

MaxCompute1SQL适用于海量数据(GB、TB、EB级别)离线批量计算的场景。提交MaxCompute作业后,会存在几十秒到数分钟不等的排队调度,所以适合处理批作业,提交一次作业批量处理海量数据。不适合直接对接需要每秒处理几千至数万笔事务的前台业务系统。

5.2.4.1 语法部分

image.png

语法上,如上图,它的语法是标准语法ANSI SQL92的一个子集,并有自己的扩展。如果是从Hive等开源数仓迁移至MaxCompute,或是长期习惯于关系型数据库SQL(MySQL、Oracle、SQL Server)语法的,建议在设计、迁移或开发阶段,仔细比对SQL语法的差异,与其他SQL语法的差异。

整体上,MaxCompute SQL更接近于同为离线数仓的Apache Hive语法,但不完全一致,例如:MaxCompute SQL在DDL上,不支持CREATE TABLE—NOT NULL,而Hive是支持的。

5.2.4.2 SQL限制项

除了SQL代码的语法差异之外,在迁移过程中,SQL限制也是不可忽略的一个检查项,可参考该链接:SQL使用限制项 ,并和原数据库(仓库)的SQL开发规范进行逐项比对,处理好平台适配工作。

5.2.4.3 数据类型

已在5.2.1.2.3章节详细说明,不再重复。

5.2.4.4 查询加速MCQA(MaxCompute Query Acceleration)

从本章节的引言部分可以了解到,MaxCompute SQL我们一般认为是分钟级别的查询效率。MaxCompute的MCQA功能可以对中、小数据量查询作业进行加速优化,将执行时间为分钟级的查询作业缩减至秒级,同时完全兼容原MaxCompute的查询功能,使用原生的MaxCompute SQL语言,并且支持所有的MaxCompute内建函数以及权限系统。

MCQA支持将主流BI工具或SQL客户端连接至MaxCompute项目,开展即席查询(Ad Hoc)或商业智能(BI)分析。

1684997468301.png


5.2.4.4.2 使用限制

此处列举主要的限制项,供使用和选型参考:

•不支持开发者版的MaxCompute(按量计费标准版、包年包月标准版、包年包月套餐版均可以使用)

•单个MaxCompute项目的MCQA作业最大并发数为120

•单次执行的作业支持并发的Worker数上限为2000个

•不支持查询外表

5.2.4.4.3 开通使用

包年包月项目(免费体验)

截止该文档编辑时,针对包年包月的MaxCompute项目,仍提供免费体验额度。该查询加速资源不占用已购买的包年包月计算资源(CU),由查询加速公共资源池提供。具体的限制项如下:

•单个MaxCompute项目,支持的最大作业并发数为5

•单个MaxCompute项目,日免费加速作业数累计为500个

•SQL扫描量在10 GB以内的作业

包年包月项目(交互式配额)

如果您是包年包月项目,并且有更高的负载、更大的作业量需求,目前对于有此类需求的客户,产品提供特殊类型的配额组——交互式配额组,单独用于MCQA查询加速作业使用,处于邀测阶段,提交工单后由研发侧核实region支持情况。如已开启,则在CU管家中新建类型为“交互式”的配额组即可使用,该配额组的CU仅用于MCQA类型加速作业使用。

按量付费项目(非开发者版)

默认MCQA为开通状态,MCQA作业使用单独的计算资源,所以相应地会单独采用自己的按量付费规则,公式为:一次MCQA作业费用=输入数据量×SQL复杂度×单价,按天维度进行汇总出账。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
4天前
|
SQL Oracle 关系型数据库
SQL 快速参考
SQL 快速参考
8 1
|
21天前
|
SQL Cloud Native 关系型数据库
云原生数据仓库AnalyticDB操作报错合集之执行sql的进程报错:"unknown connection id",是什么导致的
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
745 3
|
21天前
|
存储 分布式计算 DataWorks
MaxCompute产品使用合集之开发创建的表无法提交生产是什么导致的
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
MaxCompute产品使用合集之开发创建的表无法提交生产是什么导致的
|
2月前
|
存储 运维 监控
探索云原生技术在大数据分析领域的应用
传统的大数据分析往往需要庞大的硬件设施和复杂的维护工作,给企业带来了昂贵的成本和管理难题。而随着云原生技术的发展,越来越多的企业开始将大数据分析迁移到云平台上,以享受弹性、灵活性和低成本的优势。本文将探讨云原生技术在大数据分析领域的应用,介绍其优势和挑战,并展望未来的发展方向。
30 0
|
2月前
|
Cloud Native 安全 Serverless
【阿里云云原生专栏】低代码开发在云原生平台的应用:阿里云低代码服务探索
【5月更文挑战第27天】在云原生时代,低代码开发凭借其图形化界面和预构建模块,简化了应用开发,提升了效率。阿里云积极探索低代码领域,推出函数计算FC和应用配置中心ACM等服务。FC让开发者无需关注基础设施,仅需少量代码即可实现应用部署,而ACM则提供动态配置管理,增强应用灵活性。阿里云的这些服务为企业数字化转型提供了高效、安全的解决方案,预示着低代码开发在云原生平台上的重要地位。
214 1
|
2月前
|
存储 分布式计算 DataWorks
【阿里云云原生专栏】云原生下的数据湖建设:阿里云MaxCompute与DataWorks解决方案
【5月更文挑战第26天】在数字化时代,数据成为企业创新的关键。阿里云MaxCompute和DataWorks提供了一种构建高效、可扩展数据湖的解决方案。数据湖允许存储和分析大量多格式数据,具备高灵活性和扩展性。MaxCompute是PB级数据仓库服务,擅长结构化数据处理;DataWorks则是一站式大数据协同平台,支持数据集成、ETL和治理。通过DataWorks收集数据,MaxCompute存储和处理,企业可以实现高效的数据分析和挖掘,从而提升业务洞察和竞争力。
390 0
|
2月前
|
Kubernetes Cloud Native Go
Golang深入浅出之-Go语言中的云原生开发:Kubernetes与Docker
【5月更文挑战第5天】本文探讨了Go语言在云原生开发中的应用,特别是在Kubernetes和Docker中的使用。Docker利用Go语言的性能和跨平台能力编写Dockerfile和构建镜像。Kubernetes,主要由Go语言编写,提供了方便的客户端库与集群交互。文章列举了Dockerfile编写、Kubernetes资源定义和服务发现的常见问题及解决方案,并给出了Go语言构建Docker镜像和与Kubernetes交互的代码示例。通过掌握这些技巧,开发者能更高效地进行云原生应用开发。
88 1
|
2月前
|
Kubernetes Cloud Native Docker
使用 kubevpn 在本地快速开发云原生应用
KubeVPN 是一个用于云原生开发的工具,它允许用户通过本地计算机直接访问远程 Kubernetes 集群中的服务,利用 k8s DNS 或 Pod IP/Service IP。它可以拦截并调试服务网格中的工作负载流量,并提供开发模式,让容器在本地以与 k8s pod 相同的环境运行。快速开始包括下载二进制文件、自定义 Krew 安装、构建二进制文件以及安装示例应用。KubeVPN 支持链接到多个集群、DNS 解析、反向代理,以及在 Docker 中的开发模式,确保与 Kubernetes 运行环境一致。此外,它还兼容多种协议和平台。
60 5
|
2月前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用构建高效微服务架构:后端开发的新范式
【4月更文挑战第30天】 随着企业加速其数字化进程,云原生架构已成为支撑复杂、可伸缩和灵活应用的骨干。本文探讨了云原生技术的崛起,重点分析了其在促进业务敏捷性、提高运营效率及推动创新方面的核心价值。通过深入剖析云原生生态系统的关键技术组件,如容器化、微服务、持续集成/持续部署(CI/CD)和DevOps实践,揭示了企业如何利用这些技术来构建和维护高度可用且动态的IT环境。文章还提出了一个多维度的采纳框架,帮助企业评估和实施云原生解决方案,以实现真正的业务价值。 【4月更文挑战第30天】在现代软件开发的快速演变中,微服务架构已经成为一种领先的设计模式,用于构建可扩展、灵活且容错的应用程序。与传
|
2月前
|
分布式计算 DataWorks 数据管理
DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
41 0