大数据ClickHouse进阶(十九):ClickHouse字典的数据源
数据 进阶 字典 数据源 ClickHouse 十九
2023-06-13 09:13:53 时间
ClickHouse字典的数据源
一、文件数据源
ClickHouse中的字典还可以映射本地文件数据。操作如下:
1、创建本地csv文件
在本地创建的csv文件需要放在“/var/lib/ClickHouse/user_files”路径下,在此目录下创建organization.csv文件,写入如下内容:
1,"a0001","研发部"
2,"a0002","产品部"
3,"a0003","数据部"
4,"a0004","测试部"
5,"a0005","运维部"
6,"a0006","规划部"
7,"a0007","市场部"
2、创建字典表
#在ClickHouse中创建字典表
create dictionary org_dic(
id UInt64,
code String,
name String
)
primary key id
SOURCE(FILE(path '/var/lib/ClickHouse/user_files/organization.csv' format 'CSV'))
LAYOUT(FLAT())
LIFETIME(30);
注意:SOURCE(FILE(path '文件名',' 文件格式')),文件格式支持CSV和TabSeparated。
#查询使用字典表
node1 :) select dictGet('dic_test_db.org_dic','name',toUInt64(2)) as name;
┌─name───┐
│ 产品部 │
└────────┘
二、MySQL数据源
ClickHouse中还支持从MySQL中提取数据到字典表。具体操作如下:
1、在MySQL中创建表organization并插入数据
#在mysql中创建库、表及插入数据
mysql> create database mytest;
mysql> use mytest;
mysql> create table organization(id int,code varchar(255),name varchar(255));
#插入数据
insert into mytest.organization values(1,"a0001","org1");
insert into mytest.organization values(2,"a0002","org2");
insert into mytest.organization values(3,"a0003","org3");
insert into mytest.organization values(4,"a0004","org4");
insert into mytest.organization values(5,"a0005","org5");
insert into mytest.organization values(6,"a0006","org6");
insert into mytest.organization values(7,"a0007","org7");
#查询数据
mysql> select * from organization;
2、在ClickHouse中创建字典表
#在ClickHouse中创建flat字典表
create dictionary org_dic2(
id UInt64,
code String,
name String
)
primary key id
SOURCE(MYSQL(
port 3306
user 'root'
password '123456'
host 'node2'
db 'mytest'
table 'organization'
))
LAYOUT(FLAT())
LIFETIME(MIN 3 MAX 5);
#使用字典表
node1 :) select dictGet('dic_test_db.org_dic2','name',toUInt64(2)) as name;
┌─name─┐
│ org2 │
└──────┘
注意:ClickHouse字典表除了支持将MySQL、ClickHouse表作为数据来源,还可以从MongoDB中读取数据。
相关文章
- 大数据ClickHouse进阶(二):MergeTree表引擎
- 大数据ClickHouse进阶(十一):ClickHouse的Join子句
- 大数据ClickHouse进阶(十七):数据字典查询和删除
- Mysql进阶索引篇02——InnoDB存储引擎的数据存储结构
- origin如何在柱状图上面显示数据_origin柱状图横坐标自定义
- Python 爬虫进阶必备 | 某恩数据网排行加密数据解密逻辑分析
- 【C数据存储】整型在内存中的存储(进阶版)
- 架构师带你搞明白微服务进阶场景实战:服务之间的数据依赖问题
- 大数据Flink进阶(二):数据架构的演变
- 大数据Flink进阶(十一):Flink History Server配置使用
- 大数据Flink进阶(十二):Flink本地模式开启WebUI
- Hadoop入门进阶课程1–Hadoop1.X伪分布式安装详解大数据
- Hadoop入门进阶课程11–Sqoop介绍、安装与操作详解大数据
- Hadoop大数据挖掘从入门到进阶实战详解大数据
- MySQL单表查询:精准抓取你想要的数据(mysql单表查询)
- 深入了解MYSQL数据存储技巧,助您MYSQL数据库进阶(mysql数据库进阶)
- 据MongoDB:安全记录万千数据(mongodb 记录数)
- 用MSSQL查询某一天的数据(mssql查询某天数据)
- 如何使用cenos快速删除mysql中多余数据(cenos删除mysql)
- redis入门指南实现高效数据存储(入门redis)
- 解决Redis集群存数据时遇到的报错(redis集群存数据报错)
- Oracle SMB实现企业数据持续可靠运行(oracle smb)
- Oracle PK表名解决数据冗余的重要工具(oracle pk_表名)
- ASP编程入门进阶(二十):ADO组件之插入数据记录
- ASP编程入门进阶(二十):ADO组件之修改数据记录