云原生数据湖分析(Data Lake Analytics,DLA)支持通过CU版访问Cassandra。本文主要介绍如何通过DLA连接并查询Cassandra上的数据。
前提条件
DLA目前仅支持通过CU版访问Cassandra,请确保您已经开通了DLA CU版本,具体请参见
DLA Presto CU版本快速入门。
说明 创建虚拟集群时,绑定的数据源网络必须和Cassandra集群在同一个VPC下面。
操作步骤
- 登录DLA控制台。
- 在左侧导航栏的Serverless Presto>SQL执行,单击登录DMS执行SQL,执行以下SQL命令创建数据库和创建表。
说明 您也可以通过MySQL客户端或者程序代码等方式连接DLA,然后执行SQL命令创建库。
- 创建数据库。
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密码。 |
- 创建表。
create external table cassandra_it_db.test_user (
first_name string,
last_name string
);
- 查询或访问数据。
由于只有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)