Python 连接clickhouse数据库以及新建表结构,csv导入数据

这篇具有很好参考价值的文章主要介绍了Python 连接clickhouse数据库以及新建表结构,csv导入数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、Python 连接clickhouse数据库

◼ clickhouse对外的接口协议通常有两种形式:

◼ 代码实现部分:

二、使用客户端工具DBeaver连接clickhouse

◼ 新建clickhouse表

三、DBeaver 连接clickhouse 用csv文件导入数据

◼ 导入方式:

方法一:使用DBeaver自带导入数据功能;

方法二:具体方式如下:

解决问题:数据导入之后,出现中文乱码。


ClickHouse是近年来备受关注的开源列式数据库(DBMS),主要用于数据联机分析(OLAP)领域,于2016年开源。

一、Python 连接clickhouse数据库

◼ clickhouse对外的接口协议通常有两种形式:

  1. 常规的http协议,java的jdbc就采用这种方式,端口一般是8123;
  2. 面向python的tcp协议,端口号通常为9000(对,是“通常”)。

端口问题,HTTP协议(默认端口8123);TCP (Native)协议(默认端口号为9000),Python里的clickhouse_driver用的tcp端口9000,DBeaver使用的是HTTP协议所以可以使用8123端口。

◼ 代码实现部分:

 (1)我们首先需要安装第三方库clickhouse_driver,

Python 连接clickhouse数据库以及新建表结构,csv导入数据

(2)完整代码:使用clickhouse_driver 包中的Client类,其中需要修改的参数有host,user,password,

from clickhouse_driver import Client
client = Client(host='127.0.0.1',port='9000',user=clickhouse_user ,password=clickhouse_pwd)
sql = 'select * from db_name.tb_name limit 0, 1000'
ans = client.execute(sql)

Python 连接clickhouse数据库以及新建表结构,csv导入数据

 

 

二、使用客户端工具DBeaver连接clickhouse

前提:Clickhouse客户端工具为dbeaver,首先需要安装连接工具Dbeaver。

Dbeaver安装教程地址:DBeaver安装与使用教程(超详细安装与使用教程)_多喝清晨的粥的博客-CSDN博客_dbeaver安装配置

(1)打开Dbeaver,通过操作界面菜单中“数据库”创建配置新连接,如下图所示,选择并下载ClickHouse驱动(默认不带驱动),

Python 连接clickhouse数据库以及新建表结构,csv导入数据

Python 连接clickhouse数据库以及新建表结构,csv导入数据

(2)填写基础配置

DBeaver配置是基于Jdbc方式,一般默认URL和端口如下:

jdbc:clickhouse://192.168.17.61:8123

如下图所示。在是用DBeaver连接Clickhouse做查询时,有时候会出现连接或查询超时的情况,这个时候可以在连接的参数中添加设置socket_timeout参数来解决问题。

jdbc:clickhouse://{host}:{port}[/{database}]?socket_timeout=600000

Python 连接clickhouse数据库以及新建表结构,csv导入数据

 (3)测试连接,提示未安装驱动

到了这一步,说明连接配置信息填写完成,在弹出来的地方选择下载按钮,等它全部下载完驱动后即可测试连接。

如下图所示,开始下载驱动文件:

Python 连接clickhouse数据库以及新建表结构,csv导入数据

Python 连接clickhouse数据库以及新建表结构,csv导入数据

 点击“下载”,

Python 连接clickhouse数据库以及新建表结构,csv导入数据 

等待下载完成,

 (4)再次测试连接,连接成功,

Python 连接clickhouse数据库以及新建表结构,csv导入数据

 可以看到已经成功连接到了Clickhouse。

Python 连接clickhouse数据库以及新建表结构,csv导入数据

 

 

◼ 新建clickhouse表

(1)右击,选择“新建列”,进行创建表,

Python 连接clickhouse数据库以及新建表结构,csv导入数据

(2)或者使用代码进行创建表,

Python 连接clickhouse数据库以及新建表结构,csv导入数据

 在sql编辑器中写入想要创建的表结构代码,

CREATE TABLE table_name (
    node_id Int128,
    node_name VARCHAR(100),
    ll Int16,
    ink VARCHAR(500),
    onk VARCHAR(500),
    fne VARCHAR(500),
    tne VARCHAR(500)
) Engine = MergeTree()
   ORDER BY node_id

Python 连接clickhouse数据库以及新建表结构,csv导入数据

 这样表就创建好了。

三、DBeaver 连接clickhouse 用csv文件导入数据

◼ 导入方式:

(1)先再需要导入的数据表中 插入几条数据 然后 导出 csv 格式的数据。【目的是为了查看导出的cxv 的数据是是什么格式, 我们导入也按照这个格式导入】

Python 连接clickhouse数据库以及新建表结构,csv导入数据

Python 连接clickhouse数据库以及新建表结构,csv导入数据

(2)再导出的表格中 加入我们需要导入的数据,格式和导出的数据格式保持一致。

Python 连接clickhouse数据库以及新建表结构,csv导入数据

(3)然后 通过csv 的方式导入数据到数据库表。

方法一:使用DBeaver自带导入数据功能;

右击需要导入csv文件的表,选择“导入数据”,依次进行一下步骤,

Python 连接clickhouse数据库以及新建表结构,csv导入数据

 Python 连接clickhouse数据库以及新建表结构,csv导入数据

Python 连接clickhouse数据库以及新建表结构,csv导入数据 

Python 连接clickhouse数据库以及新建表结构,csv导入数据 

Python 连接clickhouse数据库以及新建表结构,csv导入数据 

Python 连接clickhouse数据库以及新建表结构,csv导入数据

导入数据成功了。

方法二:具体方式如下:

  1. 首先将待导入的csv数据表传输到clickhouse所在的服务器;
  2. 在数据库中提前建好表,和等待导入数据匹配;
  3. 在客户端输入以下命令:
clickhouse-client --databse="testdb" --query="INSERT INTO testdb.TEST_table FORMAT CSV" < /dataset/data.csv

若出现问题,可以试一下 将FORMAT CSV 改为 FORMAT CSVWithNames
 

解决问题:数据导入之后,出现中文乱码。

解决方法:将csv 表格文件用记事本打开 另存为的方式 保存新的文件 ,编码格式选择为为UTF-8 然后保存。 然后从新的修改编码格式之后的文件导入数据库表格, 中文乱码的问题就解决了。文章来源地址https://www.toymoban.com/news/detail-478971.html

到了这里,关于Python 连接clickhouse数据库以及新建表结构,csv导入数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pycharm连接MySql数据库,新建表creat table、删除表drop table、查询表select、插入数据insert

    亲爱的小伙伴,欢迎你来为学习新的知识啦~~~ 一、安装pymysql 首先我们肯定要先在python中把能操作mySql的第三方数据库安装一下呀~ 安装方式:pip安装(你有没有安装好pip呀,可以看安装pip的相关文章进行安装好哦~) 打开我们电脑的终端,然后输入以下的命令,将我们

    2024年02月09日
    浏览(51)
  • 一百五十六、Kettle——Linux上安装的Kettle9.3连接ClickHouse数据库(亲测,附流程截图)

    kettle9.3在Linux上安装好后,需要与ClickHouse数据库建立连接 1、kettle版本是9.3 2、ClickHouse版本是21.9.5.16   https://pan.baidu.com/s/1iqGyXsTaQSCHEbjj7yX7AA 提取码: mvzd 注意 : clickhouse-plugins文件里就是自定义的clickhouse驱动jar包    注意 : 要区分Linux系统架构是64位还是32位, 它们所属的L

    2024年02月12日
    浏览(62)
  • Navicat远程连接,Docker中的mysql,新建数据库时报错:1044 -Access denied for user ‘root‘@‘%‘ to database

     该错误表示root用户没有访问指定数据库的权限  解决办法就是重新赋权 1.访问 Docker 容器内的 MySQL 命令行界面 2.输入 root 用户的密码 注 : 密码是不会显示的,输入完后Enter即可 3.切换数据库 4.更新表host中的列,将根用户的mysql.user值设置为。\\\'%\\\' 注 :         默认情况

    2024年02月16日
    浏览(54)
  • IDEA连接数据库,以及报错问题

    IDEA是一款功能强大的开发工具,而IDEA连接数据库是其中的一个附带功能,该功能可以在我们开发大型任务,编写SQL语句时,提供帮助,例如以MySQL为例 解决SQL映射文件的警告提示: 在映射配置文件中存在报红的情况。问题如下: 产生的原因:Idea和数据库没有建立连接,不

    2023年04月22日
    浏览(49)
  • 超详细IDEA连接本地数据库以及使用教程

    IDEA的项目要想连接本地数据库,前提就是本地已经配置有数据库,并且可以使用 附Windows10 安装配置数据库教程: 超详细MySQL(免安装版)安装与配置教程 点击IDEA右侧Database处 点击+号----点击Data Source----找到MySQL并选中 操作如下图所示: 点击Schemas----将要使用的数据库打勾 点击

    2024年02月15日
    浏览(57)
  • QT实现连接MySQL数据库以及查询等操作

    功能包含数据库的增删改查和界面的显示,因为没有用.ui文件所以控件的位置都是手动设置的,写的有点费劲 首先打开Navicat,新建一个名字为bak_db的数据库,然后新建查询导入下面的sql语句: 然后刷新显示表已经创建好了,接下来就开始进行操作了: 文件结构 源码在我的

    2024年02月04日
    浏览(66)
  • 【PHP系统学习】——Laravel框架数据库的连接以及数据库的增删改查的详细教程

    👨‍💻个人主页 :@开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏 :PHP程序开发 —   按照 MVC 的架构,对数据的操作应该放在 Model 中完成,但如果不使用 Model,我们也可以用 laravel框架提供的 D8 类

    2024年04月15日
    浏览(50)
  • Javaweb之数据库连接池以及lombok类库的详细解析

    在前面我们所讲解的mybatis中,使用了数据库连接池技术,避免频繁的创建连接、销毁连接而带来的资源浪费。 下面我们就具体的了解下数据库连接池。 3.1 介绍 没有使用数据库连接池: 客户端执行SQL语句:要先创建一个新的连接对象,然后执行SQL语句,SQL语句执行后又需要

    2024年02月03日
    浏览(75)
  • Android Studio + sqllite 数据库连接的步骤以及常见问题

    软件见文末 前提是先安装好sqllite----无脑式next安装 提示:.xml有些资源需要用自己有的,否者有可能会报错!!!! 1、打开SDK后,查看SDK路径 2、在SDK路径下右键鼠标运行命令行,输入命令monitor,即可启动Android monitor Device如下图所示: 执行完monitor,正常情况下会直接跳转

    2024年02月04日
    浏览(48)
  • SQL Server Management Studio (SSMS)下载,安装以及连接数据库配置

    目录 (一)前言 (二)下载与安装 1. 下载 (1)下载地址 (2)SSMS对操作系统的要求 2. 安装 (1)存放下载好的安装包 (2) 双击进入安装 3. SSMS的简单使用 (1)打开SSMS (2)SSMS登录配置框填写 (3)删除登录界面上的记录 (三)卸载SSMS 1. 进入控制面板 2.  找到卸载软件

    2024年02月03日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包