当前位置: 首页 > news >正文

个人专属logo设计/长沙seo平台

个人专属logo设计,长沙seo平台,做企业网站需要什么条件,方维制网站有时我们需要快速查询分析文件数据,正常流程需要在数据库中创建表,然后利用工具或编码导入数据,这时才能在数据库中查询分析。利用ClickHouse文件引擎可以快速查询文件数据。本文首先介绍ClickHouse文件引擎,然后介绍如何快速实现…

有时我们需要快速查询分析文件数据,正常流程需要在数据库中创建表,然后利用工具或编码导入数据,这时才能在数据库中查询分析。利用ClickHouse文件引擎可以快速查询文件数据。本文首先介绍ClickHouse文件引擎,然后介绍如何快速实现查询数据文件的方案。

ClickHouse 文件引擎

文件表引擎在文件中保存数据,支持的数据格式有:CSV, JSON, XML 等,详细内容可参考官网文档。

典型应用场景为:

  • 从ClickHouse导出数据至文件
  • 对数据进行格式转换
  • 通过编辑文件更新ClickHouse表数据

File表引擎用法

语法如下:

File(Format)

Format 参数制定一种有效的文件格式。为了执行select 查询,格式必须支持输入格式,同样为了insert查询,需支持输出。支持的格式类型可参考官网文档。大部分格式同时支持输入和输出格式,但部分格式仅支持其中之一,如 MySQLDump 仅支持输入,不支持输出。

ClickHouse 不允许指定文件路径,因为文件路径是在服务端配置文件path参数指定。

当实用上面语法创建表时,则会在指定文件夹中创建空的子目录。写入数据时,会在子目录中生成data.Format文件。我们可以在服务端文件系统中手动创建该子目录,然后ATTACH命令链接表信息,也可以从文件中查询数据。但不建议采用该方式,因为ClickHouse不跟踪外部数据变化。

举例

创建 表:file_engine_table,格式为TabSeparated,即数据用tab分隔,就是tsv文件格式。

CREATE TABLE file_engine_table (name String, value UInt32) ENGINE=File(TabSeparated)

ClickHouse 缺省在该目录下创建子目录: /var/lib/clickhouse/data/default/file_engine_table.

下面手动创建数据文件 /var/lib/clickhouse/data/default/file_engine_table/data.TabSeparated :

$ cat data.TabSeparated
one 1
two 2

查询数据

SELECT * FROM file_engine_table┌─name─┬─value─┐
│ one  │     1 │
│ two  │     2 │
└──────┴───────┘

ClickHouse-local工具用法

在clickhouse-local工具,文件引擎除了文件格式参数,还可以指定文件路径参数。默认输入/输出流可以使用数字或人类可读的名称来指定,例如0或stdin, 1或stdout。可以根据附加的引擎参数或文件扩展名(gz、br或xz)读写压缩文件。

$ echo -e "1,2\n3,4" | clickhouse-local -q "CREATE TABLE table (a Int64, b Int64) ENGINE = File(CSV, stdin); SELECT a, b FROM table; DROP TABLE table"

其他说明

  • 可以并行执行多个 SELECT 查询, 但 INSERT查询彼此互斥需等待前面操作完成.

  • 支持通过INSERT 查询创建新文件.

  • 如果文件已存在, INSERT 操作会追加新的内容.

  • 虽然支持表分区,但不建议使用,也不会增加查询效率

  • 不支持操作

    • ALTER
    • SELECT ... SAMPLE
    • Indices
    • Replication

关于默认设置

  • engine_file_empty_if_not_exists - allows to select empty data from a file that doesn’t exist. Disabled by default.
  • engine_file_truncate_on_insert - allows to truncate file before insert into it. Disabled by default.
  • engine_file_allow_create_multiple_files - allows to create a new file on each insert if format has suffix. Disabled by default.
  • engine_file_skip_empty_files - allows to skip empty files while reading. Disabled by default.
  • storage_file_read_method - method of reading data from storage file, one of: read, pread, mmap. The mmap method does not apply to clickhouse-server (it’s intended for clickhouse-local). Default value: pread for clickhouse-server, mmap for clickhouse-local.

上传文件直接分析

通过上节内容,我们指定文件表引擎就是在固定路径下创建子目录,然后在该子目录中创建对应文件(插入数据)。我们的需求是快速查询分析数据文件,如csv文件,用户上传完就可以分析。

实现步骤:

  1. 需要一些参数,如表名称和描述(英文名和中文名),

  2. 用户上传csv文件

    • 解析csv文件(读取第一行作为字段名称,最好为英文命名,读取第二行数据判断数据类型),如果没有标题行,则自动命名为F1,F2…
    • 使用文件表引擎语法创建表,引用上一步中的参数信息
    • 在元数据中插入表和字段信息,用于自助查询分析场景
    • 在该表中插入csv文件数据,动态生成insert语句。
  3. 查询该表,也可以执行一些统计查询语句。

总结

本文介绍了ClickHouse文件引擎的概念和使用方法。利用文件引擎我们快速实现对数据文件的查询统计分析。

相关文章:

用ClickHouse 文件表引擎快速查询分析文件数据

有时我们需要快速查询分析文件数据,正常流程需要在数据库中创建表,然后利用工具或编码导入数据,这时才能在数据库中查询分析。利用ClickHouse文件引擎可以快速查询文件数据。本文首先介绍ClickHouse文件引擎,然后介绍如何快速实现…...

esp8266httpclient_get_post使用

esp8266httpclient_get_post使用 #include<ESP8266WiFi.h> #include <ESP8266HTTPClient.h>//const char *ssid "AxxxIFI"; const char *password "xxxs879xxx68";const char* ssid "IT-nxxxang";const char* URL "http://…...

【Spring】创建一个Spring项目与Bean对象的存储

目录 一、创建Spring项目 1、创建Maven项目 2、配置maven国内源 3、引入spring依赖 4、添加启动类 二、将Bean对象存储到Spring&#xff08;IoC容器&#xff09; 1、创建Bean对象 2、将Bean存储到spring&#xff08;容器&#xff09;中 3、获取Bean对象 3.1、Applicatio…...

Docker的入门与使用

什么是Docker&#xff1f; docker官网 简介与概述 Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#x…...

Smart HTML Elements 16.1 Crack

Smart HTML Elements 是一个现代 Vanilla JS 和 ES6 库以及下一代前端框架。企业级 Web 组件包括辅助功能&#xff08;WAI-ARIA、第 508 节/WCAG 合规性&#xff09;、本地化、从右到左键盘导航和主题。与 Angular、ReactJS、Vue.js、Bootstrap、Meteor 和任何其他框架集成。 智…...

[分享]STM32G070 串口 乱码 解决方法

硬件 NUCLEO-G070RB 工具 cubemx 解决方法 7bit 改为 8bit printf 配置方法 添加头文件 #include <stdio.h> 添加重定向代码 #ifdef __GNUC__#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#else#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)#endi…...

[代码案例]学会python读写各类文件的操作(excel,txt,mat)

简介 python读写三类文件 excel文件 txt文件 mat文件 代码 """Description: python 读写各类文件 操作 """ import scipy as scipy from scipy.io import loadmat import xlwt import xlrd 读写excel文件workbook xlrd.open_workbook(test1.…...

【LeetCode】练习习题集【4月 - 7 月】

LEETCODE习题集【4月-7月总结】 简单 数组部分 1.重复数 题目&#xff1a; 在一个长度u为 n 的数组 nums 里的所有数字都在 0&#xff5e;n-1 的范围内。数组中某些数字是重复的&#xff0c;但不知道有几个数字重复了&#xff0c;也不知道每个数字重复了几次。请找出数组中…...

C# 子类强制转换为父类异常,引出的C#Dll加载机制,以及同类名同命名空间同dll程序集在C#中是否为同一个类的研究。

已知&#xff0c;子类B继承自父类A&#xff0c;但是在代码运行时&#xff0c;B类强制转换为A类&#xff0c;却报代码转换异常。 很奇怪的问题吧&#xff0c;不过这个也是难得机会&#xff0c;去研究C#运行的底层原理。 下面是报错的代码片段。 string className _shapeRefle…...

Go语言进阶

个人笔记&#xff0c;大量摘自Go语言高级编程、Go|Dave Cheney等 更新 go get -u all 在非go目录运行go install golang.org/x/tools/goplslatest更新go tools&#xff1a;在go目录运行go get -u golang.org/x/tools/...&#xff0c;会更新bin目录下的应用&#xff1b; 运行…...

Java的枚举

枚举 对应英文(enumeration, 简写enum) 枚举是一组常量的集合&#xff0c;属于一种特殊的类&#xff0c;里面只包含一组有限的特定的对象。 自定义类实现枚举 1.不需要提供setXxx方法&#xff0c;因为枚举对象值通常为只读. 2.对枚举对象/属性使用 final static共同修饰…...

Pytest测试框架3

目录&#xff1a; pytest结合数据驱动-yamlpytest结合数据驱动-excelpytest结合数据驱动-csvpytest结合数据驱动-jsonpytest测试用例生命周期管理&#xff08;一&#xff09;pytest测试用例生命周期管理&#xff08;二&#xff09;pytest测试用例生命周期管理&#xff08;三&a…...

【数学建模】-- Matlab中图的最短路径

前言&#xff1a; 图的基本概念&#xff1a; 若想简单绘制图可以利用此网站&#xff1a; 左上角Undirected/Directed是无向图/有向图 左边 0-index &#xff0c;1-index为0下标&#xff0c;1下标。 Node Count为节点个数 Graph Data&#xff1a;最初尾节点的名称&#xff…...

中国月入过万的人多不多

Q&#xff1a;中国月入过万的人多不多 单从这个问题来看&#xff0c;这是个费米问题啊&#xff1a; 估算中国月入过万的有多少人&#xff1f; 要解决费米问题&#xff0c;其实也很好办&#xff0c;就是逻辑拆解&#xff0c;这篇文章也分为3个部分&#xff0c;先从公开数据中估…...

苹果电脑图像元数据编辑器:MetaImage for Mac

MetaImage for Mac是一款功能强大的照片元数据编辑器&#xff0c;它可以帮助用户编辑并管理照片的元数据信息&#xff0c;包括基本信息和扩展信息。用户可以根据需要进行批量处理&#xff0c;方便快捷地管理大量照片。 MetaImage for Mac还提供了多种导入和导出格式&#xff0…...

BeanUtils.copyProperties() 详解

BeanUtils.copyProperties会进行类型转换&#xff1b; BeanUtils.copyProperties方法简单来说就是将两个字段相同的对象进行属性值的复制。如果 两个对象之间存在名称不相同的属性&#xff0c;则 BeanUtils 不对这些属性进行处理&#xff0c;需要程序手动处理。 这两个类在不同…...

基于CentOS 7构建LVS-DR集群

DIPVIPRIPClient192.169.41.139 LVS 192.168.41.134192.169.41.10RS1192.168.41.135RS2192.168.41.138 要求&#xff1a; node4为客户端&#xff0c;node2为LVS&#xff0c;node3和node4为RS。 1.配置DNS解析&#xff08;我这里使用本地解析&#xff09; 192.168.41.134 www.y…...

openEuler-OECA考试报名火热开启,尊享半价优惠 作者:HopeInfra 发布时间:2023-08-10

近日&#xff0c;润和软件人才评定报名系统已成功上线运行&#xff0c;现openEuler-OECA人才评定考试报名优惠活动火热开启&#xff0c;欢迎大家报名咨询&#xff01; 关于openEuler人才评定 随着openEuler及其发行版本在各个行业使用量逐年增多&#xff0c;相关人才的评定诉求…...

侯捷 C++面向对象编程笔记——10 继承与虚函数

10 继承与虚函数 10.1 Inheritance 继承 语法&#xff1a;:public base_class_name public 只是一种继承的方式&#xff0c;还有protect&#xff0c;private 子类会拥有自己的以及父类的数据 10.1.1 继承下的构造和析构 与复合下的构造和析构相似 构造是由内而外 Container …...

mysql日期函数(查询最近n(天/月/年)、计算日期之间的天数等)

mysql日期函数 目录 mysql查询最近一个月数据返回当前日期和时间将字符串转变为日期日期 d 减去 n 天后的日期计时间差&#xff0c;返回 datetime_expr2 − datetime_expr1 的时间差算查询当天数据 ADDDATE(d,n)计算起始日期 d 加上 n 天的日期 SELECT ADDDATE("2017-06…...

通过anvt X6和vue3实现图编辑

通过anvt X6 X6地址&#xff1a;https://x6.antv.antgroup.com/tutorial/about&#xff1b; 由于节点比较复杂&#xff0c;使用vue实现的节点&#xff1b; x6提供了一个独立的包 antv/x6-vue-shape 来使用 Vue 组件渲染节点。 VUE3的案例&#xff1a; <template><div…...

win2012 IIS8.5 安装PHP教程,一些版本不能用

因为一直用win2003IIS6.0PHP的环境&#xff0c;所以搭建PHP自认为非常熟悉了&#xff0c;但是最近在搭建win2012IIS8.5PHP的环境时&#xff0c;我遇到了一些问题&#xff0c;经过4个小时的折腾&#xff0c;终于搞定了&#xff0c;本文记录一些经验&#xff0c;可能不少朋友也会…...

sqlalchemy执行原生sql

# 有的复杂sql 用orm写不出来---》用原生sql查询 # 原生sql查询&#xff0c;查出的结果是对象 # 原生sql查询&#xff0c;查询结果列表套元组 准备工作 from sqlalchemy.orm import sessionmaker, relationship from sqlalchemy import create_engineengine create_engine(&…...

Python-OpenCV中的图像处理-图像平滑

Python-OpenCV中的图像处理-图像平滑 图像平滑平均滤波高斯模糊中值模糊双边滤波 图像平滑 使用低通滤波器可以达到图像模糊的目的。这对与去除噪音很有帮助。其实就是去除图像中的高频成分&#xff08;比如&#xff1a;噪音&#xff0c;边界&#xff09;。所以边界也会被模糊…...

Mongoose http server 例子

今天抽了点时间看了一下 mongoose的源码&#xff0c; github 地址&#xff0c;发现跟以前公司内部使用的不太一样&#xff0c;这里正好利用其 http server 例子来看一下。以前的 http message 结构体是这样的&#xff1a; /* HTTP message */ struct http_message {struct mg_…...

1、初识HTML

1、初识HTML 前端就是写一些基本的页面&#xff0c;HTML即超文本标记语言&#xff1a;Hyper Text Markup Language&#xff0c;超文本包括&#xff0c;文字、图片、音频、视频、动画等&#xff0c;HTML5&#xff0c;提供了一些新的元素和一些有趣的新特性&#xff0c;同时也建…...

线性代数(三) 线性方程组

前言 如何利用行列式&#xff0c;矩阵求解线性方程组。 线性方程组的相关概念 用矩阵方程表示 齐次线性方程组&#xff1a;Ax0&#xff1b;非齐次线性方程组&#xff1a;Axb. 可以理解 齐次线性方程组 是特殊的 非齐次线性方程组 如何判断线性方程组的解 其中R(A)表示矩阵A的…...

Apoll 多项式规划求解

一、纵向规划 void QuarticPolynomialCurve1d::ComputeCoefficients(const float x0, const float dx0, const float ddx0, const float dx1,const float ddx1, const float p) {if (p < 0.0) {std::cout << "p should be greater than 0 at line 140." &…...

ssm亚盛汽车配件销售业绩管理统源码和论文PPT

ssm亚盛汽车配件销售业绩管理统源码和论文PPT007 开发工具&#xff1a;idea 数据库mysql5.7(mysql5.7最佳) 数据库链接工具&#xff1a;navcat,小海豚等 开发技术&#xff1a;java ssm tomcat8.5 研究的意义 汽车配件销售类企业近年来得到长足发展,在市场份额不断扩大同时…...

发布属于自己的 npm 包

1 创建文件夹&#xff0c;并创建 index.js 在文件中声明函数&#xff0c;使用module.exports 导出 2 npm 初始化工具包&#xff0c;package.json 填写包的信息&#xff08;包的名字是唯一的&#xff09; npm init 可在这里写包的名字&#xff0c;或者一路按回车&#xff0c;后…...