• Clickhouse之表函数 X


    remote, remoteSecure

    允许访问远程服务器, 而无需穿件Distributed表, remoteSecure - 与 remote 相同,但是会使用加密链接。

    语法:

    remote('addresses_expr', db, table[, 'user'[, 'password'], sharding_key])
    remote('addresses_expr', db.table[, 'user'[, 'password'], sharding_key])
    remoteSecure('addresses_expr', db, table[, 'user'[, 'password'], sharding_key])
    remoteSecure('addresses_expr', db.table[, 'user'[, 'password'], sharding_key])

    参数

    • addresses_expr – 代表远程服务器地址的一个表达式。可以只是单个服务器地址。 服务器地址可以是 host:port 或 host

      host 可以指定为服务器名称,或是IPV4或IPV6地址。IPv6地址在方括号中指定。

      port 是远程服务器上的TCP端口。 如果省略端口,则 remote 使用服务器配置文件中的 tcp_port (默认情况为,9000),remoteSecure 使用 tcp_port_secure (默认情况为,9440)。

      IPv6地址需要指定端口。

      类型: String

      • db — 数据库名。类型: String

      • table — 表名。类型: String

      • user — 用户名。如果未指定用户,则使用 default 。类型: String

      • password — 用户密码。如果未指定密码,则使用空密码。类型: String

      • sharding_key — 分片键以支持在节点之间分布数据。 例如: insert into remote('127.0.0.1:9000,127.0.0.2', db, table, 'default', rand())。 类型: UInt32

        返回值

        来自远程服务器的数据集。

        用法

        使用 remote 表函数没有创建一个 Distributed 表更优,因为在这种情况下,将为每个请求重新建立服务器连接。此外,如果设置了主机名,则会解析这些名称,并且在使用各种副本时不会计入错误。 在处理大量查询时,始终优先创建 Distributed 表,不要使用 remote 表函数。

        该 remote 表函数可以在以下情况下是有用的:

      • 访问特定服务器进行数据比较、调试和测试。

      • 在多个ClickHouse集群之间的用户研究目的的查询。

      • 手动发出的不频繁分布式请求。

      • 每次重新定义服务器集的分布式请求。

    多个地址可以用逗号分隔。在这种情况下,ClickHouse将使用分布式处理,因此它将将查询发送到所有指定的地址(如具有不同数据的分片)。

    示例:

    1.从远程服务器选择数据

    SELECT * FROM remote('127.0.0.1', db.remote_engine_table) LIMIT 3;

    2.将远程服务器中的数据插入表中:

    CREATE TABLE remote_table (name String, value UInt32) ENGINE=Memory;
    INSERT INTO FUNCTION remote('127.0.0.1', currentDatabase(), 'remote_table') VALUES ('test', 42);
    SELECT * FROM remote_table;
    INSERT INTO <local_database>.<local_table>
    SELECT * FROM remote('remote_clickhouse_addr', <remote_database>, <remote_table>, '<remote_user>', '<remote_password>')
  • 相关阅读:
    win8 开发之旅(1) 连连看游戏开发 前奏
    win8 开发之旅(2) 连连看游戏开发 项目错误的总结
    常见的排序算法五——堆排序
    我与mongodb 二三事(1)
    常见的排序算法四——直接选择排序
    我与mongodb 二三事(2)
    oracleHelper的使用
    公司A、公司B、公司C……
    javascript调用C#后台程序执行查询
    通过翻译学英语
  • 原文地址:https://www.cnblogs.com/xingxia/p/clickhouse_functions.html
Copyright © 2020-2023  润新知