云服务器内容精选

  • 处理方法 在其他的节点上创建数据库。 方法一: 创建数据库。 create database demo; 使用数据库demo。 use demo; 创建表格test,显示结果如图1所示,其他节点不存在数据库demo。 CREATE TABLE demo.test ON CLUSTER default_cluster(`EventDate` DateTime, `id` UInt64)ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/default/test', '{replica}') PARTITION BY toYYYYMM(EventDate) ORDER BY id; 解决办法,在其他节点上创建数据库demo,在创建表格,结果如下图所示。 图2 创建表格结果示意图 方法二: 删除数据库,用此命令创建后,每个节点都会创建的数据库。 create database demo ON CLUSTER default_cluster; 在创建表格就不会出现图中所示问题。
  • 查看步骤 创建Catalog。 CREATE CATA LOG jdbc_mysql PROPERTIES ( "type"="jdbc", "user"="root", "password"="******", "jdbc_url" = "JDBC连接串", "driver_url" = "mysql-connector-java-8.0.25.jar", "driver_class" = "com.mysql.cj.jdbc.Driver" ); 查看Catalog。 show catalogs; 图1 查看Catalog 切换到创建的Catalog:switch Catalog名称。 图2 切换到创建的Catalog 查看映射过来的数据库。 show databases; 图3 查看数据库 使用数据库。 use 数据库名; 图4 使用数据库 查看数据库表。 show tables; 图5 查看数据库表
  • 语法 CREATE CATALOG [IF NOT EXISTS] catalog_name PROPERTIES ("key"="value", ...); 表1 参数说明 参数 必须 默认值 说明 user 是 - 对应数据库的用户名。 password 是 - 对应数据库的密码。 jdbc_url 是 - JDBC连接串。 driver_url 是 - JDBC Driver Jar包名称。 driver_class 是 - JDBC Driver Class名称。 lower_case_table_names 否 "false" 是否以小写的形式同步jdbc外部数据源的库名和表名。 only_specified_database 否 "false" 指定是否只同步指定的database。 include_database_list 否 "" 当only_specified_database=true时,指定同步多个database,以‘,’分隔。db名称是大小写敏感的。 exclude_database_list 否 "" 当only_specified_database=true时,指定不需要同步的多个database,以‘,’分割。db名称是大小写敏感的。 driver_url可以通过以下三种方式指定: 文件名。如mysql-connector-java-5.1.47.jar。需将Jar包预先存放在FE和BE部署目录的jdbc_drivers/目录下。系统会自动在这个目录下寻找。 本地绝对路径。如file:///path/to/mysql-connector-java-5.1.47.jar。需将Jar包预先存放在所有FE/BE节点指定的路径下。 Http地址。如:https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mysql-connector-java-5.1.47.jar。系统会从这个http地址下载Driver文件。仅支持无认证的http服务。 only_specified_database: 在jdbc连接时可以指定链接到哪个database/schema,如:mysql中jdbc_url中可以指定database, pg的jdbc_url中可以指定currentSchema。 include_database_list: 仅在only_specified_database=true时生效,指定需要同步的database,以‘,’分割,db名称是大小写敏感的。 exclude_database_list: 仅在only_specified_database=true时生效,指定不需要同步的多个database,以‘,’分割,db名称是大小写敏感的。 当include_database_list和exclude_database_list有重合的database配置时,exclude_database_list会优先生效。 如果使用该参数时连接oracle数据库,要求使用ojdbc8.jar以上版本jar包。
  • 处理方法 删除其他节点上的表格以及存放的数据,可解决此问题。 创建数据库。 create database demo ON CLUSTER default_cluster; 使用数据库,在新建的数据库中创建表。 use demo; 创建表test。 CREATE TABLE demo.test ON CLUSTER default_cluster(`EventDate` DateTime, `id` UInt64)ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/default/test', '{replica}') PARTITION BY toYYYYMM(EventDate) ORDER BY id; 删除表格。 drop table test SYNC; 再次创建同名表格,出现以下现象。 ┌─host──────────┬─port─┬─status─┬─error──────────────────────────────────────────────────────────────────────────────────────────────┬─num_hosts_remaining─┬─num_hosts_active─┐ │ 192.168.2.185 │ 9000 │ 57 │ Code: 57. DB::Exception: Table demo.test already exists. (TABLE_ALREADY_EXISTS) (version 22.3.2.1) │ 1 │ 1 │ └───────────────┴──────┴────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────────────┴──────────────────┘ ┌─host─────────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐ │ 192.168.2.16 │ 9000 │ 0 │ │ 0 │ 0 │ └──────────────┴──────┴────────┴───────┴─────────────────────┴──────────────────┘ 方法一:用以下删除命令会删除每个节点上的表以及存放的相关数据。 drop table test ON CLUSTER default_cluster SYNC; 创建同名表格,创建成功。 方法二:进入其他节点删除表格。 drop table test SYNC;
  • 表格存储 里面的数据是否可以迁移? CloudTable使用 对象存储服务 存储集群数据的备份和快照,实现安全、高可靠和低成本的存储需求,了解更多请参见对象存储服务。如果需要查看账号下建立的桶,参考OBS服务《控制台指南》管理桶章节。 CloudTable使用 云数据迁移 可以将云上云下或第三方云上的多种数据源的数据迁移到CloudTable集群的HBase表中。详细步骤参见使用CMD迁移数据到CloudTable 父主题: 数据读写类
  • 为什么OpenTSDB写入大整数时,有时候会精度丢失? 假设在OpenTSDB中写入了如下数据: 表1 数据示例 Metrics Timestamp tag value Money 1483200000 Card1 9223372036854775709 1483200001 Card1 9223372036854775709 1483200002 Card1 922337203685477.12 1483200003 Card1 9223372036854775700 当查询时,返回的结果如下: {"1483200000":9223372036854775709,"1483200001":9.223372036854776E18, "1483200002":9.223372036854771E14,"1483200003":9223372036854775700} Timestamp为1483200001的value值变成了9.223372036854776E18,与原值9223372036854775709相比数据精度有变化。 这是因为OpenTSDB在返回数据的时候,如果后一个数据(即"1483200002":9.223372036854771E14)是一个浮点数,那么会把当前数据也转换为浮点数进行返回。 同时,整型值9223372036854775709,如果要以浮点型(Double)的数据形式表示的话,就只能表示为9.223372036854776E18了。这是因为Double在内存中是以科学计数法的方式表示的: 1bit(符号位)11bits(指数位)52bits(尾数位) 而精度是由尾数位决定的,所以Double的精度为2^52 = 4503599627370496,一共16位, double的精度最大就为16位。这样就不能完整的表示9223372036854775709(19位)这个整数了。 建议,同一个Metric数据,不要混合插入整型和浮点型的数据,这样就不会发生类似的问题。 父主题: 数据读写类