Python 全栈系列262 使用sqlalchemy(clickhouse)

news2024/11/15 9:59:23

说明

再补充一篇。之前连不上的原因也挺搞笑,大概是deepseek把我带偏了,

应该是
pip3 install clickhouse-sqlalchemy -i https://mirrors.aliyun.com/pypi/simple/

但是它教我
pip3 install sqlalchemy-clickhouse -i https://mirrors.aliyun.com/pypi/simple/

关键是这个包似乎还真的存在…

内容

在小哥的帮助下,我正常连上了clickhouse。 嗯,后来发现他说的对,还是chatgpt更好一点,少走弯路。最近deepseek用的有点多。

之前deepseek教错了,chatgpt很快就纠正过来了。倒不是大模型能力问题,主要还是在数据(知识)的更新上有差距。
在这里插入图片描述

言归正传,这次还是看怎么使用sqlalchemy 操作clickhouse。

小伙第一次帮我用Memory引擎实现了,因为对clickhouse了解还没那么多,我查了一下

在这里插入图片描述

总体上问题不大,但可能内存进入T时代会比较有安全感一些。现在还是要硬盘来兜。而且clickhouse的服务挺脆的,之前碰到断电关机,然后服务就再也起不来了。

import pandas as pd
from sqlalchemy import Column, Integer, String, create_engine
from clickhouse_sqlalchemy import make_session, engines
from sqlalchemy.orm import sessionmaker, declarative_base

# 连接字符串格式: clickhouse+http://<username>:<password>@<host>:<port>/<database 
engine = create_engine('clickhouse+http://xxx:xxx@127.0.0.1:18123/my_database')
if engine:
    print(1)
Base = declarative_base()

# Memory只存在内存中
# class User(Base):
#     __tablename__ = 'users'
#     id = Column(Integer, primary_key=True)
#     name = Column(String(50))
#     email = Column(String(50))
#     __table_args__ = (engines.Memory(),)# 指定表引擎,这里使用 Memory 引擎 


# MergeTree才会持久化
class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String(50))
    email = Column(String(50))
    __table_args__ = (
        engines.MergeTree(order_by=['id']),
    )

# 创建表 
Base.metadata.create_all(engine)
# 使用 sessionmaker 创建 Session 类 
Session = sessionmaker(bind=engine)
# 使用 with 语句管理 session with Session() as session:
with Session() as session:
    users = [User(id=i, name=f'古奇{i}', email=f'gq{i}@666.com') for i in range(30) ]
    session.add_all(users)
    session.commit()

其实都挺快的,一眨眼就好了
在这里插入图片描述
可以查看数据库
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2048910.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Keepalived总结笔记

环境准备&#xff1a;两台安装ka的服务器&#xff0c;两台客户机&#xff0c;IP无要求&#xff0c;关闭火墙和selinux 1.在两台主机上安装ka 全局配置文件在/etc/keepalived/keepalived.conf 可以改写邮件地址和发送邮件的地址和主机唯一标识以及组播地址 配置虚拟路由&…

基于单片机的智能晾衣系统设计

摘 要 &#xff1a;在网络信息技术的推动下&#xff0c;智能家居得到了广泛应用&#xff0c;文章根据当前的市场动态&#xff0c;针对基于单片机的智能晾衣系统设计展开论述&#xff0c;具体包括两个方面的内容———硬件设计和软件设计。 关键词 &#xff1a;单片机&#xff…

经方药食两用服务平台

TOC springboot226经方药食两用服务平台 绪论 1.1研究背景与意义 信息化管理模式是将行业中的工作流程由人工服务&#xff0c;逐渐转换为使用计算机技术的信息化管理服务。这种管理模式发展迅速&#xff0c;使用起来非常简单容易&#xff0c;用户甚至不用掌握相关的专业知识…

【经典算法】BFS_最短路问题

1. 最短路问题介绍 最短路径问题是图论中的一类十分重要的问题。本篇文章只介绍边权为1(或边权相同)的最简单的最短路径问题。所谓边权&#xff0c;就是两点之间的距离。 这类问题通俗的说就是告诉你起点和终点&#xff0c;要你找出最短的路径或是最短路径是多少。 解决方法&…

每日OJ_牛客_DP3跳台阶扩展问题

目录 DP3跳台阶扩展问题 题解代码1&#xff08;dp&#xff09; 题解代码2&#xff08;找规律&#xff09; DP3跳台阶扩展问题 跳台阶扩展问题_牛客题霸_牛客网 题解代码1&#xff08;dp&#xff09; 假定第一次跳的是一阶&#xff0c;那么剩下的是n-1个台阶&#xff0c;跳法…

汇编语言:jcxz 指令

‌ 在汇编语言中&#xff0c;jcxz 标号 指令是一个有条件转移指令&#xff0c;用于检测CX寄存器的值&#xff0c;如果CX寄存器的值为0&#xff0c;则跳转到指令中标号所指定的地址处执行&#xff1b;否则&#xff0c;指令将继续顺序执行。‌ 1. jcxz 标号 &#xff0…

超市收银出入库进销存库存管理系统java数据库SpringBoot前端VUE

系统设计是一个把软件需求转换成用软件系统表示的过程[9]。通过对目标系统的分析和研究&#xff0c;做出了对师范学院实习管理系统的总体规划&#xff0c;这是全面开发系统的重要基础。在对实习管理系统全面分析调查的基础上&#xff0c;制定出商品销售系统的总体规划。系统设计…

KEEPALIVED的高可用实现

目录 一.高可用集群 1.1 集群类型 Keepalived 环境准备 1.2Keepalived 相关文件 1.3实验步骤 1.3.1HTTP配置 1.3.2安装KA 1.3.3实现master/slave的 Keepalived 单主架构 1.3.4抢占模式和非抢占模式 非抢占模式 抢占模式 抢占延迟模式 preempt_delay 1.3.5开启KA…

习题2.38-2.39

2.38这个题目特别有意思,能比较深的理解什么是左侧优先右侧优先。先看看实现代码 ;;满足交换律,即操作函数的参数可相互交换,其结果不变 (defn fold-right[op initial sequences](if (empty? sequences)initial(op (first sequences)(accumulate op initial (rest sequence…

快讯 | 28页知网侵权函难挡秘塔AI:多家数据库抢着合作!

在数字化浪潮的推动下&#xff0c;人工智能&#xff08;AI&#xff09;正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展&#xff0c;捕捉行业动态&#xff1b;提供深入的新闻解读&#xff0c;助您洞悉技术背后的逻辑&#xff1b;汇聚行业专家的见解&#xff0c;…

使用 ESP32 和 TFT 屏幕显示实时天气信息 —— 基于 OpenWeatherMap API

实时监测环境数据是一个非常常见的应用场景&#xff0c;例如气象站、智能家居等。这篇博客将带你使用 ESP32 微控制器和一个 TFT 屏幕&#xff0c;实时显示当前城市的天气信息。通过 OpenWeatherMap API&#xff0c;我们能够获取诸如温度、天气情况以及经纬度等详细的天气数据&…

【书生大模型实战营(暑假场)闯关材料】基础岛:第1关 书生大模型全链路开源体系

【书生大模型实战营&#xff08;暑假场&#xff09;闯关材料】基础岛&#xff1a;第1关 书生大模型全链路开源体系 简介一、背景介绍1.1 背景介绍1.2 全链路开源开放体系的优势 二、全链路开源开放体系的主要特点2.1 模型组件的公开和共享2.2 数据集的公开和共享2.3 模型的互操…

2024年【汽车驾驶员(技师)】报名考试及汽车驾驶员(技师)模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 汽车驾驶员&#xff08;技师&#xff09;报名考试是安全生产模拟考试一点通生成的&#xff0c;汽车驾驶员&#xff08;技师&#xff09;证模拟考试题库是根据汽车驾驶员&#xff08;技师&#xff09;最新版教材汇编出…

Paimon实战 -- paimon原理解析

一.简介 Apache Paimon 原名 Flink Table Store&#xff0c;2022年1月在 Apache Flink 社区从零开始研发&#xff0c;Flink 社区希望能够将 Flink 的 Streaming 实时计算能力和 Lakehouse 新架构优势进一步结合&#xff0c;促进数据在数据湖上真正实时流动起来&#xff0c;并为…

打靶记录12——Fawkes

靶机&#xff1a; https://download.vulnhub.com/harrypotter/Fawkes.ova这是个哈利波特系列的靶机&#xff0c;作者和本人都非常喜欢这个系列&#xff0c;因为它的漏洞和利用点都设计得很巧妙。 难度&#xff1a; 高 目标&#xff1a; 取得2个root权限 3 个flag 涉及攻…

学习二叉树遍历

class Node{ V value; Node left; Node reight; } 用递归和非递归两种方式实现二叉树的先序&#xff0c;中序&#xff0c;后续遍历 如何直观的打印一颗二叉树 如何完成二叉树的宽度优先遍历 递归序列 先序是出现的第一个数字&#xff0c;中序第二个&#xff0c;后续第三…

兼容并蓄,高效集成:EasyCVR视频综合接入能力助力多元化项目需求

随着视频技术的不断进步&#xff0c;视频监控、视频直播、执法记录仪、语音可视对讲、无人机等视频资源的应用场景日益丰富。这些视频资源不仅在数量上快速增长&#xff0c;而且在质量、格式、编码标准等方面也呈现出多样化的特点。因此&#xff0c;为了有效整合这些资源&#…

5.4 视图的创建与管理

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 工&#x1f497;重&#x1f497;hao&#x1f497;&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

【Datawhale X 魔搭 】AI夏令营第四期大模型方向,Task3:源大模型RAG实战(持续更新)

什么是RAG&#xff1f; RAG&#xff1a;检索增强生成&#xff08;Retrieval Augmented Generation&#xff09;。 RAG的提出背景&#xff1a; 在实际业务场景中&#xff0c;通用的基础大模型可能存在无法满足我们需求的情况&#xff0c;主要有以下几方面原因&#xff1a; 知识局…

AtCoder Beginner Contest 367 A~D

本期封面原图 画师えびら A - Shout Everyday 题意 b点睡觉c点起床&#xff0c;问你a点是不是醒着的 思路 直接判断即可&#xff0c;注意处理跨天的情况 代码 #include <bits/stdc.h> #define mod 998244353 using namespace std; typedef long long ll; typedef …