华为云用户手册

  • 请求参数 表2 参数说明 参数 是否必须 类型 位置 描述 confUUID 是 String Query 会议UUID。 confType 是 String Query 会议类别。 online:在线会议,正在召开的会议 history:历史会议,已结束的会议 offset 否 Integer Query 查询偏移量。 取值:大于等于0,默认值为0。 大于等于最大条目数量,则返回最后一页的数据。 limit 否 Integer Query 查询的条目数量。 取值:1-500,默认值为20。 searchKey 否 String Query 查询条件。与会者名称可作为搜索内容。长度限制为1-512个字符。 X-Access-Token 是 String Header 授权令牌。获取“执行App ID鉴权”响应的accessToken。
  • 请求消息示例 GET /v1/metrics/dashboard/statistic/conference/info?timeUnit=D&startTime=2021-03-02&endTime=2021-03-03&category=conference_info&offset=0&limit=20 Connection: keep-alive X-Access-Token: stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC user-agent: WeLink -desktop Host: api.meeting.huaweicloud.com User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_191)
  • 响应消息示例 HTTP/1.1 200 Date: Wed, 18 Dec 2019 06:20:40 GMT Content-Type: application/json;charset=UTF-8 Content-Length: 2450 Connection: keep-alive Expires: 0 Pragma: No-cache Cache-Control: no-cache http_proxy_id: 6fba0eff9f832b463580fb06c5b0ff9c Server: api-gateway X-Request-Id: ac9f75ec3c97c823f128526a924532b2 { "count": 2, "limit": 10, "offset": 0, "data": [{ "time": "2021-03-02", "confCount": "122", "confDuration": "1124", "attendeeCount": "261", "confConcurrentUsedCount": "11" }, { "time": "2021-03-03", "confCount": "122", "confDuration": "1124", "attendeeCount": "261", "confConcurrentUsedCount": "11" } ] }
  • CURL命令示例 curl -k -i -X GET -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' -s "https://api.meeting.huaweicloud.com/v1/metrics/dashboard/statistic/conference/info?timeUnit=D&startTime=2021-03-02&endTime=2021-03-03&category=conference_info&offset=0&limit=20"
  • 请求参数 表2 参数说明 参数 是否必须 类型 位置 描述 offset 否 Integer Query 查询偏移量。 取值:大于等于0,默认值为0 若offset大于等于最大条目数量,则返回最后一页数据,页数根据总条目数和limit计算得出 limit 否 Integer Query 查询的条目数量。 取值:1-500,默认值为20 timeUnit 是 String Query 查询时间维度,取值: D: 按日查询 M: 按月查询 startTime 是 String Query 查询时间范围的开始时间,格式根据timeUnit的取值而定。 timeUnit = D,格式:yyyy-MM-dd,此情况下startTime与endTime间隔最多31日 timeUnit = M,格式:yyyy-MM,此情况下startTime与endTime间隔最多12个月 endTime 是 String Query 查询时间范围的结束时间,格式根据timeUnit的取值而定。 timeUnit = D,格式:yyyy-MM-dd,此情况下startTime与endTime间隔最多31日 timeUnit = M,格式:yyyy-MM,此情况下startTime与endTime间隔最多12个月 category 是 String Query 查询分类,取值: conference_info: 会议总体数据 conference_hourly_info: 单日内会议总体数据 category = conference_hourly_info时,timeUnit只能取值'D',且startTime与endTime必须为同一天 X-Access-Token 是 String Header 授权令牌。获取“执行App ID鉴权”响应的accessToken。
  • 准备开发环境 安装开发工具 请根据所使用语言选择适合的开发工具。 安装2018.3.5或以上版本的IntelliJ IDEA,安装包请至IntelliJ IDEA官方网站下载。 安装3.0.3及以上版本Apache Maven,安装包请至Maven官方下载页面下载。 安装2019 version 16.8.4及以上版本的Visual Studio,安装包请至Visual Studio官方网站下载。 安装开发语言环境 Java:安装1.8.111或以上版本的Java Development Kit,安装包请至Oracle官方下载页面下载。 Python:安装2.7或3.X版本的Python,安装包请至Python官方下载页面下载。 Go:安装1.14及以上版本的Go,安装包请至Go官方下载页面下载。 C#:安装6.0及以上版本的.NET,安装包请至.NET官方下载页面下载。
  • 准备开发环境 安装开发工具 请根据所使用语言选择适合的开发工具。 安装2018.3.5或以上版本的IntelliJ IDEA,安装包请至IntelliJ IDEA官方网站下载。 安装2019 version 16.8.4及以上版本的Visual Studio,安装包请至Visual Studio官方网站下载。 安装开发语言环境 Java:安装1.8.111或以上版本的Java Development Kit,安装包请至Oracle官方下载页面下载。 Python:安装2.7或3.X版本的Python安装包,安装包请至Python官方下载页面下载。
  • 准备开发环境 安装开发工具 请根据所使用语言选择适合的开发工具。 安装2018.3.5或以上版本的IntelliJ IDEA,安装包请至IntelliJ IDEA官方网站下载。 安装2019 version 16.8.4及以上版本的Visual Studio,安装包请至Visual Studio官方网站下载。 安装开发语言环境 Java:安装1.8.111或以上版本的Java Development Kit,安装包请至Oracle官方下载页面下载。 Go:安装1.14及以上版本的Go安装包,安装包请至Go官方下载页面下载。 Python:安装2.7或3.X版本的Python安装包,安装包请至Python官方下载页面下载。 JavaScript:安装15.10.0及以上版本的Nodejs安装包,安装包请至Nodejs官方下载页面下载。 PHP:安装8.0.3及以上版本的PHP安装包,安装包请至PHP官方下载页面下载。 Android:安装4.1.2及以上版本的Android Studio,安装包请至Android Studio官方网站下载。
  • 支持审计的关键操作列表 在您的账户中启用 云审计 服务后,通过云审计服务,您可以记录与云专线服务相关的操作事件,便于日后的查询、审计和回溯。 云审计支持的云专线操作列表如表1所示。 表1 云审计支持的云专线操作列表 操作名称 资源类型 事件名称 创建物理连接 dcaasConnection createConnection 修改物理连接 dcaasConnection modifyConnection 删除物理连接 dcaasConnection deleteConnection 创建虚拟网关 dcaasVirtualGateway createVirtualGateway 修改虚拟网关 dcaasVirtualGateway modifyVirtualGateway 删除虚拟网关 dcaasVirtualGateway deleteVirtualGateway 创建虚拟接口 dcaasVirtualInterface createVirtualInterface 修改虚拟接口 dcaasVirtualInterface modifyVirtualInterface 删除虚拟接口 dcaasVirtualInterface deleteVirtualInterface 父主题: 使用 CTS 审计云专线关键操作
  • 监控云专线 监控是保持云专线可靠性、可用性和性能的重要部分,通过监控,用户可以观察云专线资源。为使用户更好地掌握自己的云专线运行状态,公有云平台提供了 云监控 。您可以使用该服务监控您的云专线,执行自动实时监控、告警和通知操作,帮助您更好地了解云专线的各项性能指标。 通过后续章节,您可以了解以下内容: 支持的基础监控指标 支持的网络质量监控指标(安装Agent) 设置告警规则 查看监控指标 父主题: 使用 CES 监控云专线
  • 基本语法 DROP [TEMPORARY] TABLE [IF EXISTS] [database_name.]name [ON CLUSTER cluster] [SYNC] 示例: 删除表t1。 drop table t1 SYNC; 在删除复制表时,因为复制表需要在Zookeeper上建立一个路径,存放相关数据。ClickHouse默认的库引擎是原子数据库引擎,删除Atomic数据库中的表后,它不会立即删除,而是会在24小时后删除。在删除表时,加上SYNC字段,即可解决该问题,例如:drop table t1 SYNC; 删除本地表和分布式表,则不会出现该问题,可不带SYNC字段,例如:drop table t1; 如果建表语句中包含了“ON CLUSTER ClickHouse集群名”,删除表命令: drop table 表名 ON CLUSTER default_cluster; 如果建表语句不包含“ON CLUSTER ClickHouse集群名”,删除表命令: drop table 表名; 删除数据表前,需确认此数据表是否应用中,以免引起不必要的麻烦。删除数据表后可在24小时内恢复,超过24小时无法恢复。恢复命令如下: set allow_experimental_undrop_table_query = 1; UNDROP TABLE 数据表名;
  • 注意事项 注[1] 可以设置列族的压缩方式,代码片段如下: //设置编码算法,HBase提供了DIFF,FAST_DIFF,PREFIX和PREFIX_TREE四种编码算法 hcd.setDataBlockEncoding(DataBlockEncoding.FAST_DIFF); //设置文件压缩方式,HBase默认提供了GZ和SNAPPY两种压缩算法 //其中GZ的压缩率高,但压缩和解压性能低,适用于冷数据 //SNAPPY压缩率低,但压缩解压性能高,适用于热数据 //建议默认开启SNAPPY压缩 hcd.setCompressionType(Compression.Algorithm.SNAPPY); 注[2] 可以通过指定起始和结束RowKey,或者通过RowKey数组预分Region两种方式建表,代码片段如下: // 创建一个预划分region的表 byte[][] splits = new byte[4][]; splits[0] = Bytes.toBytes("A"); splits[1] = Bytes.toBytes("H"); splits[2] = Bytes.toBytes("O"); splits[3] = Bytes.toBytes("U"); admin.createTable(htd, splits);
  • 功能简介 HBase通过org.apache.hadoop.hbase.client.Admin对象的createTable方法来创建表,并指定表名、列族名。创建表有两种方式(强烈建议采用预分Region建表方式): 快速建表,即创建表后整张表只有一个Region,随着数据量的增加会自动分裂成多个Region。 预分Region建表,即创建表时预先分配多个Region,此种方法建表可以提高写入大量数据初期的数据写入速度。 表名以及列族名不能包含特殊字符,可以由字母、数字以及下划线组成。
  • 代码样例 public void testCreateTable() { LOG .info("Entering testCreateTable."); // Specify the table descriptor. HTableDescriptor htd = new HTableDescriptor(tableName); // (1) // Set the column family name to info. HColumnDescriptor hcd = new HColumnDescriptor("info"); // (2) // Set data encoding methods. HBase provides DIFF,FAST_DIFF,PREFIX // and PREFIX_TREE hcd.setDataBlockEncoding(DataBlockEncoding.FAST_DIFF); // 注[1] // Set compression methods, HBase provides two default compression // methods:GZ and SNAPPY // GZ has the highest compression rate,but low compression and // decompression efficiency,fit for cold data // SNAPPY has low compression rate, but high compression and // decompression efficiency,fit for hot data. // it is advised to use SANPPY hcd.setCompressionType(Compression.Algorithm.SNAPPY); htd.addFamily(hcd); // (3) Admin admin = null; try { // Instantiate an Admin object. admin = conn.getAdmin(); // (4) if (!admin.tableExists(tableName)) { LOG.info("Creating table..."); admin.createTable(htd); // 注[2] (5) LOG.info(admin.getClusterStatus()); LOG.info(admin.listNamespaceDescriptors()); LOG.info("Table created successfully."); } else { LOG.warn("table already exists"); } } catch (IOException e) { LOG.error("Create table failed.", e); } finally { if (admin != null) { try { // Close the Admin object. admin.close(); } catch (IOException e) { LOG.error("Failed to close admin ", e); } } } LOG.info("Exiting testCreateTable."); }
  • 代码样例 下面代码片段在com.huaweicloudtable.hbase.examples包中。 private static void init() throws IOException { // Default load from conf directory conf = HBaseConfiguration.create(); // 注[1] String userdir = System.getProperty("user.dir") + File.separator + "conf" + File.separator; Path hbaseSite = new Path(userdir + "hbase-site.xml"); if (new File(hbaseSite.toString()).exists()) { conf.addResource(hbaseSite); } }
  • MergeTree 建表语法。 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER ClickHouse集群名] ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1] [TTL expr1], name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2] [TTL expr2], ... INDEX index_name1 expr1 TYPE type1(...) GRANULARITY value1, INDEX index_name2 expr2 TYPE type2(...) GRANULARITY value2 ) ENGINE = MergeTree() ORDER BY expr [PARTITION BY expr] [PRIMARY KEY expr] [SAMPLE BY expr] [TTL expr [DELETE|TO DISK 'xxx'|TO VOLUME 'xxx'], ...] [SETTINGS name=value, ...] 使用示例。 CREATE TABLE default.test (name1 DateTime,name2 String,name3 String,name4 String,name5 Date) ENGINE = MergeTree() PARTITION BY toYYYYMM(name5) ORDER BY (name1, name2) SETTINGS index_granularity = 8192; 示例参数说明: 表2 参数说明 参数 说明 ENGINE = MergeTree() MergeTree表引擎。 PARTITION BY toYYYYMM(name5) 分区,示例数据将以月份为分区,每个月份一个文件夹。 ORDER BY 排序字段,支持多字段的索引排序,第一个相同的时候按照第二个排序依次类推。 index_granularity = 8192 排序索引的颗粒度,每8192条数据记录一个排序索引值。 如果被查询的数据存在于分区或排序字段中,能极大降低数据查找时间。
  • Distributed表引擎 Distributed表引擎本身不存储任何数据,而是作为数据分片的透明代理,能够自动路由数据到集群中的各个节点,分布式表需要和其他本地数据表一起协同工作。分布式表会将接收到的读写任务分发到各个本地表,而实际上数据的存储在各个节点的本地表中。 图2 Distributed Distributed表引擎创建模板: ENGINE = Distributed(cluster_name, database_name, table_name, [sharding_key]) 表6 Distributed表参数说明 参数 说明 cluster_name 集群名称,在对分布式表执行读写的过程中,使用集群的配置信息查找对应的ClickHouse实例节点。 database_name 数据库名称。 table_name 数据库下对应的本地表名称,用于将分布式表映射到本地表上。 sharding_key 分片键(可选参数),分布式表会按照这个规则,将数据分发到各个本地表中。 使用示例。 先创建一个表名为demo的ReplicatedMergeTree本地表。 CREATE TABLE default.demo ON CLUSTER default_cluster( `EventDate` DateTime, `id` UInt64)ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/default/demo', '{replica}') PARTITION BY toYYYYMM(EventDate) ORDER BY id; 基于本地表demo创建表名为demo_all的Distributed表。 CREATE TABLE default.demo_all ON CLUSTER default_cluster( `EventDate` DateTime, `id` UInt64)ENGINE = Distributed(default_cluster, default, demo, rand()); 分布式表创建规则。 创建Distributed表时需加上on cluster cluster_name,这样建表语句在某一个ClickHouse实例上执行一次即可分发到集群中所有实例上执行。 分布式表通常以本地表加“_all”命名。它与本地表形成一对多的映射关系,之后可以通过分布式表代理操作多张本地表。 分布式表的表结构尽量和本地表的结构一致。如果不一致,在建表时不会报错,但在查询或者插入时可能会抛出异常。
  • SummingMergeTree SummingMergeTree表引擎用于对主键列进行预先聚合,将所有相同主键的行合并为一行,从而大幅度降低存储空间占用,提升聚合计算性能。 建表语句。 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER ClickHouse集群名] ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1], name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... ) ENGINE = SummingMergeTree([columns]) [PARTITION BY expr] [ORDER BY expr] [SAMPLE BY expr] [SETTINGS name=value, ...] 使用示例。 创建一个SummingMergeTree表testTable。 CREATE TABLE testTable(id UInt32,value UInt32)ENGINE = SummingMergeTree() ORDER BY id; testTable表中插入数据。 INSERT INTO testTable Values(5,9),(5,3),(4,6),(1,2),(2,5),(1,4),(3,8); INSERT INTO testTable Values(88,5),(5,5),(3,7),(3,5),(1,6),(2,6),(4,7),(4,6),(43,5),(5,9),(3,6); 在未合并parts查询所有数据。 SELECT * FROM testTable; 查询结果。 ┌─id─┬─value─┐ │ 1 │ 6 │ │ 2 │ 5 │ │ 3 │ 8 │ │ 4 │ 6 │ │ 5 │ 12 │ └────┴───────┘ ┌─id─┬─value─┐ │ 1 │ 6 │ │ 2 │ 6 │ │ 3 │ 18 │ │ 4 │ 13 │ │ 5 │ 14 │ │ 43 │ 5 │ │ 88 │ 5 │ └────┴───────┘ ClickHouse还没有汇总所有行,需要通过ID进行汇总聚合,需要用到sum和GROUP BY子句。 SELECT id, sum(value) FROM testTable GROUP BY id; 查询结果。 ┌─id─┬─sum(value)─┐ │ 4 │ 19 │ │ 3 │ 26 │ │ 88 │ 5 │ │ 2 │ 11 │ │ 5 │ 26 │ │ 1 │ 12 │ │ 43 │ 5 │ └────┴────────────┘ 手工执行合并操作。 OPTIMIZE TABLE testTable; 查询表数据。 SELECT * FROM testTable; 查询结果。 ┌─id─┬─value─┐ │ 1 │ 12 │ │ 2 │ 11 │ │ 3 │ 26 │ │ 4 │ 19 │ │ 5 │ 26 │ │ 43 │ 5 │ │ 88 │ 5 │ └────┴───────┘ SummingMergeTree根据ORDER BY排序键作为聚合数据的条件Key。即如果排序key是相同的,则会合并成一条数据,并对指定的合并字段进行聚合。 后台执行合并操作时才会进行数据的预先聚合,而合并操作的执行时机无法预测,所以可能存在部分数据已经被预先聚合、部分数据尚未被聚合的情况。因此,在执行聚合计算时,SQL中仍需要使用GROUP BY子句。
  • ReplacingMergeTree 为了解决MergeTree表引擎相同主键无法去重的问题,云数据库ClickHouse提供了ReplacingMergeTree表引擎,用于删除主键值相同的重复项。 建表语句。 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER ClickHouse集群名] ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1], name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... ) ENGINE = ReplacingMergeTree([ver]) [PARTITION BY expr] [ORDER BY expr] [SAMPLE BY expr] [SETTINGS name=value, ...]
  • CollapsingMergeTree CollapsingMergeTree表引擎用于消除ReplacingMergeTree表引擎的功能限制。该表引擎要求在建表语句中指定一个标记列Sign,按照Sign的值将行分为两类:Sign=1的行称为状态行,用于新增状态。Sign=-1的行称为取消行,用于删除状态。 建表语句。 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER ClickHouse集群名] ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1], name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... ) ENGINE = CollapsingMergeTree(sign) [PARTITION BY expr] [ORDER BY expr] [SAMPLE BY expr] [SETTINGS name=value, ...]
  • VersionedCollapsingMergeTree 为了解决CollapsingMergeTree表引擎乱序写入导致无法正常折叠(删除)问题,云数据库ClickHouse提供了VersionedCollapsingMergeTree表引擎,在建表语句中新增一列Version,用于在乱序情况下记录状态行与取消行的对应关系。后台Compaction时会将主键相同、Version相同、Sign相反的行折叠(删除)。 建表语句。 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER ClickHouse集群名] ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1], name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... ) ENGINE = VersionedCollapsingMergeTree(sign, version) [PARTITION BY expr] [ORDER BY expr] [SAMPLE BY expr] [SETTINGS name=value, ...]
  • AggregatingMergeTree AggregatingMergeTree表引擎也是预先聚合引擎的一种,用于提升聚合计算的性能。 建表语句。 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER ClickHouse集群名] ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1], name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... ) ENGINE = AggregatingMergeTree() [PARTITION BY expr] [ORDER BY expr] [SAMPLE BY expr] [TTL expr] [SETTINGS name=value, ...]
  • Replicated*MergeTree引擎 ClickHouse中的所有MergeTree家族引擎前面加上Replicated就成了支持副本的合并树引擎。 图1 合并树引擎图 Replicated表引擎的创建模板: ENGINE = Replicated*MergeTree('ZooKeeper存储路径','副本名称', ...) 表5 参数表 参数 说明 ZooKeeper存储路径 ZooKeeper中该表相关数据的存储路径,建议规范化,如:/clickhouse/tables/{shard}/数据库名/表名。 副本名称 一般用{replica}即可。
  • 概述 表引擎即表的类型,在云数据库ClickHouse中决定了如何存储和读取数据、是否支持索引、是否支持主备复制等。云数据库ClickHouse支持的表引擎,请参见下表。 表1 表引擎 系列 描述 表引擎 特点 MergeTree MergeTree系列引擎适用于高负载任务,支持大数据量的快速写入并进行后续的数据处理,通用程度高且功能强大。 该系列引擎的共同特点是支持数据副本、分区、数据采样等特性。 MergeTree 基于分区键(partitioning key)的数据分区分块存储。 数据索引排序(基于primary key和order by)。 支持数据复制(带Replicated前缀的表引擎)。 支持数据抽样。 在写入数据时,该系列引擎表会按照分区键将数据分成不同的文件夹,文件夹内每列数据为不同的独立文件,以及创建数据的序列化索引排序记录文件。该结构使得数据读取时能够减少数据检索时的数据量,极大的提高查询效率。 RelacingMergeTree 用于解决MergeTree表引擎相同主键无法去重的问题,可以删除主键值相同的重复项。 CollapsingMergeTree CollapsingMergeTree它通过定义一个sign标记位字段记录数据行的状态。如果sign标记为1,则表示这是一行有效的数据。如果sign标记为-1,则表示这行数据需要被删除。 VersionedCollapsingMergeTree 在建表语句中新增Version列,用于解决CollapsingMergeTree表引擎乱序写入导致无法正常折叠(删除)的问题。 SummigMergeTree 用于对主键列进行预先聚合,将所有相同主键的行合并为一行,从而大幅度降低存储空间占用,提升聚合计算性能。 AggregatingMergeTree AggregatingMergeTree是预先聚合引擎的一种,用于提升聚合计算的性能。AggregatingMergeTree引擎能够在合并分区时,按照预先定义的条件聚合数据,同时根据预先定义的聚合函数计算数据并通过二进制的格式存入表内。 GraphiteMergeTree 用于存储Graphite数据并进行汇总,可以减少存储空间,提高Graphite数据的查询效率。 Replicated*MergeTree ClickHouse中的所有MergeTree家族引擎前面加上Replicated就成了支持副本的合并树引擎。 Replicated*MergeTree系列 Replicated系列引擎借助ZooKeeper实现数据的同步,创建Replicated复制表时通过注册到ZooKeeper上的信息实现同一个分片的所有副本数据进行同步。 Distributed - Distributed 本身不存储数据,可以在多个服务器上进行分布式查询。
  • parquet格式数据导入导出 parquet格式数据导入。 非安全集群 cat parquet_no_ssl.parquet | ./clickhouse client --host 192.168.x.x --port port --user admin --password password --database test010 --query="INSERT INTO test145 FORMAT Parquet" 安全集群 cat parquet_no_ssl.parquet | ./clickhouse client --host 192.168.x.x --port port --user admin --password password --config-file ./config.xml --database test010 --query="INSERT INTO test146 FORMAT Parquet" parquet_no_ssl.parquet:表示格式文件存放路径,路径自定义。 host:主机名/ClickHouse实例IP地址。 port:端口号(在集群详情页面查看)。 user:创建集群时创建的用户名。 database:数据库名。 password:创建集群时,创建的密码。 INSERT INTO:后面跟数据表。 config-file ./config.xml:指定配置文件,请参见ClickHouse安全通道章节。
  • JSON格式数据导入导出 JSON格式数据导入。 非安全集群 cat ./jsonnossl.json | ./clickhouse client --host 192.168.x.x --port port --user admin --password password --database test010 --query="INSERT INTO test141 FORMAT JSON" 安全集群 cat ./jsonssl.json | ./clickhouse client --host 192.168.x.x --port port --user admin --password password --config-file ./config.xml --database test010 --query="INSERT INTO test142 FORMAT JSON" cat文件路径:导入文件路径,路径自定义。 host:主机名/ClickHouse实例IP地址。 port:端口号(在集群详情页面查看)。 user:创建集群时创建的用户名。 database:数据库名。 password:创建集群时,创建的密码。 INSERT INTO:后面跟数据表。 config-file ./config.xml:指定配置文件,请参见ClickHouse安全通道章节。
  • 注意事项 (1) BitmapIndexDescriptor描述哪些字段使用什么规则来抽取标签,数据表可以定义一个或多个BitmapIndexDescriptor。 (2) 定义哪些列需要抽取标签。取值范围: ExplicitColumnName:指定列。 FamilyOnlyName:某一ColumnFamily下的所有列。 PrefixColumnName:拥有某一前缀的列。 (3) 定义列的抽取标签的规则,可选值如下: QualifierExtractor:表示按照列名来抽取标签。 例如,qualifier是Male,value是1,那么抽取的标签是Male。 QualifierValueExtractor:表示按照列名和value来抽取标签。 例如,qualifier是education,value是master,那么抽取的标签是education:master。 QualifierArrayValueExtractor:可以抽取多个标签,value是json array格式。 例如,qualifier是hobby,value 是 ["basketball","football","volleyball"],抽取的标签如下: hobby:basketball hobby:football hobby:volleyball QualifierMapValueExtractor:可以抽取多个标签,value是json map格式。 例如,qualifier是hobby,value是 {"basketball":"9","football":"8","volleyball":"7"},抽取的标签如下: hobby:basketball hobby:football hobby:volleyball hobby:basketball_9 hobby:football_8 hobby:volleyball_7 (4) 索引表的分区数量SHARD_NUM必须要小于或等于数据表。
  • 预防措施 在 企业主机安全 已有的防护能力基础之上,可以从安全产品、应用、网络防护层面出发,做到全方位预防暴力破解。 安全产品层面 开启 云堡垒机 可对主机资源、应用服务器进行统一纳管,提供登录认证、资源管理、会话审计等功能。云 堡垒机 功能特性详情请参见功能特性。快速使用详情请参见快速入门。 开启云堡垒机后,入侵、破解将优先被云堡垒机监测拦截告警,与HSS形成双重防护。 应用层面 使用SSH KEY登录 为主机资源、应用服务器开启SSH KEY密钥登录,在每次登录时要求公钥和私钥必须相匹配才可登录成功。创建密钥对详情请参见创建密钥对。 开启双因子认证 双因子认证功能是一种双因素身份验证机制,结合短信/邮箱、登录验证码,对云服务器登录行为进行二次身份认证。 在“双因子认证”页面,勾选需要开启双因子的主机,单击“开启双因子认证”,开启双因子认证。详细操作请参见双因子认证。 网络层面 配置SSH登录白名单 SSH登录白名单功能是防护帐户破解的一个重要方式,配置后,在开启密钥登录的基础之上只允许白名单内的IP登录到服务器,拒绝白名单以外的IP。详细操作请参见配置SSH登录IP白名单。 修改默认端口 将默认的远程管理端口“22”、“3389”修改为不易猜测的其他端口。详细操作请参见怎样修改远程登录的端口?。 设置安全组规则,限制攻击源IP访问您的服务端口 建议设置对外开放的远程管理端口(如SSH、远程桌面登录),只允许固定的来源IP进行连接。 账户破解防护可实时检测攻击者对主机中帐户的暴力破解攻击,拦截攻击源IP。您可以通过配置安全组规则来限制攻击源IP访问您的服务端口。 如果是远程登录端口,您可以只允许特定的IP地址远程登录到弹性云服务器。 例:仅允许特定IP地址(例如,192.168.20.2)通过SSH协议访问Linux操作系统的弹性云服务器的22端口,安全组规则如下所示: 表1 仅允许特定IP地址远程连接云服务器 方向 协议应用 端口 源地址 入方向 SSH(22) 22 例如:192.168.20.2/32 设置安全强度高的口令 口令复杂度策略检测和弱口令检测可检测出主机系统中使用弱口令的帐户,您可以在控制台查看并处理主机中的口令风险。 口令的设置方法请参见如何设置安全的口令复杂度策略、如何设置安全的口令。
  • AK/SK认证 使用服务API需要进行认证,目前SDK仅支持AK/SK认证方式。 使用AK/SK方式,需要用户提供AK和SK。 注册并登录华为云管理控制台。 在控制台中,鼠标移动至右上角的用户名处,在下拉列表中单击“我的凭证”。 单击“访问密钥”页签,在页签中,单击“新增访问密钥”。 在“身份验证”对话框中,输入当前用户的登录密码,通过邮箱或者手机进行验证,输入对应的验证码。 单击“确定”,下载认证账号的AK/SK,请妥善保管AK/SK信息。
  • 下载SDK包 语音交互 SDK软件包获取请参见表 下载SDK包。 示例音频参见示例音频。 当您使用过旧版本的Java SDK时,需要注意旧版本的SDK依赖的jar包与新版本SDK的jar包有无冲突。新版本SDK升级日志为log4j2,同时java-sdk-core升级到3.0.12版本。 优先推荐使用新版SDK语音交互服务SDK,该SDK基于统一规范开发,支持Java/Python/C++/.NET/Go/NodeJs/PHP,使用方法可参考api-explorer、SDK开发指南。该SDK暂不支持websocket方法。 如果需要使用 实时语音识别 ,可考虑使用表 下载SDK包下载SDK使用,当前支持Java SDK、Python SDK、CPP SDK。后序章节均指代该SDK,使用方法可参考Java SDK、Python SDK、CPP SDK(Windows)、CPP SDK(Linux)。当前自研SDK仅java和python提供企业项目配置入口,在代码示例中配置,其他语言暂未支持。 表1 下载SDK包 SDK语言 下载地址 Java https://sis-sdk-repository.obs.cn-north-1.myhuaweicloud.com/java/huaweicloud-java-sdk-sis-1.8.3.zip Python https://sis-sdk-repository.obs.cn-north-1.myhuaweicloud.com/python/huaweicloud-python-sdk-sis-1.8.3.zip iOS(Swift) https://sis-sdk-repository.obs.cn-north-1.myhuaweicloud.com:443/ios/huaweicloud-ios-sdk-sis-1.1.1.zip Android https://sis-sdk-repository.obs.cn-north-1.myhuaweicloud.com:443/android/huaweicloud-android-sdk-sis-1.1.1.1.zip Cpp(Windows) https://sis-sdk-repository.obs.cn-north-1.myhuaweicloud.com:443/cpp/huaweicloud-sdk-cpp-sis-win-1.4.0.zip Cpp(Linux) https://sis-sdk-repository.obs.cn-north-1.myhuaweicloud.com:443/cpp/huaweicloud-cpp-sdk-sis-linux.1.3.2.tar.gz
共100000条