首页 > 其他分享 >clickhouse表结构导出为

clickhouse表结构导出为

时间:2024-05-20 09:54:01浏览次数:13  
标签:opt 导出 db echo table backup clickhouse 结构

 

查看代码

#!/bin/bash

OUTDIR=/opt/backup/

# 获取所有数据库并保存到文件中
clickhouse-client --user default --password 123456 -q "SHOW DATABASES" > /opt/backup/db.txt

# 读取数据库文件
while read -r db; do
    # 排除 system 和 INFORMATION_SCHEMA 数据库 default
    if [ "$db" == "system" ] || [ "$db" == "INFORMATION_SCHEMA" ] || [ "$db" == "information_schema" ] || [ "$db" == "default" ]; then
        echo "skip system db"
        continue
    fi

    # 获取指定数据库中的所有表并保存到文件中
    clickhouse-client -q "SHOW TABLES FROM $db" > /opt/backup/table.txt
    echo "--------------------------------${db}"

    # 读取表文件
    while read -r table; do
        # 排除内部表
        if [[ "$table" == ".inner."* ]]; then
            echo "skip materialized view $table ($db)"
            continue
        fi

        echo "export table $table from database $db"

        # 导出表的模式, 制表符转义格式
        clickhouse-client -q "SHOW CREATE TABLE ${db}.${table} FORMAT TabSeparatedRaw" >> "${OUTDIR}/schema.sql"

    done < /opt/backup/table.txt
done < /opt/backup/db.txt

标签:opt,导出,db,echo,table,backup,clickhouse,结构
From: https://www.cnblogs.com/xxsdnol/p/18201271

相关文章

  • [原]代码管理工具WeCode及其数据导出
    1.WeCode简介  SVN、Git等工具适合多人协作时代码管理。类似在线的Gist(http://gist.github.com),WeCode是适合个人离线代码片段管理。  wecode是CodeHelp的升级版本,是专门为我们程序员设计的一款源代码管理软件。它能方便的管理您在编程和学习中有用的源代码,减少经常到......
  • redis数据结构:RedisObject,SkipList,SortedSet
    1.RedisObject对象redis中任何KV都会被封装为RedisObject对象,也叫做Redis对象 2.SkipList跳表元素按照升序排列存储,是有序的双向链表节点可以有多个指针,并且跨度不同。指针个数根据节点数自动生成,1~32性能和红黑树;二分查找差不多。实现简单,但是空间复杂度高样例:1——2......
  • scss :export 中导出的变量为空
    1.assets/styles/variables.scss$base-menu-color:#bfcbd9;:export{menuColor:$base-menu-color}2.index.vue<template><div:style="{backgroundColor:variables.menuColor}"></div></template><script>im......
  • 数据结构学习笔记-判断是否为无向图
    判断是否为无向图问题描述:设图G用邻接矩阵A[n+1,n+1]表示,设计算法以判断G是否是无向图。【算法设计思想】遍历矩阵使用两层嵌套的for循环,外层循环变量......
  • 结构体中的指针&&拷贝赋值构造函数改造
    带有成员指针的结构体的拷贝1.问题使用结构体时,在析构时发生了**重复释放指针**的错误。2.原因定义了QList<结构体>,使用append添加结构体对象并未此结构体中的指针分配了空间,append会执行值拷贝,此时会创建新的副本添加进QList中,值得注意的是:append执行拷贝时并不会分配地......
  • 数据结构学习笔记-求图的邻接顶点
    求图的邻接顶点问题描述:已知图G用邻接矩阵存储,设计算法以分别实现函数firstadj(G,v)和nextadj(G,v,w)。【算法设计思想】firstadj(G,V)函数:遍历顶点v的所有可能邻接顶点(即矩阵G[v][j]的所有列)。对于每一个顶点j,检查G[v][j]是否不等于0(表示v和j之间有边)。如果找到......
  • 方方方的数据结构
    总算给我看懂到底是什么意思了。。。首先我们来考虑按照时间+扫描线进行处理,假设操作如下黑色是加操作,黄色是乘操作,绿色是加操作,对于红色那条线所代表的点,随着时间的流逝,首先在刚刚进入黑色的时候,这一点的值就被加上了一个数,然后刚刚进入黄色的时候,这一点的值就被乘上了一个数,......
  • Kettle8.3:表结构
    Kettle默认只支持使用mysql/oracle/sqlserver等数据库为资源库,在MYSQL数据库创建一个数据库名称为KETTLE的。Kettle默认只支持使用mysql/oracle/sqlserver等数据库为资源库,--SELECT*FROMxxl_job.xxl_job_group;--集群信息select*fromkettle8.r_cluster;--集群......
  • Celery包结构
    目录结构项目名├──celery_task #celery包│├──__init__.py#包文件│├──celery.py#celery连接和配置相关文件,且名字必须叫celery.py│└──user_tasks.py#所有用户相关任务函数 └──order_tasks.py#所有订......
  • 如何从多个文件夹内转移全部文件(忽略文件夹的结构)(进行复制)(再打包)
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 04文件夹里面有只有1个名称为"1"的文件夹,“1”里面有“2”,“2”有“3”,“3”有“4”,从“1”开始,都有5个兔兔的图片,这是“1”里面的文件夹结构,现在要做的就是忽略文件夹结构,提取出全部的兔兔图片合并成一个压缩......