• pgspider clickhouse fdw 试用


    昨天有构建过一个clickhouse 的fdw docker 镜像,今天测试下

    环境使用docker-compose 运行,clickhouse 同样也是

    环境准备

    • docker-compose 环境
    version: "3"
    services:
        server:
         image: yandex/clickhouse-server
         ports:
         - "8123:8123"
         - "9000:9000"
         - "9009:9009"
         ulimits:
          nproc: 65535
          nofile:
           soft: 262144
           hard: 262144
        client:
          image: yandex/clickhouse-client
          command: ['--host', 'server']
        pgspider:
          image: dalongrong/pgspider:clickhouse
          ports: 
          - "5432:5432"
          environment: 
          - "POSTGRES_PASSWORD=dalong"
    • 启动服务
    docker-compose up -d
    • 初始化clickhouse 数据
    创建表:
    CREATE TABLE wikistat
    (
        project String,
        subproject String,
        hits UInt64,
        size UInt64
    ) ENGINE = Log;
    导入数据:
    serverhost=192.168.0.103 // replace with your hostid
    docker run -i yandex/clickhouse-client --format_csv_delimiter="|" --host ${serverhost} --query="INSERT INTO default.wikistat FORMAT CSV" < ./data/info.csv 

    数据内容

     aa|File:Sleeping_lion.jpg|1|8030
     aa|Main_Page|1|78261
     aa|Special:Statistics|1|20493
     aa|Special:WhatLinksHere/File:Crystal_Clear_app_email.png|1|5412
     aa|Special:WhatLinksHere/File:Wikipedia-logo-fr.png|1|5370
     aa|Steward_requests/Bot_status|1|4733
     aa|Translation_teams/ru|1|4718
     aa|User:%E5%8F%B8%E5%BE%92%E4%BC%AF%E9%A2%9C|2|20096
     aa|User:149.62.201.0/24|1|4802
     aa|User:191.101.30.0/24|1|4806
     aa|User:5.172.192.0/21|1|4800
     aa|User:62.76.7.25|1|4788
    • 效果

    使用clickhouse fdw

    使用已经构建好,同时push dockerhub 的

    • 启用扩展
    CREATE EXTENSION clickhousedb_fdw;
    • 创建外部server
    CREATE SERVER myserver FOREIGN DATA WRAPPER clickhousedb_fdw OPTIONS(dbname 'default', driver '/opt/clickhousedb/libclickhouseodbc.so', host 'server');
    • 创建用户映射
    CREATE USER MAPPING FOR postgres SERVER myserver;
    • 创建表映射
    CREATE FOREIGN TABLE wikistat (
      project text,
      subproject text,
      hits int,
      size int
    ) SERVER myserver OPTIONS (table_name 'wikistat');
    • 查询
    select * from wikistat;
    • 效果

    说明

    clickhouse 的fdw 是一个不错的工具,但是对于clickhouse 的操作,当前还不是很强大

    参考资料

    https://github.com/Percona-Lab/clickhousedb_fdw 
    https://hub.docker.com/repository/docker/dalongrong/pgspider 
    https://github.com/rongfengliang/pgspider-docker 
    https://github.com/rongfengliang/clickhouse-fdw-docker-learning

  • 相关阅读:
    Swagger2 添加HTTP head参数
    获取枚举类型描述
    JS设置cookie、读取cookie、删除cookie
    ES6中Promise的入门(结合例子)
    阮一峰的ES6---Promise对象
    model_util.py
    IfcSpatialElementType
    labelme coco
    python opencv KeyPoint
    IfcSpatialZoneType
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/12344929.html
Copyright © 2020-2023  润新知