clickhouse与Mysql交互关联查询
Posted TGB-Earnest
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clickhouse与Mysql交互关联查询相关的知识,希望对你有一定的参考价值。
一、描述
需要到一个报表,直接在clickhouse客户端,但是需要多个表进行关联,主表是在clickhouse里面,其他表有的在mysql中,其中想了个办法,单独写个程序直接关联,但是会很费时间,后来在官网直接找到了相关的方法即可。
二、 解决方法
具体语句
mysql(#ip, #database, 'tbl_iplat_othernet_group_dev_data', #username, #password)
如果有端口再加上ip:port即可
SELECT
t2.dev_name,
t2.display_name,
t1.rx,
t1.tx
FROM
(
SELECT
devId,
optical_index,
avg( rx_power ) rx,
avg( tx_power ) tx
FROM
表1
WHERE
( rsdate = '2023-01-09' )
AND ( datestr < '2023-01-09 00:10:00' )
GROUP BY
devId,
optical_index
) AS t1
INNER JOIN (
SELECT
a.dev_name,
a.display_name,
a.optical_index,
b.dev_id AS dev_id
FROM
(
SELECT
*
FROM
mysql ( 'IP:port', '库名', '表2', 'username', 'password' )) AS a
LEFT JOIN (
SELECT
*
FROM
mysql ( 'IP:port', '库名', '表2', 'username', 'password' )) AS b ON a.dev_id = b.dev_id
WHERE
b.prov_aid = 114
) AS t2 ON (
toString ( t1.devId ) = toString ( t2.dev_id ))
AND (
toString ( t1.optical_index ) = toString ( t2.optical_index ))
三、注意事项
如果密码是用$等特殊符号记得加转义符\\
以上是关于clickhouse与Mysql交互关联查询的主要内容,如果未能解决你的问题,请参考以下文章