阿里云Data Lake Analysis 查询Table Store数据

阿里云Data Lake Analysis 查询Table Store数据。

Table Store

  1. 开通Table Store服务(OTS)
  2. 选择合适区域创建OTS实例,例 华北2北京区域下labs
  3. 创建OTS数据表web_page

Data Lake Analysis

  1. 开通Data Lake Analysis(DLA)服务并设置密码
  2. 创建DLA访问点

访问控制授权

在访问控制(RAM)中创建角色AliyunOpenAnalyticsAccessingOTSRole,给其授权 AliyunOTSFullAccess,并信任策略修改为

    {
    "Statement": [
        {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "openanalytics.aliyuncs.com"
                ]
            }
        }
    ],
    "Version": "1"
    }

数据交互

首先连接DLA

  1. 在VPC内的ECS中通过mysql客户端连接DLA访问点,命令

    mysql -h[end_point_host] -P[end_point_port]  -u[user_name] -p[password] -c -A

    注意以上4项参数都是DLA的,而不是Table Store的。

  2. 创建Table Store Schema

    CREATE SCHEMA labs  WITH DBPROPERTIES (
    catalog = 'ots',
    location = 'https://labs.cn-beijing.vpc.tablestore.aliyuncs.com',
    instance = 'labs'
    );

    其中 catelog设置为ots,表示使用的是Table Store的实例,location使用Tables Store实例 labs的VPC访问地址。

    如果没有进行上面的访问控制授权,这里会报错The role not exists: aliyunopenanalyticsaccessingotsrole或者listTable() failed,table_store_error, you are not authed

  3. 使用刚创建好的schema

    use labs;
  4. 同步数据表

    CREATE EXTERNAL TABLE web_page (
    topic varchar(100) not NULL ,
    url varchar(255) not NULL ,
    content text NULL ,
    http_code varchar NULL ,
    title varchar(255) NULL ,
    PRIMARY KEY (`topic`,`url`)
    );

    数据结构和Table Store中web_page表的字段结构顺序保持一致,创建好之后,Table Store中web_page中的数据会自动同步过来。

  5. 接下来就可以像普通MySQL数据库一样查询数据了。

Leave a Comment

豫ICP备19001387号-1