本文为您介绍在跨组织和部门的场景下,如何通过大数据平台提供的跨组织数据授权功能,在不进行业务数据拷贝的情况下,实现数据共享和跨组织数据协同分析,提升业务分析效率。
背景信息
本实践适用于MaxCompute、DataWorks基于企业版V3.12及以上版本。
本实践的使用场景:客户不同的业务部署在不同的组织下,它们之间的业务数据相互隔离。某些业务场景下,需要融合不同组织下的业务数据进行协同分析。大数据计算MaxCompute和一站式开发平台DataWorks可以将不同组织间的数据进行授权共享,不需要将数据进行拷贝即可实现融合数据分析。
本实践涉及的主要组件介绍:
- 大数据计算MaxCompute:是面向大数据处理的分布式系统,主要提供结构化数据的存储和计算,服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。MaxCompute为用户提供一种便捷的分析处理海量数据的手段。用户可以不必关心分布式计算细节,从而达到分析大数据的目的。
- 一站式开发平台DataWorks:为您提供数据集成、数据开发、数据地图、数据质量和数据服务等全方位的产品服务。一站式开发管理的界面,帮助企业专注于数据价值的挖掘和探索。DataWorks支持离线同步、Shell、ODPS
SQL、ODPS MR等多种节点类型,通过节点之间的相互依赖,对复杂的数据进行分析处理。DataWorks提供可视化的代码开发、工作流设计器页面,无需搭配任何开发工具,通过简单拖拽和开发,即可完成复杂的数据分析任务。
操作步骤
- 创建不同的组织和用户。
- 创建两个组织。
- 登录Apsara Uni-manager运营控制台。
- 在顶部菜单栏,单击企业。
- 在左侧导航栏,单击组织管理。
- 单击添加组织,创建两个组织,本次以创建组织jiutian和gchang为例进行说明。
- 在组织下创建用户。
- 选中目标组织,在用户列表右侧单击创建用户。
- 在弹出的对话框中输入用户名等参数信息,完成后单击确定。
- 创建不同的大数据项目和工作空间。
- 在组织下分别创建大数据项目。
- 在Apsara Uni-manager运营控制台的顶部菜单栏,选择。
- 创建计算资源配额组。
在左侧导航栏,单击配额组管理,在页面左侧,单击创建。然后在弹出的对话框中输入对应参数,如下图所示。完成后单击确定。
- 创建任务云账号。
在左侧导航栏,单击任务云账号,在页面左侧,单击新建云账号。然后在弹出的对话框中输入对应参数,如下图所示。完成后单击确定。
- 在两个组织中分别创建大数据MaxCompute项目。
在左侧导航栏,单击Project管理,在页面左侧,单击创建project。然后在弹出的对话框中输入对应参数,其中配额组和任务云账号为上述步骤中所创建,如下图所示。完成后单击确定。本次创建的大数据MaxCompute项目为project1_6b(组织为jiutian)和sw6btest2(组织为gchang)。
- 在两个组织中分别创建DataWorks工作空间。
- 在Apsara Uni-manager运营控制台的顶部菜单栏,选择。
- 在左侧导航栏,选择。
- 在左侧导航栏,单击项目列表,在页面右上方单击创建工作空间。
- 在弹出的对话框中输入对应参数,并关联对应的大数据MaxCompute项目,如下图所示。完成后单击确定。
- 进行数据查询分析。
- 数据表查询。
- 在组织jiutian的工作空间project1_6b创建数据表,查询数据表。
- 在组织gchang的工作空间sw6btest2查询jiutian组织的数据表。查询报错,不同组织下的数据相互隔离。
- 跨组织工作空间数据表授权。
- 登录天基,选择,搜索odps-service-console服务。
- 在服务odps-service-console页面的所在集群页签中,单击目标集群操作列的运维。
- 在目标机器操作列单击Terminal登录,或者通过OPS1节点SSH登录odps-service-console服务节点。
- 执行
cp
命令,拷贝默认odps_config.ini文件创建project1_6b.ini文件。执行vim
命令,修改project1_6b.ini文件,将project_name、access_id、access_key修改为project1_6b的项目和组织的access_id、access_key。
- 执行
odpscmd
命令,登录project1_6工作空间,将sw6btest2工作空间管理员添加到project1_6b工作空间中,然后将工作空间project1_6b的数据表jingyan_wc_in授权给sw6btest2工作空间管理员。
- 数据表授权后,在gchang的工作空间sw6btest2查询组织1的数据表,查询结果正确。
- 跨组织工作空间数据协同分析。
- 执行如下命令,在本用户空间sw6btest2创建数据表并查询。
CREATE TABLE IF NOT EXISTS test1
(
`key` STRING COMMENT ''
,`cnt` BIGINT COMMENT ''
)
;
INSERT INTO test1 VALUES ('problem',1), ('project',2), ('package',3), ('pad',4) ;
SELECT * FROM test1 ;
- 执行如下命令,将jiutian和gchang组织的数据表进行跨组织数据表join协同分析,无需将对方组织下的数据拷贝到本组织的工作空间下,即可实现数据跨组织协同分析。
SELECT jingyan_wc_in.key
,jingyan_wc_in.value
,test1.cnt
FROM project1_6b.jingyan_wc_in
JOIN sw6btest2.test1
WHERE jingyan_wc_in.key = test1.key
;