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

数据分析两件套ClickHouse+Metabase(一)

ClickHouse篇

安装ClickHouse

ClickHouse有中文文档, 安装简单 -> 文档
官方提供了四种包的安装方式, deb/rpm/tgz/docker, 自行选择适合自己操作系统的安装方式
这里我们选deb的方式, 其他方式看文档

sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \/etc/apt/sources.list.d/clickhouse.list
sudo apt-get updatesudo apt-get install -y clickhouse-server clickhouse-client

到这里先不慌着启动, 改一波配置
服务端配置默认地址在/etc/clickhouse-server
尽量不要直接修改config.xml, 而是在config.d子目录中新建配置文件, 易于维护和升级, 文件名随意但会按字母顺序生效
一些简单配置:

<clickhouse><listen_host>::</listen_host> # 打开远程访问<path>xxx</path> # 表数据存储路径<tmp_path>xxxx</tmp_path> # 一些临时数据<max_server_memory_usage>21474836480</max_server_memory_usage> # 服务器进程的最大内存使用量, 根据自己情况设置<logger><level>warning</level> # 日志级别<log>xxx</log> # 日志路径<errorlog>xxx</errorlog> # 错误日志路径</logger>
</clickhouse>

配置完, 启动服务

sudo service clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you've set up a password.

建表

大部分操作和mysql差不多
不过ClickHouse有一套自己的字段类型, 简单建一个表

CREATE TABLE test
(`column1` Date, # 日期类型`column2` FixedString(7), # 固定长度字符串`column3` UInt32, # 无符号int类型`column4` Nullable(String), # 可为空字符串`column5` Float64 # 浮点数
)
ENGINE = MergeTree()
order by column1

更多字段类型以及不同engine的作用详见文档

PySpark写入ClickHouse

spark写入ClickHouse还是很方便的
需要下载一个新的驱动包, 放到每个worker节点的jars目录下 -> 官方jdbc驱动
目前是 clickhouse-jdbc-0.4.6.jar

properties = {'driver': 'com.clickhouse.jdbc.ClickHouseDriver',"socket_timeout": "300000","rewriteBatchedStatements": "true","batchsize": "1000000","numPartitions": "8",'user': 'default','password': '123456', # 配置自己的用户名密码'isolationLevel': 'NONE'}df = spark.read.parquet('xx') # 读一个df, 注意schema和表结构一致
df.write.jdbc(url='jdbc:clickhouse://服务器ip:8123/数据库名', table='表名', mode='append', properties=properties)

不想要监控可以省略以下步骤, 本篇到此结束

监控

ClickHouse自带各种统计表都存在system库里, 我们需要一个可视化平台接入一下比如Grafana

选择适合自己的版本下载 -> 官网下载地址
以及有其他问题可以翻阅文档 -> 官方文档
下载后解压, Grafana中默认数据源是没有ClickHouse的, 需要装一个扩展 -> 地址

grafana-cli --pluginsDir=可指定安装路径 plugins install vertamedia-clickhouse-datasource

不需要什么配置直接./bin/grafana server即可启动, 不过建议改一下web页面的端口, 默认是3000, 会和后面的metabase冲突
配置文件在conf/defaults.ini, 比如修改http_port=2999
然后在浏览器访问页面, 默认账户密码admin, admin

进来以后选Data source
在这里插入图片描述

添加数据源, 搜ClickHouse, 然后按图改名字, 填ip, 填账号密码, 然后保存即可
在这里插入图片描述

下一步直接导入一个现成的ClickHouse仪表盘 -> 地址
省流, DashboardID: 13606

页面右上角点击 import dashboard
在这里插入图片描述

填入dashboardID, 点击右侧load
在这里插入图片描述

然后选择刚添加的数据源, 导入即可

图表很多, 不一一展示了, 至此监控安装完毕
在这里插入图片描述

相关文章:

数据分析两件套ClickHouse+Metabase(一)

ClickHouse篇 安装ClickHouse ClickHouse有中文文档, 安装简单 -> 文档 官方提供了四种包的安装方式, deb/rpm/tgz/docker, 自行选择适合自己操作系统的安装方式 这里我们选deb的方式, 其他方式看文档 sudo apt-get install -y apt-transport-https ca-certificates dirm…...

urllib爬虫模块

urllib爬取数据 import urllib.request as request# 定义url url "https://www.baidu.com" #模拟浏览器发起请求获取响应对象 response request.urlopen(url)""" read方法返回的是字节形式的二进制数据 二进制--》字符串 解码 decode( 编码的格式…...

TCP消息传输可靠性保证

TCP链接与断开 -- 三次握手&四次挥手 三次握手 TCP 提供面向有连接的通信传输。面向有连接是指在数据通信开始之前先做好两端之间的准备工作。 所谓三次握手是指建立一个 TCP 连接时需要客户端和服务器端总共发送三个包以确认连接的建立。在socket编程中&#xff0c;这一…...

Visual Studio 与QT ui文件

对.ui文件鼠标右键&#xff0c;然后单击 Open with…在弹出的窗口中&#xff0c;选中左侧的 Qt Designer&#xff0c;然后单击右侧的 Add 按钮&#xff0c;随后会弹出一个窗口&#xff0c;在 Program: 输入框中输入 Qt Designer 的路径&#xff0c;最后单击 OK找到 Qt Designer…...

竞赛项目 深度学习验证码识别 - 机器视觉 python opencv

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x…...

ORA-00845: MEMORY_TARGET not supported on this system

处理故障时&#xff0c;发现startup实例失败&#xff0c;报错ORA-00845: MEMORY_TARGET not supported on this system SYSorcl1> startup; ORA-00845: MEMORY_TARGET not supported on this system 查看alert日志&#xff0c;报错如下 Starting ORACLE instance (normal…...

wps设置一键标题字体和大小

参考 wps设置一键标题字体和大小&#xff1a;https://www.kafan.cn/A/7v5le1op3g.html 统一一键设置...

TIA博途WINCC_如何在IO域中保证输入数值只能为正数?

TIA博途WINCC_如何在IO域中保证输入数值只能为正数? 在某些情况下,输入的数值受到限制,本例就以输入的数值必须为正整数为例进行说明。 如下图所示,在PLC的全局DB块中添加一个测试变量,数据类型为Int(该数据类型的范围为-32768~+32767), 如下图所示,将该测试变量拖拽到…...

《Linux从练气到飞升》No.13 Linux进程状态

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…...

安卓快速开发

1.环境搭建 Android Studio下载网页&#xff1a;https://developer.android.google.cn/studio/index.html 第一次新建工程需要等待很长时间&#xff0c;新建一个Empty Views Activity 项目&#xff0c;右上角选择要运行的机器&#xff0c;运行就安装上去了(打开USB调试)。 2…...

SpringCloud微服务之间如何进行用户信息传递(涉及:Gateway、OpenFeign组件)

目录 1、想达到的效果2、用户信息在微服务之间传递的两种途径3、用RuoYi-Cloud为例进行演示说明&#xff08;1&#xff09;网关将用户信息写在请求头中&#xff08;2&#xff09;业务微服务之间通过OpenFeign进行调用&#xff0c;并且将用户信息写在OpenFeign准备的请求头中&am…...

RabbitMQ之TTL+死信队列实现延迟队列

RabbitMQ是一个流行的消息队列系统&#xff0c;它提供了许多有用的功能&#xff0c;其中之一是TTL&#xff08;Time To Live&#xff09;和死信队列。这些功能可以用来实现延迟队列&#xff0c;让我们来看看如何使用它们。 首先&#xff0c;什么是TTL&#xff1f;TTL是消息的存…...

GrapeCity Documents for PDF (GcPdf) 6.2 Crack

GrapeCity PDF 文档 (GcPdf) 改进了对由 GcPdf 以外的软件生成的现有 PDF 文档的处理 在新的 v6.2 版本中&#xff0c;GcPdf 增强了 PDF 文档的加载和保存&#xff0c;并提供以下优势&#xff1a; GcPdf 现在可以加载和保存可能不严格符合 PDF 规范的 PDF 文档。GcPdf 现在将…...

【Sklearn】基于随机森林算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于随机森林算法的数据分类预测(Excel可直接替换数据) 1.模型原理1.1 模型原理1.2 数学模型2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果1.模型原理 随机森林(Random Forest)是一种集成学习方法,通过组合多个决策树来构建强大的分类或回归…...

问AI一个严肃的问题

chatgpt的问世再一次掀起了AI的浪潮&#xff0c;其实我一直在想&#xff0c;AI和人类的关系未来会怎样发展&#xff0c;我们未来会怎样和AI相处&#xff0c;AI真的会完全取代人类吗&#xff0c;带着这个问题&#xff0c;我问了下chatgpt&#xff0c;看一看它是怎么看待这个问题…...

Flowable流程的挂起与激活详解

1. 挂起与激活的定义及区别 在Flowable流程中&#xff0c;挂起是指将流程实例暂停&#xff0c;它将停止执行当前步骤并暂时中断流程的执行。相反&#xff0c;激活是指恢复被挂起的流程实例的执行&#xff0c;使其能够继续执行后续步骤。 区别在于挂起流程实例后&#xff0c;流…...

探索前端动画之CSS魔法

引言 在现代网页设计中&#xff0c;动画已经成为了吸引用户注意力、提升用户体验的重要手段之一。而在前端开发中&#xff0c;CSS动画是一种常见且强大的实现方式。本篇博客将带你深入探索前端动画中的CSS魔法&#xff0c;通过清晰的思路和完整的示例代码&#xff0c;帮助你掌…...

Oracle数据库登录遇到密码临期问题

在oracle数据库中&#xff0c;如果设置了密码的有效期&#xff0c;则会出现密码临期提醒的问题&#xff0c;默认的密码有效期是180天&#xff0c;默认的密码提醒时间是15天&#xff08;此处缺乏官方文档支撑&#xff09;&#xff0c;在密码临近过期时&#xff0c;如果登录 Orac…...

LVGL学习笔记 30 - List(列表)

目录 1. 添加文本 2. 添加按钮 3. 事件 4. 修改样式 4.1 背景色 4.2 改变项的颜色 列表是一个垂直布局的矩形&#xff0c;可以向其中添加按钮和文本。 lv_obj_t* list1 lv_list_create(lv_scr_act());lv_obj_set_size(list1, 180, 220);lv_obj_center(list1); 部件包含&…...

Ubuntu下mysql安装及远程连接支持配置

1.安装 下载mysql-server&#xff08;必须加sudo&#xff09; sudo apt update sudo apt install mysql-server 查看mysql的状态 sudo service mysql status 通过如下命令开启mysql sudo service mysql start 2.配置 第一次安装mysql后&#xff0c;为root设置一个密码 …...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...