编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

ClickHouse空间分析运用(clickhouse实时分析)

wxchong 2024-10-14 18:11:20 开源技术 34 ℃ 0 评论

ClickHouse

ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。

OLAP场景的关键特征

绝大多数是读请求

数据以相当大的批次(> 1000行)更新,而不是单行更新;或者根本没有更新。

已添加到数据库的数据不能修改。

对于读取,从数据库中提取相当多的行,但只提取列的一小部分。

宽表,即每个表包含着大量的列

查询相对较少(通常每台服务器每秒查询数百次或更少)

对于简单查询,允许延迟大约50毫秒

列中的数据相对较小:数字和短字符串(例如,每个URL 60个字节)

处理单个查询时需要高吞吐量(每台服务器每秒可达数十亿行)

事务不是必须的

对数据一致性要求低

每个查询有一个大表。除了他意以外,其他的都很小。

查询结果明显小于源数据。换句话说,数据经过过滤或聚合,因此结果适合于单个服务器的RAM中

很容易可以看出,OLAP场景与其他通常业务场景(例如,OLTP或K/V)有很大的不同, 因此想要使用OLTP或Key-Value数据库去高效的处理分析查询场景,并不是非常完美的适用方案。例如,使用OLAP数据库去处理分析请求通常要优于使用MongoDB或Redis去处理分析请求。

ClickHouse安装和启动

sudo apt-get install apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4
echo "deb https://repo.clickhouse.tech/deb/stable/ main/" | sudo tee \
    /etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
sudo service clickhouse-server start
clickhouse-client

sudo apt-get update如果更新不了可以修改下源,然后修改source.list,clickhouse.list





新建表导入所需要的数据(120038310条经纬度)




create table pnts (Lon  Float64, Lat Float64) engine = MergeTree() order by (Lon, Lat);
time clickhouse-client --query="INSERT INTO pnts FORMAT CSVWithNames" < test_data.csv

ClickHouse空间分析运用

计算最大小经纬度

select min(Lon), max(Lon),min(Lat), max(Lat)FROM pnts


select geohashesInBox(-150.0565255, 24.5449115001 , -66.950609997, 65.1341342731, 4)



面筛选

SELECT geohashEncode(Lon, Lat, 5),count(1) FROM pnts group by geohashEncode(Lon, Lat, 5)


缓冲区计算

select geoToH3(Lon, Lat, 3),count(1) FROM pnts group by geoToH3(Lon, Lat, 3)


select geoToH3(Lon, Lat, 3),count(1) FROM pnts group by geoToH3(Lon, Lat, 3)


geohash聚合

SELECT geohashEncode(Lon, Lat, 5),count(1) FROM pnts group by geohashEncode(Lon, Lat, 5)



参考资料:
https://clickhouse.tech/docs/zh/
https://www.osgeo.cn/qgis-tutorial/docs/3/importing_spreadsheets_csv.html
https://mirror.tuna.tsinghua.edu.cn/help/clickhouse/
https://blog.csdn.net/BigData_Mining/article/details/87867979
http://cncc.bingj.com/cache.aspx?q=clickhouse+anzhuang&d=4519770289931770&mkt=zh-CN&setlang=zh-CN&w=J6QG46UMC2AHWpTGJHFimsC7lpDNMJO-
https://github.com/ClickHouse/ClickHouse/issues/9002
https://www.bookstack.cn/read/clickhouse-20.10-en/bccae583b76cdb17.md
https://blog.csdn.net/jimo_lonely/article/details/107498806
https://github.com/ClickHouse/ClickHouse/issues/17081

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表