本文为您介绍在跨组织和部门的场景下,如何通过大数据平台提供的跨组织数据授权功能,在不进行业务数据拷贝的情况下,实现数据共享和跨组织数据协同分析,提升业务分析效率。

背景信息

本实践适用于MaxCompute、DataWorks基于企业版V3.12及以上版本。

本实践的使用场景:客户不同的业务部署在不同的组织下,它们之间的业务数据相互隔离。某些业务场景下,需要融合不同组织下的业务数据进行协同分析。大数据计算MaxCompute和一站式开发平台DataWorks可以将不同组织间的数据进行授权共享,不需要将数据进行拷贝即可实现融合数据分析。

本实践涉及的主要组件介绍:

  • 大数据计算MaxCompute:是面向大数据处理的分布式系统,主要提供结构化数据的存储和计算,服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。MaxCompute为用户提供一种便捷的分析处理海量数据的手段。用户可以不必关心分布式计算细节,从而达到分析大数据的目的。
  • 一站式开发平台DataWorks:为您提供数据集成、数据开发、数据地图、数据质量和数据服务等全方位的产品服务。一站式开发管理的界面,帮助企业专注于数据价值的挖掘和探索。DataWorks支持离线同步、Shell、ODPS SQL、ODPS MR等多种节点类型,通过节点之间的相互依赖,对复杂的数据进行分析处理。DataWorks提供可视化的代码开发、工作流设计器页面,无需搭配任何开发工具,通过简单拖拽和开发,即可完成复杂的数据分析任务。

操作步骤

  1. 创建不同的组织和用户。
    1. 创建两个组织。
      1. 登录Apsara Uni-manager运营控制台。
      2. 在顶部菜单栏,单击企业
      3. 在左侧导航栏,单击组织管理
      4. 单击添加组织,创建两个组织,本次以创建组织jiutian和gchang为例进行说明。创建组织
    2. 在组织下创建用户。
      1. 选中目标组织,在用户列表右侧单击创建用户
      2. 在弹出的对话框中输入用户名等参数信息,完成后单击确定创建用户
  2. 创建不同的大数据项目和工作空间。
    1. 在组织下分别创建大数据项目。
      1. 在Apsara Uni-manager运营控制台的顶部菜单栏,选择产品 > 大数据 > 大数据计算 MaxCompute
      2. 创建计算资源配额组。

        在左侧导航栏,单击配额组管理,在页面左侧,单击创建。然后在弹出的对话框中输入对应参数,如下图所示。完成后单击确定

        创建配额组
      3. 创建任务云账号。

        在左侧导航栏,单击任务云账号,在页面左侧,单击新建云账号。然后在弹出的对话框中输入对应参数,如下图所示。完成后单击确定

        创建任务云账号
      4. 在两个组织中分别创建大数据MaxCompute项目。

        在左侧导航栏,单击Project管理,在页面左侧,单击创建project。然后在弹出的对话框中输入对应参数,其中配额组和任务云账号为上述步骤中所创建,如下图所示。完成后单击确定。本次创建的大数据MaxCompute项目为project1_6b(组织为jiutian)和sw6btest2(组织为gchang)。

        创建项目
    2. 在两个组织中分别创建DataWorks工作空间。
      1. 在Apsara Uni-manager运营控制台的顶部菜单栏,选择产品 > 大数据 > Dataworks
      2. 在左侧导航栏,选择全部产品 > 组织管理
      3. 在左侧导航栏,单击项目列表,在页面右上方单击创建工作空间
      4. 在弹出的对话框中输入对应参数,并关联对应的大数据MaxCompute项目,如下图所示。完成后单击确定工作空间1工作空间2
  3. 进行数据查询分析。
    1. 数据表查询。
      1. 在组织jiutian的工作空间project1_6b创建数据表,查询数据表。数据表查询
      2. 在组织gchang的工作空间sw6btest2查询jiutian组织的数据表。查询报错,不同组织下的数据相互隔离。数据表查询报错
    2. 跨组织工作空间数据表授权。
      1. 登录天基,选择运维 > 服务运维,搜索odps-service-console服务。
      2. 服务odps-service-console页面的所在集群页签中,单击目标集群操作列的运维
      3. 在目标机器操作列单击Terminal登录,或者通过OPS1节点SSH登录odps-service-console服务节点。登录服务节点
      4. 执行cp命令,拷贝默认odps_config.ini文件创建project1_6b.ini文件。执行vim命令,修改project1_6b.ini文件,将project_name、access_id、access_key修改为project1_6b的项目和组织的access_id、access_key。创建项目
      5. 执行odpscmd命令,登录project1_6工作空间,将sw6btest2工作空间管理员添加到project1_6b工作空间中,然后将工作空间project1_6b的数据表jingyan_wc_in授权给sw6btest2工作空间管理员。添加管理员
      6. 数据表授权后,在gchang的工作空间sw6btest2查询组织1的数据表,查询结果正确。表查询
    3. 跨组织工作空间数据协同分析。
      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 ;
        创建表
      2. 执行如下命令,将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
        ;
        协同分析