一直在慢慢的摸索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. JAVA经典算法50题(转)

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51097928 JAVA经典算法50题 [程序1]   题目:古典问题:有一对兔子, ...

  2. k8s storageClass对接nfs

    前提:已存在一个nfs服务 192.168.137.11:/home/nfs_data 下面以rbac方式对接nfs 1.创建/root/k8s-nfs-rbac/serviceaccount.yam ...

  3. Unity3D编辑器扩展(一)——定义自己的菜单按钮

    Unity3D 引擎的编辑器拥有很强的扩展性,用的好可以帮我们省很多事情.在这里记录下如何去扩展 Unity3D 的编辑器,定制属于我们自己的开发环境. 本篇主要讲解在 Unity3D 引擎的各个窗口 ...

  4. java实现四则运算

    http://blog.csdn.net/lip009/article/details/7768258 我之前找到的一个大神写的?还没看懂

  5. qscoj 喵哈哈村的打印机游戏 区间dp

    点这里去看题 区间dp ,dp[l][r][d]代表从l到r的区间底色为d,具体看代码 第一次见到区间dp...两个小时对着敲了五遍终于自己敲懂了一遍ac #include<bits/stdc+ ...

  6. 手把手教你利用Python自动下载CL社区图片

    需求描述:     最近发现CL社区上好多精华的帖子分享的图片非常棒,好想好想保存下来,但是一张一张地保存太费时间了,因此,造物者思想主义的我就想动手写个工具,实现只要输入帖子的链接,就能把所有的精华 ...

  7. idea 新建项目上传至git(coding)

    一.新建项目 1.改为git版本 2.出现如下框 选择Git 3.新建一个.gitignore file (Git) 4.勾掉一些不需要的 5.出现如下框 5.1.如果不知道.gitignore fi ...

  8. IOS 模拟器多开集成测试和那些坑

    #### 前言公司一直没有IOS自动化,搞得很尴尬,个人感觉搞自动测试的,不搞IOS自动化,就像金X,少了重要一点啊.也向领导申请过不止一次,总只都各种原因没有分配机器,不了了之.某天线上IOS出bu ...

  9. 用python实现文件自动上传

    一.简介 用python实现文件自动上传,主要源于在测试项目中想实现自动化上传文件功能,无须手工输入.比如从windows到Linux,或从Linux到windows,或从Linux到Linux. 主 ...

  10. window7 32位部署django

    window7 32位安装环境,所有的软件都用32位的,如果你想要用64位的软件需要操作系统和下面的相关软件都换成64位,我是在虚拟机上装了win7 32版做的测试. 软件下载地址: python2. ...