MaxCompute开发笔记——快速入门

前提条件

请确保以下工作已经完成:

开通阿里云账号。

购买MaxCompute。

创建要使用的项目空间,详情请参见创建空间。如果要使用的项目空间已存在,请确保已被添加至此项目空间并被赋予建表等权限。

完成客户端安装配置。

导入数据

Tunnel命令导入数据

1.准备数据 。将测试数据下载至本地备用

2.创建MaxCompute表。

3.执行Tunnel命令。

4.结果验证。

实际上整个过程有点像hive的数据导入,但是maxcomputer主要用通道来完成,而hive可以基于hdfs完成

其他导入方式:

除了通过客户端导入数据,您也可以使用MaxCompute Studio、Tunnel SDK、数据集成、开源的Sqoop、Fluentd、Flume、LogStash 等工具将数据导入到MaxCompute

后续步骤

当数据导入到MaxCompute后,可以在MaxCompute上运行SQL来处理数据。

sql运行以及导出数据

MaxCompute支持以下方式运行SQL语句:

客户端

DataWorks、Dataphin

背景信息:

MaxCompute目前支持的SQL语法如下:

各类运算符。

通过DDL语句对表、分区以及视图进行管理。

通过SELECT语句查询表中的记录,通过WHERE语句过滤表中的记录。

通过INSERT语句插入数据、更新数据。

通过等值连接JOIN操作,支持两张表的关联,并支持多张小表的MapJOIN。(maxcomputer的建表好像没有mysql那样的依赖操作,建表时主要考虑优化问题)

通过内置函数和自定义函数来进行计算。

正则表达式。

MaxCompute SQL不支持事务、索引、UPDATE以及DELETE等操作,同时MaxCompute的SQL语法与Oracle、MySQL有一定差别,您无法将其他数据库中的SQL语句无缝迁移到MaxCompute上来。

MaxCompute上作业提交后会有几十秒到数分钟不等的排队调度,所以MaxCompute适合一次批量处理海量数据的跑批作业,不适合直接对接需要每秒处理几千至数万笔事务的前台业务系统。

提取和分析数据

INSERT OVERWRITE TABLE result_table

SELECT education,COUNT(marital) AS num

FROM bank_data

WHERE housing = ‘yes’ AND marital = ‘single’

GROUP BY education;

上述过程仅仅是一个最简单的数据加工举例,您在实际应用的过程中,可能需要使用多个SQL对多个表进行加工操作。推荐您使用DataWorks完成复杂的数据加工业务流程。

导出数据

tunnel download result_table D:\result.txt;

MapReduce编程

操作步骤

1.安装并配置好客户端后,运行bin目录下的MaxCompute客户端(Linux系统下运行./bin/odpscmd,Windows下运行./bin/odpscmd.bat),进入相应项目空间中。

2.使用Tunnel命令上传数据。

3.在表中插入数据。

4.开发MapReduce程序并上传MaxCompute。

5.在MaxCompute客户端,添加Jar包到project资源(例如,此处的Jar包名为word-count-1.0.jar)。

6.在MaxCompute客户端运行Jar命令。

7.在MaxCompute客户端查看结果。

开发Java UDF

1.准备工具环境并创建Java Module。

您需要完成准备工作,包括安装Studio并在Studio上创建MaxCompute项目链接以及创建MaxCompute Java Module。

2.编写代码(maven注入依赖)

3.注册MaxCompute UDF。

4.试用UDF。

编写Graph

临时查询

进入DataWorks控制台工作空间列表页面,单击相应工作空间后的进入数据开发。

创建ODPS SQL节点。

在这里插入图片描述

填写新建节点对话框中的节点名称,单击提交完成节点的创建。

在创建的临时查询节点中输入SQL语句,单击按钮。

您可以查看本次运行的费用预估,决定是否继续进行本次操作。单击运行,继续SQL语句运行。

在下方的日志窗口,查看运行情况和最终结果。如果本次运行成功,结果为OK。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/554949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中android_在Android中用纯Java代码布局

本文的完成了参考了一篇国外的教程,在此表示感谢。Android中的界面布局主要有两种方式,一种是xml文件和Java代码结合的布局方式,一种是完全依靠Java代码布局。两种布局方式的比较对于第一种方式,大多数人都比较熟悉,在这里就不细说…

DataWorks概述

文章目录一、DataWorks概况1.1 定义1.2 功能1.3 与MaxCompute的关系二、基于DataWorks与MaxCompute构建云数仓一站式大数据开发治理DataWorks学习DataWorks 是什么?产品定位产品受众核心能力数据治理的概念、需求层次和目标对于数据治理概念的一些基本理解数据治理的…

Dataworks的使用——详细说明

一、开通Dataworks (1)百度搜Dataworks,进入如下页面,点击立即开通 (2) 这里要选好自己想要的配置,这里展示我之前的配置 解决方案:选DataWorksMaxCompute组合产品 DataWorks&…

DataWorks快速入门

快速入门 入门概述 说明 如果您是第一次使用DataWorks,请确认已经根据准备工作模块的操作,准备好账号和工作空间角色等内容后,登录DataWorks控制台,单击相应工作空间后的进入数据开发,即可进行数据开发操作。本模块的…

php.amazeui,AmazeUI 导航条的实现示例

拥有易用的导航条对于任何网站都很重要。本文主要介绍了AmazeUI 导航条的实现示例,分享给大家,具体如下:导航条Amaze UI导航切换 首页项目下拉 标题1. 去月球2. 去火星3. 还是回地球4. 下地狱5. 桥头一回首其他 注册随便看看登录....am-topba…

JNDI用法详解

JNDI全称(Java Naming and Directory Interface),是java命名和目录接口。它是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。 1、命名的概念与应用 JNDI中的命名(Nam…

BigDecimal保留两位小数

文章目录前言1.代码实现2.方法详解注释前言 在项目中经常会用到小数的一些计算,而float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而&#xff…

DataIntegrityViolationException: Error attempting to get column ‘xx‘——DataIntegrityViolationExceptio

一、解决办法 项目中在更新数据库时出现异常,org.springframework.dao.DataIntegrityViolationException,当然如果控制台直接报这个异常问题的解决估计也不至于让我写篇博客。 先说这个异常代表的含义吧: 这个异常的意思就是在更新&#xff…

Java中new Date插入mysql数据库,数据库时间多一秒问题

这是由于new Date()时,实际上是调用的System.currentTimeMillis()方法,即获得以毫秒为级别的时间戳。 一般数据库表的字段类型datetime/timestamp长度都是设置为0。 MySQL数据库对于毫秒大于500的数据进行进位,所以就造成的MySQL中的时间多一…

学php还是golang,学swoole还是golang

Swoole是一个面向生产环境的 PHP 异步网络通信引擎,使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。 (推荐学习:swoole视频教程)Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏…

java解析vue对象数组,Java数组

Java提供了一个数据结构,所述数组,其存储相同类型的元件的固定大小的连续集合。数组用于存储数据集合,但将数组视为相同类型变量的集合通常更为有用。您可以声明一个数组变量,例如数字和数字[0],数字[1]和...&#xff…

Java中List的subList()方法及使用注意事项

List<Object> list new Arraylist<>();List<Object> subList list.subList(0, 5);其中subList(0, 5)取得的是下标为0到4的元素,不包含下标为5的元素. java.util.List中的subList方法返回列表中指定的 fromIndex&#xff08;包括 &#xff09;和 toIndex&a…

SpringBoot 实现SSE 服务器发送事件

SSE 全称Server Sent Event&#xff0c;直译一下就是服务器发送事件&#xff0c;一般的项目开发中&#xff0c;用到的机会不多&#xff0c;可能很多小伙伴不太清楚这个东西&#xff0c;到底是干啥的&#xff0c;有啥用 本文主要知识点如下&#xff1a; SSE 扫盲&#xff0c;应…

php多表递归查询,使用公用表表达式的递归查询

微软从SQL2005起引入了CTE(Common Table Expression)以强化T-SQL。公用表表达式 (CTE) 具有一个重要的优点&#xff0c;那就是能够引用其自身&#xff0c;从而创建递归 CTE。递归 CTE 是一个重复执行初始 CTE 以返回数据子集直到获取完整结果集的公用表表达式。当某个查询引用递…

Springboot之整合SSE实现消息推送

Springboot之整合SSE实现消息推送 前言 项目中涉及到部分请求&#xff0c;后端处理时间较长&#xff0c;使用常规Http请求&#xff0c;页面等待时间太长&#xff0c;对用户不友好&#xff0c;故考虑使用长链接进行消息推送&#xff0c;可选方案有WebSocket、SSE&#xff0c;We…

Vue中npm run dev 和 npm run serve区别

在运行vue文件时&#xff0c;需要进行npm操作&#xff0c;但我们发现&#xff0c;有时候用的是npm run serve&#xff0c;而有的时候用的是npm run dev&#xff0c;二者有什么区别 在我们运行一些 vue 项目的时候&#xff0c;输入npm run serve或者 npm run dev的其中一个时&a…

SpringBoot导出数据为PDF

一、SpringBoot导出数据为PDF 1、添加所需依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.11</version> </dependency> <dependency><groupId>com.itextpdf.…

php安装mem+cache扩展,安装memcached及php扩展

用的是centos系统1、安装memcachedyum -y install memcached安装完成后&#xff0c;memcached -h应该会出现memcached 参数说明2、memcached配置文件vi /etc/sysconfig/memcachedPORT"11210"USER"memcached"MAXCONN"1024"CACHESIZE"64"…

Springboot集成支付宝沙箱支付(完整版)

开发前准备 easy支付官方文档&#xff1a;https://opendocs.alipay.com/open/009ys9 通用版文档&#xff1a;https://opendocs.alipay.com/open/02np94 支付宝沙箱的配置 注册支付宝开发者账户&#xff0c;进入开发者控制台 https://openhome.alipay.com/platform/developer…

Springboot集成支付宝沙箱支付(退款功能)

包括&#xff1a; 支付宝沙箱 支付 异步通知 退款功能 正式版本的sdk 通用版本SDK文档&#xff1a;https://opendocs.alipay.com/open/02np94 <dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><…