问题标签 [clickhouse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 如何通过 Docker 容器 clickhouse-client 将 CSV 数据导入表
我正在为 Windows 使用 Docker:
- Docker 版本 18.03.1-ce-win64
- Docker 引擎 18.03.1-ce
- ClickHouse 客户端版本 1.1.54380
- ClickHouse 服务器版本 1.1.54380
为了将表中的数据导出为 CSV 格式,我使用以下命令:
现在运行
clickhouse-client
容器进行导出注意:上述命令完美运行。
现在运行
clickhouse-client
容器进行导入
你能告诉我我在导入时做错了什么吗?
提前致谢。
sql - 如何在 ClickHouse 中按时间段分组并用空值/0 填充缺失的数据
假设我有一个给定的时间范围。为了解释,让我们考虑一些简单的事情,比如 2018 年全年。我想从 ClickHouse 查询数据作为每个季度的总和聚合,因此结果应该是 4 行。
问题是我只有两个季度的数据,所以在使用时GROUP BY quarter
,只返回两行。
1514761200
– 2018-01-01
1546210800
–2018-12-31
这将返回:
我需要:
这是简化的示例,但在实际用例中,聚合将是例如。5 分钟而不是宿舍,并且 GROUP BY 至少还有一个属性,就像GROUP BY attribute1, time
这样期望的结果是
有没有办法以某种方式填充整个给定的间隔?就像 InfluxDBfill
对 group 或 TimescaleDb 的time_bucket()
函数有参数一样,generate_series()
我尝试搜索 ClickHouse 文档和 github 问题,似乎这还没有实现,所以问题可能是是否有任何解决方法。
database - clickhouse 架构设计,预定义的列集
我有多个不同模式的输入源。为了使用 Clickhouse 进行一些分析,我想到了两种处理分析工作负载的方法,使用join
或aggregation
操作:
使用连接涉及定义与每个输入对应的表。
使用聚合函数需要一个表,其中包含一组预定义的列,列的数量和列的类型将基于我的近似值,并且将来可能会改变。
我的问题是:如果我采用第二种方法,定义很多列,比如说数百列。它如何影响性能、存储成本……等?
database - 使用 ClickHouse 分布式表上的 where 过滤器进行不同的选择失败
我在分布式表上测试查询时遇到了问题。
SQL是这样的:
'on_time.ontime_all' 是一个分布式表,包含 OriginCityName、OriginStateName 等列。和错误:
但是,如果我对 SQL 执行以下操作之一,错误就会消失:
- 删除不同的
- 删除 where 子句
- 用 prewhere 替换 where
- 将 where 子句中的“OriginStateName”列也添加到选择部分
- 将选择部分更改为
select distinct *
这种 SQL 对我的应用程序很重要,所以有人可以帮我解决这个问题吗?这是一个错误还是 ClickHouse 的限制?非常感谢。
clickhouse - 有没有办法在 ClickHouse 中附加物化视图?
当我们为 ClickHouse 数据库交换磁盘时出现故障。当 ClickHouse 启动时,我必须附加所有表格,因为它们不存在通过ATTACH TABLE IF NOT EXISTS ...
.
有没有办法对物化视图做同样的事情?我找不到如何做到这一点的方法,当我尝试从头开始创建它时(CREATE MATERIALIZED VIEW IF NOT EXISTS ...
,ClickHouse 说:
表的数据目录已经包含数据部分 - 可能是不干净的 DROP 表或手动干预。如果需要使用该部分,则必须手动清除目录或使用 ATTACH TABLE 而不是 CREATE TABLE。
所以文件仍然存在,但不知道如何附加视图。
sql - Clickhouse,列值到数组
我想进行查询,然后将每个列的值转换为数组,我尝试找到一种方法来做到这一点,但直到现在它已经暗示了我。
查询是一个简单的选择:
从 X 中选择 a、b、c
而不是 say 的通常结果(默认格式):
我想为每一列获取一个数组,即:
这是可能吗 ?
clickhouse - 来自服务器 localhost:9000, ::1 的意外数据包
我已经按照https://github.com/Altinity/clickhouse-rpm-install此处的说明安装了 clickhouse 。
我还在 /etc/clickhouse-server/config.xml 中启用了 ::。
它开始很好,如下所示:
sudo /etc/init.d/clickhouse-server restart 启动 clickhouse-server 服务:/etc/clickhouse-server/config.xml 中数据目录的路径:/var/lib/clickhouse/ DONE
但是,当我启动客户端时,它失败如下:
sudo clickhouse-client ClickHouse 客户端版本 1.1.54383。连接到 localhost:9000。代码:102. DB::NetException:来自服务器 localhost:9000 的意外数据包,::1(预期的 Hello 或异常,得到未知数据包)
database - 无法启动 clickhouse 服务,../data/default/ 中的文件太多
我的独立 clickhouse-server 安装有一个奇怪的问题。服务器以几乎默认的配置运行了一段时间,除了 data 和 tmp 目录被替换为单独的磁盘:
今天服务器停止响应连接被拒绝错误。它已重新启动,之后服务无法完全启动:
真的,我在 57% 上停止了进程,因为它开始时间太长(也许它可能在一两个小时内开始,我没有尝试)。
默认情况下日志级别是“跟踪”,但我没有说明这种行为的任何原因。
我认为问题在于 /data/clickhouse/data/default/event_5156 中的文件计数。现在它是 626023 目录,并且 ls -la 命令在此目录中无法正常工作,我必须使用 find 来计算文件:
我有两个问题:
1)为什么 Clickhouse-Server 生成了这么多文件和目录,默认配置?
2)如何在足够的时间内启动服务而不丢失数据?
clickhouse - Clickhouse 改变物化视图的选择
我有以下设置:
我想添加新列,例如。ip
到my request_income
餐桌。根据文档,为了这样做,我需要执行以下步骤:
分离视图以停止接收来自 Kafka 的消息。
DETACH TABLE request_income;
删除从 Kafka 流式传输数据的表,因为 Kafka 引擎不支持
ALTER
查询。DROP TABLE request_income_buffer
使用新字段重新创建从 Kafka 流式传输数据的表。
如果不存在则创建表 request_income_buffer (timestamp UInt64, timestamp_micro Float32, traceId Int64, host String, ip String, type String, service String, message String, caller String, context String) ENGINE = Kafka('kafka:9092', 'request_income' , '组', 'JSONEachRow');
根据this post更新分离物化视图的.inner表
ALTER TABLE `.inner.request_income` 在主机之后添加列 ip 字符串;
根据上面更新视图的选择查询的帖子
- 附加视图
附加表 request_income
问题是如何更新视图的选择查询?
yandex - 多个 x 值的 RunningDifference(x)
我的表 tbl_data(event_time, monitor_id,type,event_date,status)
结果将是
这个查询结果给了我单个monitor_id的正确答案,现在我需要多个monitor_id,
如何在单个/相同查询中实现它?