大数据StarRocks(六) :Catalog

news2024/9/20 18:49:54

StarRocks 自 2.3 版本起支持 Catalog(数据目录)功能,实现在一套系统内同时维护内、外部数据,方便您轻松访问并查询存储在各类外部源的数据。

1. 基本概念

内部数据:指保存在 StarRocks 中的数据。
外部数据:指保存在外部数据源(如 Apache Hive™、Apache Iceberg、Apache Hudi、Delta Lake、JDBC)中的数据。

2. Catalog

当前 StarRocks 提供两种类型 Catalog:internal catalog 和 external catalog。
在这里插入图片描述

2.1 Internal catalog

内部数据目录,用于管理 StarRocks 所有内部数据。例如,执行 CREATE DATABASE 和 CREATE TABLE 语句创建的数据库和数据表都由 internal catalog 管理。 每个 StarRocks 集群都有且只有一个 internal catalog 名为 default_catalog。

2.2 External catalog

外部数据目录,用于连接外部 metastore。在 StarRocks 中,您可以通过 external catalog 直接查询外部数据,无需进行数据导入或迁移。当前支持创建以下类型的 external catalog:

Hive catalog:用于查询 Hive 数据。
Iceberg catalog:用于查询 Iceberg 数据。
Hudi catalog:用于查询 Hudi 数据。
Delta Lake catalog:用于查询 Delta Lake 数据。
JDBC catalog:用于查询 JDBC 数据源的数据。
使用 external catalog 查询数据时,StarRocks 会用到外部数据源的两个组件:

2.3 元数据服务

用于将元数据暴露出来供 StarRocks 的 FE 进行查询规划。

2.4 存储系统

用于存储数据。数据文件以不同的格式存储在分布式文件系统或对象存储系统中。当 FE 将生成的查询计划分发给各个 BE 后,各个 BE 会并行扫描 Hive 存储系统中的目标数据,并执行计算返回查询结果。

2.5 访问 Catalog

使用 SET CATALOG 切换当前会话里生效的 Catalog,然后通过该 Catalog 查询数据。

3. 查询数据

3.1 查询内部数据

连接 StarRocks。

如从 MySQL 客户端连接到 StarRocks。连接后,默认进入到 default_catalog。
如使用 JDBC 连接到 StarRocks,连接时即可通过 default_catalog.db_name 的方式指定要连接的数据库。
(可选)通过 SHOW DATABASES 查看数据库:

SHOW DATABASES;

SHOW DATABASES FROM default_catalog;

(可选)通过 SET CATALOG 切换当前会话生效的 Catalog:

SET CATALOG <catalog_name>;

再通过 USE 指定当前会话生效的数据库:

USE <db_name>;

或者,也可以通过 USE 直接将会话切换到目标 Catalog 下的指定数据库:

USE <catalog_name>.<db_name>;

通过 SELECT 查询内部数据:

SELECT * FROM <table_name>;

如在以上步骤中未指定数据库,则可以在查询语句中直接指定。

SELECT * FROM <db_name>.<table_name>;

SELECT * FROM default_catalog.<db_name>.<table_name>;

默认为内部查询示例:
在这里插入图片描述

3.2 查询外部数据

连接 StarRocks。

如从 MySQL 客户端连接到 StarRocks。连接后,默认进入到 default_catalog。
如使用 JDBC 连接到 StarRocks,连接时即可通过 default_catalog.db_name 的方式指定要连接的数据库。
(可选)执行以下语句查看当前 StarRocks 集群中的所有 Catalog 并找到指定的 External Catalog。

SHOW CATALOGS;

(可选)执行以下语句查看指定 external catalog 中的数据库。

SHOW DATABASES FROM catalog_name;

(可选)执行以下语句将当前会话切换到指定 external catalog 的指定数据库。

USE catalog_name.db_name;

查询外部数据。

SELECT * FROM table_name;

如在以上步骤中未指定 external catalog 和数据库,则可以在查询语句中直接指定。示例:

SELECT * FROM catalog_name.db_name.table_name;

示例:
在这里插入图片描述

3.3 跨 catalog 查询数据

如想在一个 catalog 中查询其他 catalog 中数据,可通过 catalog_name.db_name 或 catalog_name.db_name.table_name 的格式来引用目标数据。举例:
在 default_catalog.olap_db 下查询 hive_catalog 中的 hive_table。

SELECT * FROM hive_catalog.hive_db.hive_table;

在 hive_catalog.hive_db 下查询 default_catalog 中的 olap_table。

SELECT * FROM default_catalog.olap_db.olap_table;

在 hive_catalog.hive_db 中,对 hive_table 和 default_catalog 中的 olap_table 进行联邦查询。

SELECT * FROM hive_table h JOIN default_catalog.olap_db.olap_table o WHERE h.id = o.id;

在其他目录下,对 hive_catalog 中的 hive_table 和 default_catalog 中的 olap_table 进行联邦查询。

SELECT * FROM hive_catalog.hive_db.hive_table h JOIN default_catalog.olap_db.olap_table o WHERE h.id = o.id;

示例:
在这里插入图片描述

4. 外部表

外部表在3.1之后版本会逐步下线,推荐使用Catalog

StarRocks 支持以外部表 (External Table) 的形式,接入其他数据源。外部表指的是保存在其他数据源中的数据表,而 StartRocks 只保存表对应的元数据,并直接向外部表所在数据源发起查询。目前 StarRocks 已支持的第三方数据源包括 MySQL、StarRocks、Elasticsearch、Apache Hive™、Apache Iceberg 和 Apache Hudi。对于 StarRocks 数据源,现阶段只支持 Insert 写入,不支持读取,对于其他数据源,现阶段只支持读取,还不支持写入。

从 3.0 版本起,对于查询 Hive、Iceberg、Hudi 数据源的场景,推荐使用 Catalog。参见 Hive catalog、Iceberg catalog、Hudi catalog。
从 3.1 版本起,对于查询 MySQL、PostgreSQL 的场景推荐使用 JDBC catalog,对于查询 Elasticsearch 的场景推荐使用 Elasticsearch catalog。
从 2.5 版本开始,查询外部数据源时支持 Data Cache,提升对热数据的查询性能

Catalog的相关知识就先介绍到这里了,欢迎点赞,收藏,转发,评论交流~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1367570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【QML COOK】- 003-处理鼠标事件

1. 编辑main.qml import QtQuickWindow {width: 800height: 800visible: truetitle: qsTr("Hello World")Image {id: backgroudanchors.fill: parentsource: "qrc:/Resources/Images/arrow.png"}MouseArea {anchors.fill: parentonClicked: backgroud.rot…

Python(30):非对称加密算法RSA的使用(openssl生成RSA公私钥对)

Python(30)&#xff1a;非对称加密算法RSA的使用(openssl生成RSA公私钥对) 1、openssl生成RSA公私钥对 1.1、生成RSA公私钥对命令 [rootloaclhost ~]# openssl OpenSSL> genrsa -out rsa_private_key.pem 1024 Generating RSA private key, 1024 bit long modulus .. ...…

微服务概述之单体架构

微服务概述 互联网始于 1969年美国的阿帕网&#xff08;ARPA&#xff09;&#xff0c;最开始的阿帕网只在美国军方使用。随着时间的推移&#xff0c;一些大学也开始加入建设&#xff0c;慢慢演化成了现在的因特网 &#xff08;Internet&#xff09;。随着计算机网络的普及&…

图像融合论文阅读:CrossFuse: 一种基于交叉注意机制的红外与可见光图像融合方法

article{li2024crossfuse, title{CrossFuse: A novel cross attention mechanism based infrared and visible image fusion approach}, author{Li, Hui and Wu, Xiao-Jun}, journal{Information Fusion}, volume{103}, pages{102147}, year{2024}, publisher{Elsevier} } 论文…

1.1map

unordered_map和map的使用几乎是一致的&#xff0c;只是头文件和定义不同 #include<iostream> #include<map>//使用map需要的头文件 #include<unordered_map>//使用unordered_map需要的头文件 #include<set>//使用set需要的头文件 #include<uno…

用通俗易懂的方式讲解:如何提升大模型 Agent 的能力?

大型语言模型&#xff08;LLM&#xff09;的出现带火了Agent。利用LLM理解人类意图、生成复杂计划并且能够自主行动的能力。Agent具有无与伦比的能力&#xff0c;能够做出类似于人类复杂性的决策和完成一些复杂的工作。 目前市面上已经出现非常多得Agent框架&#xff1a;XAgen…

如何使用PR制作抖音视频?抖音短视频创作素材剪辑模板PR项目工程文件

如何使用PR软件制作抖音视频作品&#xff1f;Premiere Pro 抖音短视频创作素材剪辑模板PR项目工程文件。 3种分辨率&#xff1a;10801920、10801350、10801080。 来自PR模板网&#xff1a;https://prmuban.com/37058.html

双向逆变器流程

逆变过程 反向充电过程 首先AC整流&#xff0c;然后经过LLC电路进行DC-DC转换&#xff0c;这样就可以给电池充电了。也就是市电通过上面的电路就可以存储到电池里面。能量存储到电池里面&#xff0c;后面需要用的时候&#xff0c;也可以通过一定电路把能量释放出来。这就是逆变…

20240107让Firefly的AIO-3399J开发板的Android11下配置为默认1080p录像

20240107让Firefly的AIO-3399J开发板的Android11下配置为默认1080p录像 2024/1/7 23:01 开发板&#xff1a;Firefly的AIO-3399J【RK3399】 SDK&#xff1a;rk3399-android-11-r20211216.tar.xz【Android11】 Android11.0.tar.bz2.aa【ToyBrick】 Android11.0.tar.bz2.ab Androi…

江科大-stm32-B站系统初识笔记P2

文章目录 一&#xff1a;ARM是什么二&#xff1a;关键字介绍 推荐视频&#xff1a;《 STM32入门教程-2023版 细致讲解 中文字幕》 一&#xff1a;ARM是什么 ①&#xff1a; ST – 意法半导体 M – Microelectronics 微电子 32 – 总线宽度 ARM架构: Cortex-A:Application 应用…

linux常见操作,and一些练习题加线上练习网站,无须配置linux.持续更新中。。。。

文章目录 cd命令相对路径特殊的路径表达符和cd一起使用pwdmore 查看文件内容支持翻页小技巧clear用户&#xff0c;用户权限 and 用户的切换如何创建用户 ls和通配符的使用利用通配符 *grep 过滤管道符 |如何学习Linux在线练习网站 https://www.lanqiao.cn/courses/1 cd命令 cd…

TrueNAS数据共享——SMB共享日志审计

日志审计对于事后溯源十分重要&#xff0c;所以使用TrueNAS共享时&#xff0c;开启Samba audit审计日志功能很有必要。Full_Audit 允许记录共享上的所有操作&#xff0c;如创建文件、删除文件、更改路径… 一、编辑SMB服务 1、进入smb服务编辑 服务--找到SMB--动作--高级选项…

Notepad++ v7.7.1 安装及添加插件

1、notepad_v7.7.1.zip npp.7.7.1.Installer.x64.exe npp.7.7.1.Installer.x86.exe notepad_v7.7.1.ziphttps://www.123pan.com/s/VTMXjv-X6H6v.html 2、notepad插件包_64bit_4.zip ComparePlugin ---->文件对比插件 ComparePlugin.dllNppFTP ---->FTP、FTPES和SFTP …

python自动化运维管理拓扑

目录 1、简介 2、实验环境 3、拓扑图 4、需求及其代码 4.1、测试连通性 4.2、远程登陆 4.3、配置loopback 4.4、监控内存使用率 4.5、自动化巡检内存使用率 4.6、自动化配置snmp服务 4.7、提取分析字符串 &#x1f343;作者介绍&#xff1a;双非本科大三网络工程专业…

记一次生产事故排查

背景&#xff1a;刚接手一个新工程&#xff0c;是一个给国内top级医院开发的老项目&#xff0c;因为历史原因&#xff0c;代码质量略低&#xff0c;测试难度略高。 上线很久的功能&#xff0c;最近一直频繁的爆发各种问题&#xff0c;经排查发现都是因为在业务过程中im聊天账号…

Hyperledger Fabric 生成组织身份解析

fabric 版本 2.4.1 Fabric 网络通过证书和密钥来管理和认证成员身份&#xff0c;经常需要生成证书文件。通常这些操作可以使用 PKI 服务&#xff08;如 Fabric-CA&#xff09;或者 OpenSSL 工具来实现&#xff08;针对单个证书的签发&#xff09;。为了方便批量管理组织证书&am…

网页设计工作室网站Web前端制作个人网页(html+css+javascript)网页设计网站模板采用DIV CSS布局制作,网页作品有多个页面

网页设计工作室网站Web前端制作个人网页(htmlcssjavascript)网页设计网站模板采用DIV CSS布局制作&#xff0c;网页作品有多个页面 【网页设计工作室网站Web前端制作个人网页(htmlcssjavascript)网页设计网站模板采用DIV CSS布局制作&#xff0c;网页作品有多个页面】 https://…

赋能软件开发:生成式AI在优化编程工作流中的应用与前景

随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;特别是生成式AI模型如GPT-3/4的出现&#xff0c;软件开发行业正经历一场变革&#xff0c;这些模型通过提供代码生成、自动化测试和错误检测等功能&#xff0c;极大地提高了开发效率和软件质量。 本文旨在深入…

stm32---输入捕获实验实操(巨详细)

这次来分享上次没说完的输入捕获的知识点 实验中用到两个引脚&#xff0c;一个是通用定时器 TIM3 的通道 1&#xff0c;即 PA6&#xff0c;用于输出 PWM 信号&#xff0c;另一 个是高级控制定时器 TIM1 的通道 1&#xff0c;即 PA8&#xff0c;用于 PWM 输入捕获&#xff0c;实…

第19课 在Android环境中使用FFmpeg和openCV进行开发的一般步骤

在上节课&#xff0c;根据模板文件我们对在Android环境中使用FFmpeg和openCV进行开发有了一个初步的体验&#xff0c;这节课&#xff0c;我们来具体看一下其工作流程。 1.程序的入口 与VS2013程序开发类似&#xff0c;Android程序开发也有一个入口&#xff0c;在这个模板中&a…