clickhouse初探

clickhouse初探

安装

在debian10上安装clickhouse,安装过程中会提示输入默认账户default的密码,直接Eenter,后续再设置密码。

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 -y remove clickhouse*

 # 找出安装的其他文件,全部删除
sudo find / -name clickhouse* | xargs sudo rm -rf

设置密码

编辑 /etc/clickhouse-server/users.xml文件

  • 方式1:明文密码(不推荐),例如<password>qwerty</password>

  • 方式2:SHA256加密后的密码,将密文写在字段<password_sha256_hex> </password_sha256_hex>之间,例如:<password_sha256_hex>65e84be33532fb784c48129675f9eff3a682b27168c0ea744b2cf58ee02337c5</password_sha256_hex>.`

    echo -n "123456" | sha256sum | tr -d '-'  # 明文密码123456使用SHA256加密后的密文
    

远程访问

修改配置文件,将<listen_host>0.0.0.0</listen_host>注释去掉

vim /etc/clickhouse-server/config.xml

使用dbeaver连接,数据库/模式用户名都是default

sudo systemctl restart clickhouse-server  # 重启服务

clickhouse-client --password  # 使用default密码登录

修改数据存储路径

clickhouse安装后默认的存储路径是/var/lib/clickhouse,不需要修改配置文件,数据实际存储在你修改的目录中,只是建立了一个软连接供clickhouse调用。

# 新建新的路径
mkdir /data/clickhouse

# 将原有的文件复制到新的目录
cp -r /var/lib/clickhouse/* /data/clickhouse/

# 重命名原有文件夹,防止设置失败,便于恢复,设置成功后可以删除
mv /var/lib/clickhouse /var/lib/clichouse_backup

# 创建软连接
ln -s /data/clickhouse/ /var/lib/clickhouse

# 修改权限
chown -R clickhouse:clickhouse /data/clickhouse
chown -R clickhouse:clickhouse /var/lib/clickhouse

# 重启服务
systemctl restart clickhouse-server

管理数据

clickhouse-driver

pip install clickhouse-driver[numpy]  # 安装适用pandas和numpy的clickhouse-driver

# 连接数据库
client = Client('localhost', password='xxxx', settings={'use_numpy': True})

# 新增数据
client.insert_dataframe('insert into insert_select_testtable values', df)

# 查询数据
client.execute('SELECT * FROM system.numbers LIMIT 10000',columnar=True)
# 结果:[array([   0,    1,    2, ..., 9997, 9998, 9999], dtype=uint64)]

client.query_dataframe('
   'SELECT number AS x, (number + 100) AS y '
    'FROM system.numbers LIMIT 10000)
结果:
         x      y
0        0    100
1        1    101
2        2    102
3        3    103
4        4    104
...    ...    ...
9995  9995  10095
9996  9996  10096
9997  9997  10097
9998  9998  10098
9999  9999  10099

[10000 rows x 2 columns]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值