StarRocks示例
更新时间:2025-01-23
前提条件
- 已完成创建 BMR 集群,并且配置了 Paimon、Hive 组件,详情请参见创建集群。
- 已完成创建 StarRocks 是自建集群,将 BMR 集群 core-site.xml 和 hdfs-site.xml 配置文件 已复制到 StarRocks 集群 FE 和 FE 的 conf 下。
注意事项
- Paimon Catalog 仅支持查询 Paimon 数据,不支持针对 Paimon 的写/删操作。
StarRocks读示例
- SSH登录集群,参考SSH连接到集群;
- 创建 paimon 表,参考以下命令:
                Plain Text
                
            
            1spark-sql --master local[2] 
                Plain Text
                
            
            1USE paimon;
2USE default;
3drop table if exists spark_paimon;
4-- 如果没有 bucket,对 spark 没有影响,hive  可以读,但是不能写入。
5create table spark_paimon (
6    id int,
7    name string
8) tblproperties (
9    'primary-key' = 'id',
10    'bucket' = '4'
11);
12
13INSERT INTO spark_paimon VALUES (1, 'spark-paimon-1'), (2, 'spark-paimon-2');
14
15select * from spark_paimon;- 结果显示如下:
                Plain Text
                
            
            12	spark-paimon-2
21	spark-paimon-1- StarRocks 创建 Catalog,读取 Paimon 表,参考以下命令:
                Plain Text
                
            
            1CREATE EXTERNAL CATALOG srpaimon PROPERTIES
2(
3    "type" = "paimon",
4    "paimon.catalog.type" = "hive",
5    "paimon.catalog.warehouse" = "hdfs://bmr-cluster/warehouse/tablespace/managed/hive/spark_paimon",
6    "hive.metastore.uris" = "thrift://master-fba3efd-1:9083,thrift://master-fba3efd-2:9083"
7);
8SET CATALOG srpaimon;
9use default;
10 select * from spark_paimon;- 结果显示如下:
                Plain Text
                
            
            1+------+----------------+
2| id   | name           |
3+------+----------------+
4|    1 | spark-paimon-1 |
5|    2 | spark-paimon-2 |
6+------+----------------+导入 Paimon 示例
- 创建 StarRocks 表,并插入数据,参考以下命令:
                Plain Text
                
            
            1CREATE DATABASE srpaimontest;
2use srpaimontest;
3create table srtest (
4    id int,
5    name string
6);
7INSERT INTO srtest VALUES (3, 'spark-paimon-3'), (4, 'spark-paimon-4');
8select * from srtest;- 结果显示如下:
                Plain Text
                
            
            1+------+----------------+
2| id   | name           |
3+------+----------------+
4|    4 | spark-paimon-4 |
5|    3 | spark-paimon-3 |
6+------+----------------+- 导入 paimon 表数据,参考以下命令:
                Plain Text
                
            
            1INSERT INTO  srtest SELECT * FROM  srpaimon.`default`.`spark_paimon`;
2select * from srtest;- 结果显示如下:
                Plain Text
                
            
            1+------+----------------+
2| id   | name           |
3+------+----------------+
4|    1 | spark-paimon-1 |
5|    2 | spark-paimon-2 |
6|    3 | spark-paimon-3 |
7|    4 | spark-paimon-4 |
8+------+----------------+