需要形容在对接COS客户中,常常会遇到客户的一些COS剖析需要,次要集中在两个方面:1、COS Bucket的对象剖析,比方:前缀为xxx的对象的总大小后缀为xxx的对象的总大小xxx日期前的对象总大小对象size在某个范畴内的个数2、COS Bucket的拜访剖析,比方:xxx时间段内申请Topx的文件xxx时间段内申请Topx的客户端IPs/Agentsxxx时间段内所有的GET/PUT申请,或指定request PATH
针对上述的客户需要,咱们通常能够通过COS清单和COS的拜访日志来剖析,但COS清单或者日志的量通常都是比拟大的,须要通过一个比拟好的工具来实现剖析工作,这里介绍下如何通过ClickHouse,来原生的剖析存储在COS上的清单和日志文件。
ClickHouse是实用于OLAP场景的列式数据库系统,但应用原生接口分析存储在COS上的清单或日志文件时,并不能施展出其列式存储的性能。若须要较高性能的简单剖析时,请应用数据导入的形式把COS上的清单或日志文件记录,导入到ClickHouse集群中剖析。
COS数据导入请参考:https://cloud.tencent.com/doc...
部署ClickHouseClickHouse的部署比较简单,参考官网:https://clickhouse.com/ 即可。这里以CentOS为例:sudo yum install -y yum-utilssudo yum-config-manager --add-repo https://packages.clickhouse.c...sudo yum install -y clickhouse-server clickhouse-client
sudo /etc/init.d/clickhouse-server startclickhouse-client # or "clickhouse-client --password" if you set up a password.
场景1:剖析COS清单在须要剖析COS Bucket的对象时,咱们通常通过拉取Bucket的清单来剖析的形式,COS曾经反对即时清单性能,在Bucket对象数较少的状况下,能够满足小时级生成COS Bucket的清单文件。
Bucket清单请参考:https://cloud.tencent.com/doc...
1、 创立ClickHouse表ClickHouse原生反对创立S3的表面,上面是基于COS清单文件,创立ClickHouse Table的示例:[root@VM-16-3-centos ~]# clickhouse-client...VM-16-3-centos :) CREATE TABLE default.bruins_inventory
( `appid` UInt64, `bucket` String, `key` String, `size` UInt64, `LastModifiedDate` String, `etag` String, `storage_class` String, `IsMultipartUploaded` String, `Replicationstatus` String, `Tag` String ) ENGINE = S3('http://bruins-1253766168.cos.ap-shanghai.myqcloud.com/cos_bucket_inventory/1253766168/bruins/test-inventory_instant_20211230095714/data/*.csv.gz', 'xxxxxxxx', 'xxxxxxxxxxx', 'CSV', 'gzip') VM-16-3-centos :) desc table bruins_inventory
...