`
大涛学长
  • 浏览: 105610 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MaxCompute问答整理之12月

阅读更多
问题一、MaxCompute内建日期函数,DATEPART函数命令格式为 bigint datepart(datetime date, string datepart)用于提取日期date中指定的时间单位datepart的值。DATETIME类型。如果输入为STRING类型会隐式转换为DATETIME类型后参与运算,其它类型抛异常。但是客户在使用函数的时候没有实现STRING类型隐式转换为DATETIME。报错信息:FAILED:ODPS-0130121:\[1,50\] Invalid type STRING of argument 1 for function datepart, expect DATETIME。如何解决? 
打开新类型odps.sql.type.system.odps2=true时某些隐式类型转换会被禁用,包括STRING->BIGINT,STRING->DATETIME,DOUBLE->BIGINT,DECIMAL->DOUBLE,DECIMAL->BIGINT都是有精度损失或者报错的风险。这种情况可以通过cast函数做强制转换的方式来解决或者关掉新类型flag。
例如:select datepart(cast('2019-12-02 00:00:30' as datetime),'yyyy');
 
set odps.sql.type.system.odps2=false

问题二:MaxCompute中的数据通道Datahub 和 Tunnel 应用场景的区别是什么? 
Datahub是阿里云上的实时消息队列服务,与MaxCompute紧密集成。用户可以将实时数据写入Datahub的topic,并通过Datahub的投递策略,定期将数据投递到MaxComptue表,满足实时数据准实时写入MaxCompute的需要。  
Tunnel 用于批量上传数据到离线表里,适用于离线计算的场景。 
可参考文档了解更多:[https://help.aliyun.com/document\_detail/51656.html](https://help.aliyun.com/document_detail/51656.html)

问题三:MaxCompute表如何设置自增序列? 
可以使用ROW\_NUMBER函数去实现。例如:select ROW\_NUMBER() OVER(),\* from tablename; 
可参考文档:[https://help.aliyun.com/document\_detail/34994.html](https://help.aliyun.com/document_detail/34994.html)

问题四:如何使用MaxCompute Java SDK设置SQL的Flag? 
使用DataWorks或MaxCompute Console提交SQL时,通常需要设置SQL的Flag。如果需要使用MaxCompute新数据类型,通过Session级别方式开启,则需要在涉及新数据类型的SQL前加Set Flag语句:set odps.sql.type.system.odps2=true;。 使用SDK提交SQL时,不能简单地把Set Flag语句直接放到SQL Query中执行。以Java SDK为例,设置Flag的正确方式如下。 // 构造SQLTask对象。SQLTask task = new SQLTask();task.setName("foobar");task.setQuery("select ...");// 设置flag。Map settings = new HashMap<>();settings.put("odps.sql.type.system.odps2", "true");... // 设置其它flags。task.setProperty("settings", new JSONObject(settings).toString()); // 这里是关键:将flags对应的json string设置到settings property中。Instance instance = odps.instances().create(task); // 执行。

问题五:MaxCompute SQL中运行分区表全表扫描后,为什么会费用增加? 
全表扫描费用增加是因为输入量增加了,例如有一张表按时间(天)分区,存放了365个分区(365天)数据,全表扫描则输入量为365个分区的数据量,如果用分区裁剪只取某个分区(某天)数据,则输入量就只有那个分区的数据量。

问题六:MaxCompute中,select \* from sale\_detail order by region; 报错:Semantic analysis exception-ORDER BY must be used with a LIMET clause 
ORDER BY 必须与limit共同使用。ORDER BY没有与limit共同使用时,报错返回。 
可参考文档:[https://help.aliyun.com/document\_detail/73777.html](https://help.aliyun.com/document_detail/73777.html)

问题七:在 MaxCompute 中,一张表的分区的数量是否越多越好? 
在 MaxCompute 中,一张表最多允许有 60000 个分区,同时每个分区的容量没有上限。但是分区数量过多,会导致统计和分析过程非常不方便。 
MaxCompute 也会限制单个作业中最多不能超过一定数量的 instance,而作业中的 instance 和您输入的数据量和分区数量密切相关的。所以您需要根据业务需要,选择合适的分区策略。

问题八:如果一开始并没有分区字段,是否可以增加或更改分区? 
您不可以在源表上直接增加或更改分区键,分区键一旦创建就不能更改。但您可以重新创建一张分区表,使用动态分区SQL把源表数据导入到新分区表。 
可参考文档:[https://help.aliyun.com/document\_detail/73779.html](https://help.aliyun.com/document_detail/73779.html)

问题九:如何查看MaxCompute数据量? 
1、针对全表,查看物理空间,您可以使用desc命令 
2、如果要查看表的数据条数,需要使用SQL。例如select count() as cnt from iris;

问题十:在MaxCompute中,需要将一行转化为多行的时候,我们该如何解决? 
Lateral View和split,explode等UDTF一起使用,它能够将一行数据拆成多行数据,并在此基础上对拆分后的数据进行聚合。

 

 

 

[原文链接](https://yq.aliyun.com/articles/741841?utm_content=g_1000099406)

本文为阿里云内容,未经允许不得转载。
分享到:
评论

相关推荐

    大数据之路选择Hadoop还是MaxCompute?Hadoop开源与MaxCompute对比材料

    ### 大数据之路选择Hadoop还是MaxCompute? #### 一、Hadoop与MaxCompute概述 ##### 1.1 Hadoop介绍与发展历程 Hadoop是由Apache软件基金会开发的一个开源分布式计算平台,采用Java语言编写,旨在支持大规模数据...

    阿里云大数据平台Maxcompute操作工具客户端

    阿里云大数据平台Maxcompute操作工具客户端

    基于MaxCompute的大数据BI分析.pptx

    基于 MaxCompute的大数据 BI 分析 本方案旨在解决大数据 BI 分析的技术创新问题,通过将业务数据和日志数据快速汇总到 ADB 后再通过 QuickBI 等工具进行可视化分析和展示。该方案适用于互联网、电商、游戏行业等...

    阿里大数据计算服务MaxCompute-入门指南.pdf

    阿里大数据计算服务MaxCompute入门指南 MaxCompute是阿里云提供的一种大数据计算服务,允许用户快速处理大量数据。为帮助用户快速开始使用MaxCompute,本文档提供了详细的入门指南。 一、准备工作 在使用...

    MaxCompute案例实践杭州峰会.pdf

    MaxCompute是阿里巴巴集团开发的云大数据计算平台,专为大规模数据仓库场景而设计。在【标题】中提到的“MaxCompute案例实践杭州峰会.pdf”文件中,主要讨论了MaxCompute的典型应用案例和架构,探讨了该平台在不同...

    MaxCompute大数据生态集成和开发工具.pdf

    MaxCompute是阿里巴巴云推出的一种大规模数据处理服务,它专注于大数据的存储和计算,能够支持PB级别的数据处理。在大数据生态集成和开发工具方面,MaxCompute 2.0展现了其强大的兼容性和灵活性。 首先,MaxCompute...

    阿里大数据计算服务MaxCompute-工具指南D.docx

    阿里大数据计算服务MaxCompute是一款由阿里巴巴提供的分布式大数据处理平台,旨在为企业提供高效、稳定、低成本的数据存储和计算能力。在本工具指南中,主要讲解了如何使用MaxCompute的客户端工具来操作和管理...

    万台集群性能优化方法——MaxCompute性能优化实践.pdf

    MaxCompute,原名ODPS,是阿里巴巴集团及阿里云的核心大数据计算服务,它是一个超大规模、低成本、高并发的分布式计算平台。此平台主要负责99%的数据存储和95%的计算任务,支撑了阿里巴巴内部包括阿里妈妈、天猫、...

    阿里大数据计算服务MaxCompute-产品简介.pdf

    MaxCompute是阿里巴巴推出的一种大规模数据处理服务,原名为ODPS,专为TB至PB级别的海量数据仓库解决方案设计。它提供了一种快速、完全托管的服务,旨在简化大数据分析和计算过程,降低企业的运营成本,并确保数据的...

    阿里大数据计算服务MaxCompute-入门指南D.docx

    创建项目空间是使用MaxCompute的第二步骤。用户可以通过阿里云官网创建自己的项目空间,并成为该项目的Owner。 知识点3:快速开始使用MaxCompute 快速开始使用MaxCompute需要完成一些准备工作,包括申请access ID...

    MaxCompute2.0新功能介绍.pdf

    9月4日MaxCompute直播课件下载。 了解更多MaxCompute产品和技术相关内容,可扫描二维码加入“MaxCompute开发者交流”钉钉群。

    MaxCompute技术公开课第四季之MaxComputeTunnel上传典型问题场景实战.pdf

    #### 二、MaxCompute Tunnel 上传限制 1. **速度限制**: - 上传速度取决于网络带宽及服务器性能,并无特定的速度限制。 - 如果遇到网络问题,可能会导致上传速度变慢。 2. **重传限制**: - 重传次数有限制,...

    MaxCompute计算长尾问题优化.pdf

    9月18日MaxCompute直播课件下载。 了解更多MaxCompute产品和技术相关内容,可扫描二维码加入“MaxCompute开发者交流”钉钉群。

    MaxCompute数据开发实战—数据进入MaxCompute的N种方式.pdf

    ### MaxCompute数据开发实战——数据进入MaxCompute的多种方式 #### 概述 本文档旨在详细介绍如何通过不同的技术手段和工具实现数据从多种源头至MaxCompute的高效迁移,并结合具体的业务场景,展示整个数据处理...

    MaxCompute的NewSQL演进之路.zip

    本资料“MaxCompute的NewSQL演进之路”将探讨MaxCompute如何借鉴NewSQL的思想,以适应大数据时代的挑战。 MaxCompute作为一个批处理系统,其核心设计目标是处理PB级别的数据,并支持SQL查询。然而,随着业务需求的...

    MaxCompute的NewSQL演进之路.pdf

    MaxCompute是阿里巴巴推出的大数据分析平台,它随着技术的进步和用户需求的增加,已经发展到2.0版本。在此过程中,MaxCompute不仅继承了传统数据库的强语义和强结构特点,同时也融入了NoSQL的横向扩展性和大数据处理...

    Maxcompute UDF函手动打包以及注册.doc

    方式二:将所有jar包打包进一个jar包 这种方式需要开发者新建一个JavaProject,在根目录下新建两个文件夹lib和META_INF。lib文件夹用于存放所有需要的jar包,而META_INF文件夹用于存放MANIFEST.MF文件。在MANIFEST....

Global site tag (gtag.js) - Google Analytics