ClickHouse集成Mysql表引擎跨服务器读表说明
MySQL表引擎
Clickhouse 上的MySQL引擎可以对存在远程MySQL服务器上的数据执行SELECT查询。
调用格式:
MySQL('host:port', 'database', 'table', 'user', 'password', replace_query, 'on_duplicate_clause'); 
调用参数
-  
host:port— MySQL 服务器地址。 -  
database— 数据库的名称。 -  
table— 表名称。 -  
user— 数据库用户。 -  
password— 用户密码。 -  
replace_query— 将INSERT INTO查询是否替换为REPLACE INTO的标志。如果replace_query=1,则替换查询 -  
'on_duplicate_clause'— 将ON DUPLICATE KEY UPDATE 'on_duplicate_clause'表达式添加到INSERT查询语句中。例如:impression = VALUES(impression) + impression。如果需要指定'on_duplicate_clause',则需要设置replace_query=0。如果同时设置replace_query = 1和'on_duplicate_clause',则会抛出异常。 
此时,简单的WHERE子句(例如 =, !=, >, >=, <, <=)是在MySQL服务器上执行。
其余条件以及LIMIT采样约束语句仅在对MySQL的查询完成后才在ClickHouse中执行。
MySQL引擎不支持NULL值,因此,当从MySQL表中读取数据时,NULL将转换为指定列类型的默认值(通常为0或空字符串)。
示例:
select * from    MySQL('host:port', 'database', 'table', 'user', 'password', replace_query, 'on_duplicate_clause'); 
mysql 远程表映射
MySQL引擎用于将远程的MySQL服务器中的表映射到ClickHouse中,并允许您对表进行INSERT和SELECT查询,以方便您在ClickHouse与MySQL之间进行数据交换
MySQL数据库引擎会将对其的查询转换为MySQL语法并发送到MySQL服务器中,因此您可以执行诸如SHOW TABLES或SHOW CREATE TABLE之类的操作。
但您无法对其执行以下操作:
RENAMECREATE TABLEALTER
创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster]
ENGINE = MySQL('host:port', ['database' | database], 'user', 'password') 
引擎参数
host:port— MySQL服务地址database— MySQL数据库名称user— MySQL用户名password— MySQL用户密码
支持的数据类型
| MySQL | ClickHouse | 
|---|---|
| UNSIGNED TINYINT | UInt8 | 
| TINYINT | Int8 | 
| UNSIGNED SMALLINT | UInt16 | 
| SMALLINT | Int16 | 
| UNSIGNED INT, UNSIGNED MEDIUMINT | UInt32 | 
| INT, MEDIUMINT | Int32 | 
| UNSIGNED BIGINT | UInt64 | 
| BIGINT | Int64 | 
| FLOAT | Float32 | 
| DOUBLE | Float64 | 
| DATE | Date | 
| DATETIME, TIMESTAMP | DateTime | 
| BINARY | FixedString | 
其他的MySQL数据类型将全部都转换为String.
全局变量支持
为了更好地兼容,您可以在SQL样式中设置全局变量,如@@identifier.
支持这些变量:
versionmax_allowed_packet
!!! warning "警告" 到目前为止,这些变量是存根,并且不对应任何内容。
示例: SELECT @@version;
MySQL操作示例:
mysql> USE test;
Database changedmysql> CREATE TABLE `mysql_table` (->   `int_id` INT NOT NULL AUTO_INCREMENT,->   `float` FLOAT NOT NULL,->   PRIMARY KEY (`int_id`));
Query OK, 0 rows affected (0,09 sec)mysql> insert into mysql_table (`int_id`, `float`) VALUES (1,2);
Query OK, 1 row affected (0,00 sec)mysql> select * from mysql_table;
+------+-----+
| int_id | value |
+------+-----+
|      1 |     2 |
+------+-----+
1 row in set (0,00 sec) 
相关文章:
ClickHouse集成Mysql表引擎跨服务器读表说明
MySQL表引擎 Clickhouse 上的MySQL引擎可以对存在远程MySQL服务器上的数据执行SELECT查询。 调用格式: MySQL(host:port, database, table, user, password, replace_query, on_duplicate_clause); 调用参数 host:port — MySQL 服务器地址。 database — 数据…...
【AI构思渲染】别眨眼!这些图片立马变效果图!
我只是随手一拍白模模型 AI构思渲染立马就给我生成了非常amazing的效果图 下面我来一波展示给大家欣赏欣赏 1.白模模型照片变效果图: 渲染风格包:白模-城市鸟瞰 关键词:商业建筑,车辆,精美景观 词权重:…...
多特征变量序列预测(10)基于麻雀优化算法的CEEMDAN-SSA-Transformer-BiLSTM预测模型
往期精彩内容: 时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较 全是干货 | 数据集、学习资料、建模资源分享! EMD变体分解效果最好算法——CEEMDAN(五)-CSDN博客 拒绝信息泄露!VMD滚动分…...
算法学习(十)—— 字符串
关于字符串操作 这类题一般是和其它算法合起来,比如模拟,双指针,动态规划或者回溯等,所以字符串相关的题目类型一般是非常非常丰富的,这里我们选取几道经典的题目进行讲解 部分OJ题详解 14. 最长公共前缀 14. 最长…...
「Mac畅玩鸿蒙与硬件16」鸿蒙UI组件篇6 - List 和 Grid 组件展示数据列表
List 和 Grid 是鸿蒙开发中的核心组件,用于展示动态数据。List 适合展示垂直或水平排列的数据列表,而 Grid 则适用于展示商品或图片的网格布局。本篇将展示如何封装组件,并通过按钮实现布局切换,提升界面的灵活性和用户体验。 关键…...
masm汇编字符输入小写转大写演示
从键盘读取一个字符变成大写换行并输出 assume cs:codecode segmentstart:mov ah,1int 21hmov bl,alsub bl,20hmov dl,10mov ah,2int 21hmov dl,blmov ah,2int 21hmov ah,4chint 21hcode ends end start 效果演示:...
防火墙|WAF|漏洞|网络安全
防火墙|WAF|漏洞|网络安全 防火墙 根据内容分析数据包: 1、源IP和目的IP地址 2、有效负载中的内容。 3、数据包协议(例如,连接是否使用 TCP/IP 协议)。 4、应用协议(HTTP、Telnet、FTP、DNS、SSH 等)。 5…...
继承机制深度解析:从基础到进阶的完整指南
文章目录 1. 继承的概念及定义1.1 继承的概念:1.2继承的定义:1.2.1 定义格式1.2.2 继承基类成员访问方式的变化: 1.3继续类模板 2. 基类和派生类间的转换2.1 向上转换(Upcasting)2.2 向下转换(Downcasting&…...
8. 数据结构——邻接表、邻接矩阵的基本操作
一、邻接表 1. 内容 2. 实现代码(直接可以复制使用) //邻接表的相关操作 #include<bits/stdc.h> #define MVnum 100 #define OK 1 #define ERROR -1 using namespace std;typedef int Status; typedef char VerTexType; //假设顶点的数据类型为char typedef int ArcT…...
OpenCV Python 版使用教程(二)摄像头调用
文章目录 一、上篇回顾二、使用步骤1. 调用摄像头的 API 介绍2. 代码示例3. 代码分析 三、下篇预告 一、上篇回顾 在上一篇中,简单介绍了如何在 Windows 和 Ubuntu 两个环境下部署和安装 OpenCV,从本篇开始将逐步介绍 OpenCV 中的常见操作。 本篇介绍 …...
基础算法——排序算法(冒泡排序,选择排序,堆排序,插入排序,希尔排序,归并排序,快速排序,计数排序,桶排序,基数排序,Java排序)
1.概述 比较排序算法 算法最好最坏平均空间稳定思想注意事项冒泡O(n)O( n 2 n^2 n2)O( n 2 n^2 n2)O(1)Y比较最好情况需要额外判断选择O( n 2 n^2 n2)O( n 2 n^2 n2)O( n 2 n^2 n2)O(1)N比较交换次数一般少于冒泡堆O( n l o g n nlogn nlogn)O( n l o g n nlogn nlogn)O( n l…...
几种常见的处理ARP欺骗的方法:静态ARP表和VLAN等
ARP(Address Resolution Protocol)欺骗是一种常见的网络攻击手段,攻击者通过伪造ARP响应,将网关的MAC地址指向攻击者的MAC地址,从而截获或篡改网络流量。为了应对ARP欺骗攻击,现代网络设备和管理员采取了一…...
突破1200°C高温性能极限!北京科技大学用机器学习合成24种耐火高熵合金,室温延展性极佳
在工程应用中,如燃气轮机、核反应堆和航空推进系统,对具备优异高温机械性能的金属合金需求十分旺盛。由于材料熔点的固有限制,传统镍基 (Ni) 高温合金的耐温能力已接近极限。为满足开发高温结构材料的需求,耐火高熵合金 (RHEAs) 于…...
ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源 或者超时失效
数据治理过程中,有字段长度不够,扩展字段,报:ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源 或者超时失效 ALTER TABLE LAPD_RSJ_CXJMYLBXCBXX MODIFY HKXZ VARCHAR2(10);错误表示当前会话在试图访问的资源(通常…...
Python学习笔记-断点操作结合异常处理
在编程中,调试和错误处理是提升代码质量和开发效率的关键环节。调试能帮助识别并修复问题,异常处理则使得程序能在出现错误时有效地管理而不至于崩溃。断点与异常处理的结合应用是高级编程中不可或缺的技巧,能够帮助更高效地定位问题,提高程序的鲁棒性。 本文将通过详细的…...
Java实现JWT登录认证
文章目录 什么是JWT?为什么需要令牌?如何实现?添加依赖:JwtUtils.java(生成、解析Token的工具类)jwt配置:登录业务逻辑:其他关联代码:测试: 什么是JWT? JWT(Json Web Token&…...
「Mac畅玩鸿蒙与硬件20」鸿蒙UI组件篇10 - Canvas 组件自定义绘图
Canvas 组件在鸿蒙应用中用于绘制自定义图形,提供丰富的绘制功能和灵活的定制能力。通过 Canvas,可以创建矩形、圆形、路径、文本等基础图形,为鸿蒙应用增添个性化的视觉效果。本篇将介绍 Canvas 组件的基础操作,涵盖绘制矩形、圆…...
山东路远生态科技有限公司竣工投产仪式暨产品发布会圆满举行
第二十届三中全会于2024年7月15日至18日在北京举行。全会审议通过了《关于进一步全面深化改革、推进中国式现代化的决定》。其中提到,“要健全因地制宜发展新质生产力体制机制”。 新质生产力是由技术革命性突破、生产要素创新性配置、产业深度转型升级而催生的当代先进生产力…...
java: 题目:银行账户管理系统
题目:银行账户管理系统 设计一个简单的银行账户管理系统。要求实现以下功能: 1. 创建一个银行账户 BankAccount 类,该类具有以下属性:accountNumber(账户号码,类型为 String) balanceÿ…...
PH热榜 | 2024-11-06
DevNow 是一个精简的开源技术博客项目模版,支持 Vercel 一键部署,支持评论、搜索等功能,欢迎大家体验。 Github:https://github.com/LaughingZhu/DevNow 1. MindOne Builder 标语:这是一个“设计优先”的应用构建工具…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...
Django RBAC项目后端实战 - 03 DRF权限控制实现
项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...
