大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的EB级数据仓库解决方案。这篇文章来对MaxCompute的基础开发环境进行搭建,来为开发提供基础。
开通MaxCompute
MaxCompute的开通需要具有阿里云的账号,账号的申请和MaxCompute的开通这里参见官方文档:开通MaxCompute文档。开通完成后可以在自己的控制台中找到MaxCompute已经创建的服务:
创建项目空间
开通MaxCompute之后,在使用MaxCompute之前需要创建项目空间。MaxCompute的项目空间包括两种类型:简单模式和标准模式。两者之间的主要区别为:
- 简单模式:指一个Dataworks工作空间对应一个MaxCompute项目,无法设置开发环境和生产环境,只能进行简单的数据开发。简单模式的工作空间无法对数据开发流程和表权限进行强控制。优势:迭代快,代码提交后,无需发布即可生效。风险:开发角色权限过大,可以随意删除本工作空间下的表,导致表权限存在风险。
- 标准模式:指一个Dataworks工作空间对应两个MaxCompute项目(开发和生产双环境),提升代码开发规范。、标准模式的工作空间可以严格控制表权限,禁止随意操作生产环境表的行为,保证生产表的数据安全。
具体创建过程
1. 在如下的位置进行创建项目空间:
2. 然后根据简单的指引进行创建即可:
3. 上述的可选选项的选择,可以参考:MaxCompute项目空间创建。
4. 创建完成后,可以在项目空间列表中看到创建完成的项目空间信息:
说明:之前已经创建了名为YITIAN_BJ_MC的项目空间,下面使用该项目空间进行后续的操作。
安装配置客户端
客户端(odpscmd)基于Java开发。在安装前,请确保您的设备上有Java 8或以上版本。在配置客户端之前,请确保您已创建好项目空间。如上述的过程。
安装配置过程
1. 客户端的安装:进入客户端下载页面,下载所需版本的MaxCompute客户端。
2. 客户端的解压,对下载的安装包解压以后得到如下的文件目录:
3. 配置文件的设置,编辑conf文件夹中的odps_config.ini文件,对客户端进行配置,配置文件示例如下:
# 1. 指定用户想进入的项目空间名称。
project_name=my_project
# 2. Accesss ID及Access Key是用户的云账号信息,可登录阿里云官网,进入管理控制台Access Key页面进行查看,请填写的时候去掉尖括号。
access_id=*******************
access_key=*********************
# 3. MaxCompute服务的访问链接。请根据创建项目时选择的Region以及网络信息进行选择,具体请参见配置Endpoint填写。
end_point=xxxxxxxxxxx
# 当用户执行一个作业后,客户端会返回该作业的Logview地址。打开该地址将会看到作业执行的详细信息。
log_view_host=http://logview.odps.aliyun.com
#决定是否开启HTTPS访问。
https_check=true
#确认输入数据最大值(单位:GB)。
data_size_confirm=100.0
# odpscmd 更新链接。
update_url=http://repo.aliyun.com/odpscmd
# 是否按实例隧道下载SQL结果。
use_instance_tunnel=true
# 按实例隧道下载SQL结果时的最大记录数。
instance_tunnel_max_record=10000
# Tunnel服务的访问链接。请根据创建项目时选择的Region以及网络信息进行选择,具体请参见配置Endpoint。
tunnel_endpoint=xxxxxxxxxxx
需要修改的配置项为上述的3点,下面根据自己的实际情况进行配置:
1. 配置项目名称
project_name=YITIAN_BJ_MC
2. 配置access_id和access_key
Accesss ID及Access Key是用户的云账号信息,可登录阿里云官网,进入管理控制台Access Key页面进行查看
3. 配置endpoint
end_point=http://service.cn.maxcompute.aliyun.com/api
上面endpoint的配置需要根据自己maxcompute开通的地区进行相应的修改,可选地区和配置项见:配置Endpoint。由于我开通的maxcompute地区为北京,因此相应的选用如下的endpoint配置:
- 如果上述选用的是DataWorks创建的标准模式下的MaxCompute项目,在填写project_name时,请注意区分生产环境与开发环境(_dev)项目名称。
- odps_config.ini文件中使用#作为注释。MaxCompute客户端内的命令行使用两个减号--作为注释。
- MaxCompute提供了外网、经典网络和VPC网络三种服务地址供您选择,不同的服务地址对您的下载计费结算有不同影响。如果您未配置Tunnel Endpoint,则Tunnel可能自动路由到公网,从而产生下载费用。详情请参见Endpoint
4. 运行客户端,运行bin目录下的MaxCompute客户端(Linux系统下运行./bin/odpscmd,Windows下运行./bin/odpscmd.bat)。出现如下信息,表示运行成功。
5. 使用客户端可以进行maxcompute sql的运行,具体见:MaxCompute客户端。
构建IDEA MaxCompute Studio开发环境
推荐使用MaxCompute Studio工具进行完整的大数据开发流程。该工具集成Java环境,可进行MaxCompute SQL脚本开发/执行、数据管理、可视化分析日志、Java(UDF、MR)开发。客户端(odpscmd)目前也已集成在MaxCompute Studio工具中。
开发环境设置步骤
1. 安装IDEA MaxCompute Studio插件。在IDEA的plugins中查找并按照MaxCompute Studio插件,如下图:
安装完成后重启IDEA后生效。
2. 创建MaxCompute项目并设置项目连接。插件安装完成后,创建MaxCompute项目,在新建项目选项中选择如下:
3. 创建项目连接。创建上述项目完成之后,需要将项目与对应的项目空间连接起来,就需要进行项目连接的创建。在如下视图中添加该项目的项目连接:
这里可以直接选择之前配置好的客户端配置文件:odps_config.ini文件。下面的选项会自动进行填充。当然也可以手动进行填写。创建完成后得到如下的显示信息:
4. 管理项目连接。如果需要修改maxcompute的项目连接:
5. 配置好项目连接之后,就可以进行数据的开发工作了。例如SQL的创建,查看表数据,编写并使用UDF等。
这里简单查看一下已有的表结构:
创建一个sql脚本文件,进行一个简单的SQL查询:
执行结果如下:
这部分详细内容会新建文章进行说明,本文仅对基础开发环境进行搭建。
以上内容参考自:阿里云MaxCompute开发文档,具体过程为自己实际的创建过程。