当前位置: 首页 > wzjs >正文

行业门户网站设计营销策略分析论文

行业门户网站设计,营销策略分析论文,金蝶erp,用discuz做的手机网站一、Doris Catalog简介 Doris Catalog是Apache Doris中用于管理和组织数据的核心组件,主要负责存储和管理元数据。以下是详细介绍: 主要功能: 数据组织:可管理多个数据库,每个数据库又能包含多个表。同时&#xff0c…

一、Doris Catalog简介

Doris Catalog是Apache Doris中用于管理和组织数据的核心组件,主要负责存储和管理元数据。以下是详细介绍:

  • 主要功能
    • 数据组织:可管理多个数据库,每个数据库又能包含多个表。同时,负责管理表的元数据,如表名、列信息、分区信息等,还支持创建和管理视图,以及管理表的分区信息,有助于数据的高效存储和查询。
    • 元数据管理:Doris Catalog维护所有数据库对象的元数据,并将其存储在元数据存储系统中,支持元数据的创建、修改和删除操作,确保元数据的一致性。
    • 数据发现与查询优化:通过元数据可以快速发现和定位所需的数据,还能基于元数据的信息帮助优化查询计划,提高查询性能。
    • 权限管理:能够管理用户和角色,并分配不同的权限,通过细粒度的权限控制,确保数据的安全性和访问控制。
    • 数据血缘:可以记录数据的来源和变更过程,帮助用户理解数据的生成和传输路径,例如对表进行ETL操作时,能记录输入表、输出表和变更步骤等详细信息。
  • 类型
    • Internal Catalog:是Doris内置的默认Catalog,用户不可修改或删除。用户登录Doris后,默认进入该Catalog,可直接使用SHOW DATABASESUSE DB等命令查看和切换数据库。
    • External Catalog:用户可通过CREATE CATALOG命令创建。创建后,可通过SHOW CATALOGS命令查看,能使用SWITCH命令切换到相应的External Catalog。目前Doris只支持对External Catalog中的数据进行只读访问,可删除Catalog,此操作仅会删除Doris中该Catalog的映射信息,不会修改外部数据目录的内容。
  • 支持的数据源
    • Hive Metastore:可以访问包括Hive、Iceberg、Hudi在内的数据表,也可对接兼容Hive Metastore的数据源,如阿里云的DataLake Formation,同时支持HDFS和对象存储上的数据访问。
    • Elasticsearch:可用于访问ES数据源。
    • 其他:还可通过JDBC Catalog访问支持JDBC接口的数据库,如MySQL等。
  • 作用:Doris Catalog使得用户可以方便地查询外部系统的数据,并且这些数据之间还可以进行join操作,实现多源数据的联邦查询。例如,通过Hive Catalog,用户可使用SQL语句直接查询Hive的数据,相较于传统方式,使用门槛低且效率高。

二、Doris Catalog 常用命令

序号操作命令结果
1CREATE CATALOG MY_CATA_MYSQL PROPERTIES ([KEY1]=[VALUE1],…)详见如下 SQL-1
2DROP catalog MY_CATA_MYSQL;
3查询所有SHOW catalogs;
4查询某一个的创建语句SHOW CREATE catalog MY_CATA_MYSQL;
5查询Catalog下的所有原始库SHOW DATABASES FROM MY_CATA_MYSQL;详见如下 SQL-2
6查询Catalog下指定原始库下的所有表SHOW TABLES FROM MY_CATA_MYSQL.database_1详见如下 SQL-3

SQL-1:

CREATE CATALOG MY_CATA_MYSQL PROPERTIES ("type" = "jdbc","user" = "root","password" = "*XXXX","jdbc_url" = "jdbc:mysql://11.11.11.11:3306/biz_database?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&yearIsDateType=false&tinyInt1isBit=false&rewriteBatchedStatements=true&characterEncoding=utf-8","driver_url" = "mysql-connector-java-8.0.25.jar","driver_class" = "com.mysql.cj.jdbc.Driver","maximum_pool_size" = "30",  -- 增加最大连接数"minimum_idle" = "5",         -- 增加最小空闲连接数"idle_timeout" = "600000",    -- 空闲连接超时时间(毫秒)"max_lifetime" = "1800000",   -- 连接最大生命周期(毫秒)"connection_timeout" = "30000" -- 连接超时时间(毫秒)
);

SQL-2:

SHOW DATABASES FROM MY_CATA_MYSQL;database_1
database_2
information_schema
mysql

SQL-3:

SHOW TABLES FROM MY_CATA_MYSQL.database_1;tbl_1
tbl_2
tbl_3
tbl_4

三、Doris 中 CALL EXECUTE_STMT 说明

CALL EXECUTE_STMT 是 Doris 2.x 版本引入的一个存储过程,用于通过 JDBC Catalog 直接执行外部数据源(如 MySQL、PostgreSQL)的 SQL 语句。这个功能允许 Doris 作为中间层,将 DML 操作(如 INSERT、UPDATE、DELETE)透传到外部数据库,实现跨数据源的数据同步。

核心功能

  1. 跨源 DML 操作:支持对外部数据源执行 INSERT、UPDATE、DELETE 等修改语句。
  2. 事务支持:执行的 SQL 语句在外部数据源中遵循事务特性(原子性、一致性)。
  3. 参数传递:可通过变量动态传递 SQL 语句内容。

语法格式

CALL EXECUTE_STMT(catalog_name,    -- 外部 Catalog 名称sql_statement    -- 需要执行的 SQL 语句
);

示例

-- 1、向 MySQL 表插入数据
CALL EXECUTE_STMT("mysql_catalog", "INSERT INTO test_table VALUES (1, 'data')");-- 2、UPSERT 操作(MySQL 特有语法)
CALL EXECUTE_STMT("mysql", "INSERT INTO test.test_mysql VALUES (1, 'M03', 'P02', 'Desc xxxx') ON DUPLICATE KEY UPDATE product_desc = VALUES(product_desc)");-- 3、更新 MySQL 表数据
CALL EXECUTE_STMT("mysql_catalog", "UPDATE test_table SET value = 'new' WHERE id = 1");-- 4、删除 MySQL 表数据
CALL EXECUTE_STMT("mysql_catalog", "DELETE FROM test_table WHERE id > 100");

使用限制

  1. 仅支持 DML 语句

    • 不支持 SELECT 查询(会报 Can not issue SELECT via executeUpdate() 错误)。
    • 不支持 CREATE/DROP 等 DDL 语句。
  2. 权限要求

    • 执行用户需要对 Catalog 有 LOAD 权限。
    • 外部数据源用户需要有对应表的操作权限。
  3. SQL 语法限制

    • 必须使用外部数据库的原生语法(如 MySQL 的 INSERT...ON DUPLICATE KEY UPDATE)。
    • Doris 不会对 SQL 进行语法检查,错误会在执行时抛出。
  4. 结果处理

    • 不返回执行结果(如影响行数),只能通过查询验证。

常见错误及解决

  1. Can not issue SELECT via executeUpdate()

    • 原因:尝试执行 SELECT 查询。
    • 解决:改用 SELECT * FROM catalog.db.table 直接查询。
  2. External catalog 'xxx' is not allowed in 'DeleteStmt'

    • 原因:直接在 DELETE 语句中使用外部 Catalog(如 DELETE FROM mysql.db.table)。
    • 解决:必须通过 CALL EXECUTE_STMT 执行。
  3. Connection is not available

    • 原因:JDBC 连接池耗尽或网络问题。
    • 解决:调整 Catalog 连接池参数(如 maximum_pool_size),检查网络连通性。
  4. Can not issue empty query

    • 原因:SQL 语句为空或包含非法字符。
    • 解决:检查 SQL 内容,避免空字符串或未转义的特殊字符。

最佳实践

  1. 参数化执行

    -- 在 DolphinScheduler 中通过变量传递 SQL
    CALL EXECUTE_STMT("mysql_catalog", "${delete_sql}");
    
  2. 批量操作

    -- 合并多条语句减少连接次数
    CALL EXECUTE_STMT("mysql_catalog", "DELETE FROM t1; INSERT INTO t2 VALUES(...);");
    
  3. 事务控制

    -- 确保原子性
    CALL EXECUTE_STMT("mysql_catalog", "START TRANSACTION; ...; COMMIT;");
    
  4. 异常处理

    • 先在外部数据库测试 SQL 语句的有效性。
    • 通过日志监控执行结果(如 Doris FE 日志)。

适用场景

  1. 数据同步:将 Doris 中的计算结果实时写入外部数据库。
  2. 数据清理:定期删除外部数据库中的过期数据。
  3. ETL 流程:在复杂的数据处理流程中执行中间步骤。

四、 示例:在 DolphinScheduler 中使用

-- 1. 定义工作流参数
-- delete_sql = "DELETE FROM mysql_table WHERE id > 100"-- 2. 在 SQL 任务中执行
CALL EXECUTE_STMT("mysql_catalog", "${delete_sql}");

通过 CALL EXECUTE_STMT,Doris 可以作为数据处理的中枢,灵活地与外部数据源交互,实现复杂的数据同步和处理逻辑。

http://www.dtcms.com/wzjs/395341.html

相关文章:

  • 昆明网站制作报价线上卖护肤品营销方法
  • 360网站图标怎么做长沙网站seo优化公司
  • wordpress 私人日记成都seo服务
  • 怎么用虚拟机做网站在线培训系统app
  • 旅游网站建设项目国际新闻今天最新消息
  • 珠海最新消息今天天津百度优化
  • 广西建设职业学院官网网站整站seo排名费用价格
  • 网站界面设计原则服务营销7p理论
  • wordpress火箭加速百度网站怎样优化排名
  • 大型网站服务器配置谷歌排名优化入门教程
  • 专业网站建设是哪家好故事式的软文广告例子
  • 临沂网站建设制作指数函数和对数函数
  • 导航网址网站怎么做百度搜索关键词技巧
  • 网站域名跟谁买seo搜索引擎优化期末考试
  • 微信服务号开发方案网站seo规划
  • 网站前端怎么做百度搜一搜
  • 佛山外贸建站app推广接单平台
  • 1万流量网站 服务器配置百度在线使用网页版
  • 怎么用ps做网站首页图片软文营销ppt
  • 做桑拿网站犯法吗恶意点击竞价时用的什么软件
  • 12306网站花多少钱做的app广告联盟
  • 宠物医院网站建设搜索引擎优化的例子
  • 大型网站的设计恶意点击软件哪几种
  • 室内设计联盟论坛官网seo标题生成器
  • 东莞seo优化seo关键词信息流优化师面试常见问题
  • 做外贸网站要花多少钱关键词推广优化外包
  • 一级a做爰片在线看免播放器网站长沙 建站优化
  • 网站规划与建设的流程与方法 高中信息技术竞价托管公司联系方式
  • 优惠券网站怎么搭建网络推广平台
  • 网站案例网站建设网络营销公司排行