一直在慢慢的摸索clickhouse,之前是用rpm包安装的,没有发现clickhouse-local,最近在centos上面编译成功以后发现多了clickhouse-local,那么这个玩意是什么鬼呢?官方的说法:

Application clickhouse-local can fast processing of local files that store tables without resorting to deployment and configuration clickhouse-server

原来就是可以直接读取本地的文件进行查询,不用部署clickhouse-server。那么下面进行测试。准备一个测试文本:

[root@db_server_yayun_01 ~]# cat a.txt
"yy",""
"bb",""
[root@db_server_yayun_01 ~]#

直接看命令,后面解释

[root@db_server_yayun_01 ~]# clickhouse-local -N test_table  --file='a.txt' --input-format=CSV -S "user String, age Int32" -q "SELECT * from test_table FORMAT Pretty"
Read rows, 30.00 B in 0.001 sec., rows/sec., 28.03 KiB/sec.
┏━━━━━━┳━━━━━┓
┃ user ┃ age ┃
┡━━━━━━╇━━━━━┩
│ yy │ │
├──────┼─────┤
│ bb │ │
└──────┴─────┘
[root@db_server_yayun_01 ~]#

可以看见查询出来了。

-N 指定表名,如果不指定默认是table

--file 指定读取的文件

--input-format=CSV,指定读取文件的格式。这里是CSV格式

-S 定义表的字段以及类型

-q 指定查询语句。

更多的参数可以运行clickhouse-local --help

上面是简单的测试,下面来试试官方文档提到的美国民用航空数据

[root test_clickhouse_data]$ /root/clickhouse-local -N ontime --file='On_Time_On_Time_Performance_2017_1.csv' --input-format=CSV -S "Year String,  Quarter String,  Month String,  DayofMonth String,  DayOfWeek String,  FlightDate Date,  UniqueCarrier FixedString(7),  AirlineID String,  Carrier FixedString(2),  TailNum String,  FlightNum String,  OriginAirportID String,  OriginAirportSeqID String,  OriginCityMarketID String,  Origin FixedString(5),  OriginCityName String,  OriginState FixedString(2),  OriginStateFips String,  OriginStateName String,  OriginWac String,  DestAirportID String,  DestAirportSeqID String,  DestCityMarketID String,  Dest FixedString(5),  DestCityName String,  DestState FixedString(2),  DestStateFips String,  DestStateName String,  DestWac String,  CRSDepTime String,  DepTime String,  DepDelay String,  DepDelayMinutes String,  DepDel15 String,  DepartureDelayGroups String,  DepTimeBlk String,  TaxiOut String,  WheelsOff String,  WheelsOn String,  TaxiIn String,  CRSArrTime String,  ArrTime String,  ArrDelay String,  ArrDelayMinutes String,  ArrDel15 String,  ArrivalDelayGroups String,  ArrTimeBlk String,  Cancelled String,  CancellationCode FixedString(1),  Diverted String,  CRSElapsedTime String,  ActualElapsedTime String,  AirTime String,  Flights String,  Distance String,  DistanceGroup String,  CarrierDelay String,  WeatherDelay String,  NASDelay String,  SecurityDelay String,  LateAircraftDelay String,  FirstDepTime String,  TotalAddGTime String,  LongestAddGTime String,  DivAirportLandings String,  DivReachedDest String,  DivActualElapsedTime String,  DivArrDelay String,  DivDistance String,  Div1Airport String,  Div1AirportID String,  Div1AirportSeqID String,  Div1WheelsOn String,  Div1TotalGTime String,  Div1LongestGTime String,  Div1WheelsOff String,  Div1TailNum String,  Div2Airport String,  Div2AirportID String,  Div2AirportSeqID String,  Div2WheelsOn String,  Div2TotalGTime String,  Div2LongestGTime String,  Div2WheelsOff String,  Div2TailNum String,  Div3Airport String,  Div3AirportID String,  Div3AirportSeqID String,  Div3WheelsOn String,  Div3TotalGTime String,  Div3LongestGTime String,  Div3WheelsOff String,  Div3TailNum String,  Div4Airport String,  Div4AirportID String,  Div4AirportSeqID String,  Div4WheelsOn String,  Div4TotalGTime String,  Div4LongestGTime String,  Div4WheelsOff String,  Div4TailNum String,  Div5Airport String,  Div5AirportID String,  Div5AirportSeqID String,  Div5WheelsOn String,  Div5TotalGTime String,  Div5LongestGTime String,  Div5WheelsOff String,  Div5TailNum String" -q "SELECT DestCityName, uniqExact(OriginCityName) AS u FROM ontime GROUP BY DestCityName ORDER BY u DESC LIMIT 10 FORMAT Pretty"
Read rows, 499.62 MiB in 3.423 sec., rows/sec., 145.97 MiB/sec.
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━┓
┃ DestCityName ┃ u ┃
┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━┩
│ Atlanta, GA │ │
├───────────────────────┼─────┤
│ Chicago, IL │ │
├───────────────────────┼─────┤
│ Denver, CO │ │
├───────────────────────┼─────┤
│ Dallas/Fort Worth, TX │ │
├───────────────────────┼─────┤
│ Minneapolis, MN │ │
├───────────────────────┼─────┤
│ Houston, TX │ │
├───────────────────────┼─────┤
│ Detroit, MI │ │
├───────────────────────┼─────┤
│ Phoenix, AZ │ │
├───────────────────────┼─────┤
│ Salt Lake City, UT │ │
├───────────────────────┼─────┤
│ Newark, NJ │ │
└───────────────────────┴─────┘

当然速度肯定比不上导入以后查询的速度。不过还是非常方便。

ClickHouse之clickhouse-local的更多相关文章

  1. ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计

    ClickHouse核心架构设计是怎么样的?ClickHouse核心架构模块分为两个部分:ClickHouse执行过程架构和ClickHouse数据存储架构,下面分别详细介绍. ClickHouse执 ...

  2. ClickHouse(03)ClickHouse怎么安装和部署

    本文会介绍如何安装和部署ClickHouse,官方推荐的几种安装模式,以及安装之后如何启动,ClickHouse集群如何配置等. 简单来说,ClickHouse的搭建流程如下: 环境检查,环境依赖安装 ...

  3. ClickHouse(05)ClickHouse数据类型详解

    ClickHouse属于分析型数据库,ClickHouse提供了许多数据类型,它们可以划分为基础类型.复合类型和特殊类型.其中基础类型使ClickHouse具备了描述数据的基本能力,而另外两种类型则使 ...

  4. ClickHouse(07)ClickHouse数据库引擎解析

    目录 Atomic 建表语句 特性 Table UUID RENAME TABLES DROP/DETACH TABLES EXCHANGE TABLES ReplicatedMergeTree in ...

  5. ClickHouse(10)ClickHouse合并树MergeTree家族表引擎之ReplacingMergeTree详细解析

    目录 建表语法 数据处理策略 资料分享 参考文章 MergeTree拥有主键,但是它的主键却没有唯一键的约束.这意味着即便多行数据的主键相同,它们还是能够被正常写入.在某些使用场合,用户并不希望数据表 ...

  6. ClickHouse 分布式高可用集群搭建(转载)

    一.ClickHouse安装方式: 源码编译安装 Docker安装 RPM包安装 为了方便使用,一般采用RPM包方式安装,其他两种方式这里不做说明. 二.下载安装包 官方没有提供rpm包,但是Alti ...

  7. QQ音乐PB级ClickHouse实时数据平台架构演进之路

    导语 | OLAP(On-Line Analytical Processing),是数据仓库系统的主要应用形式,帮助分析人员多角度分析数据,挖掘数据价值.本文基于QQ音乐海量大数据实时分析场景,通过Q ...

  8. 基于腾讯云存储COS的ClickHouse数据冷热分层方案

    一.ClickHouse简介 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS),支持PB级数据量的交互式分析,ClickHouse最初是为YandexMetrica ...

  9. 海量数据存储ClickHouse

    ClickHouse介绍 ClickHouse的由来和应用场景 俄罗斯Yandex在2016年开源,使用C++编写的列式存储数据库,近几年在OLAP领域大范围应用 官网:https://clickho ...

  10. 记一次 ClickHouse 性能测试

    前言 在工作场景中,我们会采集工厂设备数据用于智能控制,数据的存储用了 InfluxDB,随着数据规模越来越大,InfluxDB 的性能越来越差,故考虑引入 ClickHouse 分担 InfluxD ...

随机推荐

  1. python微信自动回复

    模块是itchat 下载:命令行输入 pip install itchat import itchat #导入itchat模块 itchat.auto_login() #登陆微信,授权 用命令行发送给 ...

  2. 在Linux下部署mysql时,使用group by碰到的问题

    mysql使用group by 的时候报错,错误信息如下: 1055:ER_WRONG_FIELD_WITH_GROUP: Expression #2 of SELECT list is not in ...

  3. 关于Eclipse导入项目jsp出现红色叉的解决办法

    简单图解概括 右击项目 到这里就ok 如果没解决就检查下以下三个地方的版本是否一致 如果还不行,有什么疑问可以留言,我会及时帮助解决的

  4. Cache高速缓冲存储器

    Cache的命中率:命中Cache的次数比总访问次数 平均访问时间:t(Cache)X命中次数+t(未命中)X未命中次数 Cache与主存的映射方式: 直接映射 全相联映射 组相联映射 图片来源:ht ...

  5. Linux-3.0.8中基于S5PV210的IRQ模块代码追踪和分析

    init/main.c: asmlinkage void start_kernel(void) { ...... early_irq_init(); init_IRQ(); ...... } earl ...

  6. Appium日志乱码终结指北

    缘起 最近Android,IOS自动化多开群控都搞好了,但是Appium中的log 显示中文乱码问题像个苍蝇一样,看着感觉特别难受,挥之不去,抚之不平.论坛搜索了一下,很多帖子都反映过这个问题,但是都 ...

  7. ecshop自动确认收货(无其他商家)

    1.创建文件 includes/modules/auto_order_confirm.php 代码:(思路:对已经发货和已经付款的订单检索,对比发货时间与当前时间的间隔,达到设定时间则自动收货) &l ...

  8. “PurMVC”在Unity中的应用

    序章: 这是"游戏设计进阶技巧篇"内容,游戏中不使用如下技巧也可以正常运行,但是有了它以后可以增加项目的可读性,使功能”模块化“,”可视化“,”装逼化“(慢慢的恶意>,> ...

  9. 用apache和tomcat搭建集群,实现负载均衡

    型的企业应用每天都需要承受巨大的访问量,在着巨大访问量的背后有数台服务器支撑着,如果一台服务器崩溃了,那么其他服务器可以使企业应用继续运行,用户对服务器的运作是透明化的,如何实现这种透明化呢?由如下问 ...

  10. 自学自用 = 网易云课堂(细说Linux-从入门到精通视频教程)

    视频地址 https://study.163.com/course/courseMain.htm?courseId=983014 介绍 本篇博客,旨在记录视频学习的要点,所以格式随意,且没有文字描述, ...