首页 > 编程知识 正文

odps改字段类型,odps0130161

时间:2023-05-04 13:14:24 阅读:141030 作者:3705

注: MaxCompute,原名ODPS,根据使用习惯,以下指的是MaxCompute,即阿里巴巴数据计算服务,而不是ODPS。

一、为什么选择ODPS? 你会选择Apache Hadoop吗?

以Hadoop为代表的开源组件构建和维护成本高,存在很多配置、网络和参数问题,升级时存在不兼容的风险,需要单独构建HBase等附加组件

是否选择Cloudera CDH?

以Cloudera为代表的集成组件大大提高了易用性,大大简化了版本和配置,但配置参数、任务优化、日常业务运营仍然需要专家,一些平台(如任务调度)仍然是自己

是否选择ODPS?

ODPS最大的优势在于通过不在场证明内部复杂多变的业务场景,完整梳理了大数据计算的全流程,统一了各个环节的组件,实现了从日志采集、数据计算、数据展示到数据分析的全流程集成。 了解计算流程后,可以进行特定于硬件的定制,从而减少“成本节约插件”(采购成本(如服务器数量)、人工成本(如运输成本)、时间成本)、可扩展性)

二、开发者是怎么知道ODPS的? 1 .学习原理吗?

要学习Hadoop系列的原理,单纯地学习ODPS其实没有什么意义。 从技术学习的角度来看,开源一直是程序员最好的老师。 即使是《Hadoop权威指南》,笔者也认为不如直接搭建一个小平台,阅读英文原版文档。 说到一个道理,学历绝不是个人差异的主要因素,而只有持续的学习状态。 程序员这项工作,由于局限于中国的发展阶段,大部分第一手资料都是英语,学好英语其实是首要的,对计算机的兴趣只能排在第二位。 几年前,我们常说互联网不歧视学历,有这样那样的漏洞可以钻,这并不是因为互联网要求的门槛低,而是处于行业爆发期,人才短缺的表现。 现在,我们又说: 互联网在寒冬里似乎更难找到工作了,其实技术过硬的人才依然难找,无法持续学习的程序员在行业漫长的发展过程中,会逐渐被淘汰。 多学习英语,多阅读英语资料是保持自我技术能力的重要方法。

2 .我学技术吗?

从业务的角度看,技术有不断融合的趋势,实践和动手是第一老师。 就像源代码多并不一定能设计出好的系统一样,使用统一的平台,虽然最初处于半生不熟的状态,但胜过快速地建立自信。 举个例子,没有人在学习Java后马上用手撕裂JVM。 从" Hello World "开始写。 使用ODPS时,通过使用已经集成的平台,快速建立对大数据计算的基本认识和初始兴趣,分解各个部分并说明其原因,最后深入到源代码,这符合学习过程。

三、ODPS应该如何学习? 1 .制作类似“hello世界”的例子

ODPS提供了临时查询工具。

熟悉ODPS SQL

与大多数类SQL一样,ODPS SQL也是ANSI SQL92的子集,并添加了某些扩展。 请注意,ODPS SQL不支持事务、主键约束和索引等数据库特性,最纤细的多维数据集长度为2MB。 具体差异如下图所示

DDL和DML的区别和解决方案:

eft:0cm;"> 

3.熟悉配套工具DataWorks

逐步学习使用相关的开发平台。DataWorks的作用是什么?官方的解释是,包含了数据集成、数据开发、数据地图、数据质量和数据服务等全方位的产品服务,并提供一站式开发管理的界面。以下是最原始的直观认知图:

DataWorks中最重要的是需要理解任务的概念,任务是对数据执行的操作的定义,包括数据同步任务及数据计算任务,分为节点任务(node task)、工作流任务(flow task)和内部节点(inner node)三个部分。具体流程如下图所示:

三种任务的概念解释:

(1)节点任务(node task),一个数据执行的操作。可以与其他节点任务、工作流任务配置依赖关系,组成DAG图;

(2)工作流任务(flow task),满足一个业务场景需求的一组内部节点,组成一个工作流任务。工作流任务内部节点,无法被其它工作流任务、节点任务依赖。工作流任务可以与其它工作流任务、节点任务配置依赖关系,组成DAG图。

(3)内部节点(inner node):工作流任务内部的节点,与节点任务的功能基本一致。您可以通过拖拽形成依赖关系,其调度周期会继承工作流任务的调度周期,无法进行单独配置。

DataWorks中数据开发流程如下图所示:

 

4.为自己准备一个数据仓库的开发模板

一次开发任务的过程如下:

在这里,首先要学习数据调研的过程,并分析业务过程。例如以电商行业为例,一次完整的交易流程,我们可以划分成如下图所示的过程:

有了交易的过程,我们就可以划分如下的数据域,将过程中的各个环节进行抽象和聚合:

接着,我们假设需要将各个数据域的数据进行分别统计和展示,就需要有一定的设计方法论。这里建议采用阿里的数据层次划分方法论:

(1)ODS:操作数据层,包括原始数据的增量部分或者全量部分,相当于一个数据准备区,承担着基础数据的记录以及历史变化;

(2)CDM:公共维度模型层,又细分为DWD和DWS。主要作用是完成数据加工与整合、建立一致性的维度、构建可复用的面向分析和统计的明细事实表以及汇总公共粒度的指标。

(3)ADS:应用数据层,主要用于分类和展示已计算好的数据。

具体仓库的分层情况需要结合业务场景、数据场景、系统场景进行综合考虑:

最后,我们需要验证数据是否准确。

 

5.在实践中熟悉相关命令

任何开发都不是简单的随意撰写,都需要在满足一定规范的基础上进行:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。