云原生数据湖分析(Data Lake Analytics,DLA)支持通过CU版访问Cassandra。本文主要介绍如何通过DLA连接并查询Cassandra上的数据。

前提条件

DLA目前仅支持通过CU版访问Cassandra,请确保您已经开通了DLA CU版本,具体请参见 DLA Presto CU版本快速入门
说明 创建虚拟集群时,绑定的数据源网络必须和Cassandra集群在同一个VPC下面。

操作步骤

  1. 登录DLA控制台
  2. 在左侧导航栏的Serverless Presto>SQL执行,单击登录DMS执行SQL,执行以下SQL命令创建数据库和创建表。
    说明 您也可以通过MySQL客户端或者程序代码等方式连接DLA,然后执行SQL命令创建库。
    1. 创建数据库。
      create database cassandra_it_db with dbproperties(
          catalog = 'cassandra',
          location = 'cds-test-1-core-001.cassandra.rds.aliyuncs.com,cds-test-1-core-002.cassandra.rds.aliyuncs.com,cds-test-1-core-003.cassandra.rds.aliyuncs.com',
          port = '9042',
          keyspace = 'test_keyspace',
          user = 'test',
          password = 'test'
      );
      参数名称 参数说明
      catalog 表示创建的是Cassandra类型的数据库。
      location 需要访问的Cassandra集群的私网连接点。
      port 需要访问的Cassandra集群的CQL端口。
      keyspace 需要访问的Cassandra集群的keyspace。
      user 需要访问的Cassandra集群的keyspace用户名。
      password 需要访问的Cassandra集群的keyspace密码。
    2. 创建表。
      create external table cassandra_it_db.test_user (
          first_name string,
          last_name string
      );
  3. 查询或访问数据。
    由于只有CU的计算资源和Cassandra网络可以联通,因此所有访问Cassandra表的SQL语句都需要指定 hint: /*+cluster=your-vc-name*/ ,这样SQL才会在CU中执行。
    查询数据示例如下:
    mysql> /*+cluster=vc-test*/select * from test_user where first_name = 'james';
    +------------+-----------+
    | first_name | last_name |
    +------------+-----------+
    | james      | bond      |
    +------------+-----------+
    1 row in set (1.79 sec)