iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python连接clickhouse数据库的方式有哪些
  • 567
分享到

python连接clickhouse数据库的方式有哪些

2023-06-30 14:06:00 567人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍“python连接clickhouse数据库的方式有哪些”,在日常操作中,相信很多人在Python连接clickhouse数据库的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pyt

这篇文章主要介绍“python连接clickhouse数据库的方式有哪些”,在日常操作中,相信很多人在Python连接clickhouse数据库的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python连接clickhouse数据库的方式有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    python连接clickhouse数据库

    在Python中获取系统信息的一个好办法是使用psutil这个第三方模块。

    顾名思义,psutil = process and system utilities,它不仅可以通过一两行代码实现系统监控,还可以跨平台使用。

    主要针对clickhouse_driver的使用进行简要介绍

    第一步:

    • 通过pip install clickhouse_driver 安装 clickhouse_driver

    第二步:

    • 方法一:使用clickhouse_driver 包中的Client类,通过实例化一个客户端进行对数据库的增删改查操作

    from clickhouse_driver import Clientfrom datetime import datetimeimport psutilhost_name = '192.168.50.94'client = Client(host=host_name,database='default',user='default',passWord='自己设的密码',send_receive_timeout=20,port=55666)now = datetime.now()time_stamp = now.strftime('%a %b %d %H:%M:%S CST %Y')# Tue Apr 06 15:32:55 CST 2021  <class 'str'>create_at = datetime.now().strftime('%Y-%m-%d %H:%M:%S')disk_io = psutil.disk_io_counters()net_io = psutil.net_io_counters()chart_name = ["磁盘IO","网络IO"]metric_name1 = ["读(数量)","写(数量)", "读(字节)", "写(字节)", "读(时间)", "写(时间)"]metric_name2 = ["发送字节数","接收字节数","发送包数","接收包"]metric_value1 = [disk_io.read_count,disk_io.write_count,disk_io.read_bytes,disk_io.write_bytes,disk_io.read_time,disk_io.write_time]metric_value2 = [net_io.bytes_sent,net_io.bytes_recv,net_io.packets_sent,net_io.packets_recv]try:    for i in chart_name:        if i is "磁盘IO":            for j in metric_name1:                sql = "insert into clickhouse_host_metrics777(time_stamp,host_name, chart_name, metric_name,metric_value,create_at) " \                      "values('%s','%s','%s','%s','%s','%s')" % \                         (time_stamp, host_name, i, j, metric_value1[metric_name1.index(j)], create_at)                res = client.execute(sql)        elif i is "网络IO":            for j in metric_name2:                sql = "insert into clickhouse_host_metrics777(time_stamp,host_name, chart_name, metric_name,metric_value,create_at) " \                      "values('%s','%s','%s','%s','%s','%s')" % \                      (time_stamp, host_name, i, j, metric_value2[metric_name2.index(j)], create_at)                res = client.execute(sql)    print("成功写入数据")except Exception as e:    print(str(e))
    • 方法二:使用clickhouse_driver 包中的connect函数,通过实例化一个客户端进行对数据库的增删改查操作

    from datetime import datetimeimport psutilfrom clickhouse_driver import connecthost_name = '192.168.50.94'#账号:密码@主机名:端口号/数据库conn = connect('clickhouse://default:自己设的密码@'+host_name+':55666/default')cursor = conn.cursor()now = datetime.now()time_stamp = now.strftime('%a %b %d %H:%M:%S CST %Y')# Tue Apr 06 15:32:55 CST 2021  <class 'str'>create_at = datetime.now().strftime('%Y-%m-%d %H:%M:%S')disk_io = psutil.disk_io_counters()net_io = psutil.net_io_counters()chart_name = ["磁盘IO","网络IO"]metric_name1 = ["读(数量)","写(数量)", "读(字节)", "写(字节)", "读(时间)", "写(时间)"]metric_name2 = ["发送字节数","接收字节数","发送包数","接收包"]metric_value1 = [disk_io.read_count,disk_io.write_count,disk_io.read_bytes,disk_io.write_bytes,disk_io.read_time,disk_io.write_time]metric_value2 = [net_io.bytes_sent,net_io.bytes_recv,net_io.packets_sent,net_io.packets_recv]try:    for i in chart_name:        if i is "磁盘IO":            for j in metric_name1:                sql = "insert into clickhouse_host_metrics777(time_stamp,host_name, chart_name, metric_name,metric_value,create_at) values('%s','%s','%s','%s','%s','%s')" % \                         (time_stamp, host_name, i, j, metric_value1[metric_name1.index(j)], create_at)                # res = client.execute(sql)                res = cursor.execute(sql)        elif i is "网络IO":            for j in metric_name2:                sql = "insert into clickhouse_host_metrics777(time_stamp,host_name, chart_name, metric_name,metric_value,create_at) values('%s','%s','%s','%s','%s','%s')" % \                      (time_stamp, host_name, i, j, metric_value2[metric_name2.index(j)], create_at)                res = cursor.execute(sql)    cursor.close()    print("成功写入数据")except Exception as e:    print(str(e))

    python将数据写入clickhouse

    from clickhouse_driver import Client  # connect ClickHouseclient = Client(host= ,port= ,user= ,database= , password=)  # 得到table1中查询的数据导入table2中(database2中应该事先建立对应的table2表)query_ck_sql = """ SELECT *    FROM database1.table1    WHERE date = today() """# 导入数据到临时表try:    # 导入数据    client.execute("insert into {official_table_db}.{official_all_table_name}  \        {query_ck_sql}".fORMat(            official_table_db = database2,             official_table_name = table2,             query_ck_sql = query_ck_sql)         ,types_check = True)except Exception as e:    print str(e)

    到此,关于“python连接clickhouse数据库的方式有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    --结束END--

    本文标题: python连接clickhouse数据库的方式有哪些

    本文链接: https://www.lsjlt.com/news/329527.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • python连接clickhouse数据库的方式有哪些
      这篇文章主要介绍“python连接clickhouse数据库的方式有哪些”,在日常操作中,相信很多人在python连接clickhouse数据库的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pyt...
      99+
      2023-06-30
    • python连接clickhouse数据库的两种方式小结
      目录python连接clickhouse数据库主要针对clickhouse_driver的使用进行简要介绍python将数据写入clickhousepython连接clickhous...
      99+
      2024-04-02
    • 数据库连接方式有哪些
      小编给大家分享一下数据库连接方式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在建立Oracle数据库的时候,应该会在数据...
      99+
      2024-04-02
    • MySQL连接数据库的方式有哪些
      MySQL连接数据库的方式有以下几种:1. 使用命令行连接:在命令行窗口中使用mysql命令连接数据库,例如:mysql -h 主机...
      99+
      2023-09-09
      MySQL 数据库
    • java连接oracle数据库的方式有哪些
      使用JDBC连接:可以通过JDBC(Java Database Connectivity)来连接Oracle数据库。首先需要下载...
      99+
      2024-04-09
      java oracle
    • PHP中有哪些连接数据库的方式
      本篇文章给大家分享的是有关PHP中有哪些连接数据库的方式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。PHP连接数据库之PHP连接MYSQL数据库代码< php...
      99+
      2023-06-17
    • 数据库中表连接方式有哪些
      这篇文章将为大家详细讲解有关数据库中表连接方式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 1 nested loop join 循...
      99+
      2024-04-02
    • 常见数据库连接方式有哪些
      这篇文章给大家分享的是有关常见数据库连接方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。1.Access数据库的DSN-less连接方法:set adocon=Serve...
      99+
      2024-04-02
    • 有哪些常用的JDBC数据库连接方式
      有哪些常用的JDBC数据库连接方式?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、JDBC连接DB2Class.forName("...
      99+
      2024-04-02
    • php中有哪些连接myql数据库的方式
      本篇文章给大家分享的是有关php中有哪些连接myql数据库的方式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。PHP开发环境搭建工具有哪些一、phpStudy,是一个新手入门最...
      99+
      2023-06-14
    • Go语言的数据库连接方式有哪些?
      Go语言作为一种强大的编程语言,拥有丰富的数据库连接方式,方便开发人员在应用程序中进行数据库操作。在Go语言中,常见的数据库连接方式主要包括使用原生数据库驱动以及使用ORM框架。下面将...
      99+
      2024-04-02
    • MySQL数据库连接方式及工具有哪些
      这篇“MySQL数据库连接方式及工具有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“M...
      99+
      2023-03-31
      mysql
    • wpf连接数据库的方法有哪些
      在WPF中连接数据库的方法有以下几种:1. 使用ADO.NET:ADO.NET是.NET Framework中用于访问数据库的一组类...
      99+
      2023-08-09
      wpf 数据库
    • C#连接数据库的方法有哪些
      这篇文章主要讲解了“C#连接数据库的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#连接数据库的方法有哪些”吧!一、Oracle查询    ...
      99+
      2023-06-30
    • jdbc连接数据库的方法有哪些
      JDBC(Java Database Connectivity)是Java语言用于连接数据库的一种标准接口。JDBC提供了一组类和接...
      99+
      2023-09-26
      jdbc 数据库
    • 数据库连接超时java处理的方式有哪些
      这篇文章主要讲解了“数据库连接超时java处理的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库连接超时java处理的方式有哪些”吧!数据库连接超时java处理的方式在测试一套...
      99+
      2023-07-06
    • 数据库连接池的方式有哪几种
      这篇文章主要讲解了“数据库连接池的方式有哪几种”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库连接池的方式有哪几种”吧! 一、介绍数据库连接是...
      99+
      2024-04-02
    • oracle数据库连接方式有哪几种
      Oracle数据库连接方式有以下几种:1. 使用SQL*Plus连接:SQL*Plus是Oracle数据库自带的一个命令行工具,可以...
      99+
      2023-10-12
      oracle数据库
    • asp连接sql数据库的方法有哪些
      小编给大家分享一下asp连接sql数据库的方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!asp连接sql数据库的方法有...
      99+
      2024-04-02
    • vb连接access数据库的方法有哪些
      在VB中连接Access数据库的方法有以下几种:1. 使用ADO(ActiveX数据对象)库:ADO是一种用于访问各种数据库的COM...
      99+
      2023-08-08
      vb access数据库
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作