云服务器内容精选

  • 数据说明 数据源表:电商业务订单详情宽表 字段名 字段类型 说明 order_id string 订单ID order_channel string 订单生成的渠道(即web方式、app方式等) order_time string 订单时间 pay_amount double 订单金额 real_pay double 实际支付金额 pay_time string 支付时间 user_id string 用户ID user_name string 用户姓名 area_id string 订单地区ID 结果表:各渠道的销售总额实时统计表。 字段名 字段类型 说明 begin_time varchar(32) 开始统计指标的时间 channel_code varchar(32) 渠道编号 channel_name varchar(32) 渠道名 cur_gmv double 当天GMV cur_order_user_count bigint 当天付款人数 cur_order_count bigint 当天付款订单数 last_pay_time varchar(32) 最近结算时间 flink_current_time varchar(32) Flink数据处理时间
  • 步骤2:获取DMS连接地址并创建Topic 在控制台单击“服务列表”,选择“分布式消息服务DMS”,单击进入DMS服务控制台页面。在“Kafka专享版”页面找到您所创建的Kafka实例。 图2 Kafka实例 进入实例详情页面。单击“基本信息”,获取“连接地址”。 图3 获取连接地址 单击“Topic管理”,创建一个Topic:trade_order_detail_info。 图4 创建Topic Topic配置如下: 分区数:1 副本数:1 老化时间:72h 同步落盘:否
  • 步骤1:创建资源 如表2所示,完成VPC、DMS、RDS、 DLI DLV 资源的创建。 表2 创建资源 资源类型 说明 操作指导 VPC VPC为资源提供云上的网络管理服务。 资源网络规划说明: Kafka与MySQ L实例 指定的VPC需为同一VPC。 Kafka与MySQL实例所属VPC网段不得与创建的DLI队列网段冲突。 创建VPC和子网 DMS Kafka 本例中以DMS Kafka实例作为数据源。 DMS Kafka入门指引 RDS MySQL 本例中以使用RDS提供在线云数据库服务。 RDS MySQL快速入门 DLI DLI提供实时业务数据分析。 创建DLI队列时请创建“包年包月”或者“按需-专属资源”模式的通用队列,否则无法创建增强型网络连接。 DLI 创建队列 DLV DLV实时展现DLI队列处理后的结果数据。 DLV 创建大屏
  • 资源和成本规划 表1 资源和成本规划 资源 资源说明 成本说明 OBS 需要创建一个OBS桶将数据上传到 对象存储服务 OBS,为后面使用DLI完成数据分析做准备。 OBS的使用涉及以下几项费用: 存储费用:静态网站文件存储在OBS中产生的存储费用。 请求费用:用户访问OBS中存储的静态网站文件时产生的请求费用。 流量费用:用户使用自定义 域名 通过公网访问OBS时产生的流量费用。 实际产生的费用与存储的文件大小、用户访问所产生的请求次数和流量大小有关,请根据自己的业务进行预估。 DLI 在创建SQL作业前需购买队列,使用DLI的队列资源时,按照队列CU时进行计费。 如购买按需计费的队列,在使用队列资源时,按照队列CU时进行计费。 以小时为单位进行结算。不足一小时按一小时计费,小时数按整点计算。队列CU时按需计费的计算费用=单价*CU数*小时数。 VPC VPC丰富的功能帮助您灵活管理云上网络,包括创建子网、设置安全组和网络ACL、管理路由表、申请弹性公网IP和带宽等。 VPC本身不收取费用。 但如有互联网访问需求,您需要购买弹性公网IP。弹性公网IP提供“包年/包月”和“按需计费”两种计费模式。 了解VPC计费说明。 DMS Kafka Kafka提供的消息队列服务,向用户提供计算、存储和带宽资源独占式的Kafka专享实例。 Kafka版支持按需和包周期两种付费模式。Kafka计费项包括Kafka实例和Kafka的磁盘存储空间。 了解Kafka计费说明。 RDS MySQL 数据库 RDS for MySQL提供在线云数据库服务。 RDS对您选择的数据库实例、数据库存储和备份存储(可选)收费。 了解RDS计费说明。 DLV DLV适配云上云下多种数据源,提供丰富多样的可视化组件,快速定制数据大屏。 使用DLV服务的费用主要是DLV包年包月套餐的费用,您可以根据实际使用情况,选择合适的版本规格。 了解DLI产品价格详情。
  • 流程指导 使用DLI Flink进行电商实时业务数据分析的操作过程主要包括以下步骤: 步骤1:创建资源。在您的账户下创建作业需要的相关资源,涉及VPC、DMS、DLI、RDS。 步骤2:获取DMS连接地址并创建Topic。获取DMS Kafka实例连接地址并创建DMS Topic。 步骤3:创建RDS数据库表。获取RDS实例内网地址,登录RDS实例创建RDS数据库及MySQL表。 步骤4:创建DLI增强型跨源。创建DLI增强型跨源,并测试队列与RDS、DMS实例连通性。 步骤5:创建并提交Flink作业。创建DLI Flink OpenSource SQL作业并运行。 步骤6:查询结果。查询Flink作业结果,使用DLV进行大屏展示。
  • 应用场景 当前线上购物无疑是最火热的购物方式,而电商平台则又可以以多种方式接入,例如通过web方式访问、通过app的方式访问、通过微信小程序的方式访问等等。而电商平台则需要每天统计各平台的实时访问数据量、订单数、访问人数等等指标,从而能在显示大屏上实时展示相关数据,方便及时了解数据变化,有针对性地调整营销策略。而如何高效快捷地统计这些指标呢? 假设平台已经将每个商品的订单信息实时写入Kafka中,这些信息包括订单ID、订单生成的渠道(即web方式、app方式等)、订单时间、订单金额、折扣后实际支付金额、支付时间、用户ID、用户姓名、订单地区ID等信息。而我们需要做的,就是根据当前可以获取到的业务数据,实时统计每种渠道的相关指标,输出存储到数据库中,并进行大屏展示。
  • 步骤四:车辆分析 执行ANALYZE。 用于收集与数据库中普通表内容相关的统计信息,统计结果存储在系统表PG_STATISTIC中。执行计划生成器会使用这些统计数据,以生成最有效的查询执行计划。 执行以下语句生成表统计信息: 1 ANALYZE; 查询数据表中的数据量。 执行如下语句,可以查看已加载的数据条数。 1 2 SET current_schema= traffic_data; SELECT count(*) FROM traffic_data.gcjl; 车辆精确查询。 执行以下语句,指定车牌号码和时间段查询车辆行驶路线。 GaussDB (DWS)在应对点查时秒级响应。 1 2 3 4 5 6 SET current_schema= traffic_data; SELECT hphm, kkbh, gcsj FROM traffic_data.gcjl where hphm = 'YD38641' and gcsj between '2016-01-06' and '2016-01-07' order by gcsj desc; 车辆模糊查询。 执行以下语句,指定车牌号码和时间段查询车辆行驶路线,GaussDB(DWS) 在应对模糊查询时秒级响应。 1 2 3 4 5 6 7 SET current_schema= traffic_data; SELECT hphm, kkbh, gcsj FROM traffic_data.gcjl where hphm like 'YA23F%' and kkbh in('508', '1125', '2120') and gcsj between '2016-01-01' and '2016-01-07' order by hphm,gcsj desc;
  • 支持区域 当前已上传OBS数据的区域如表1所示。 表1 区域和OBS桶名 区域 OBS桶名 华北-北京一 dws-demo-cn-north-1 华北-北京二 dws-demo-cn-north-2 华北-北京四 dws-demo-cn-north-4 华北-乌兰察布一 dws-demo-cn-north-9 华东-上海一 dws-demo-cn-east-3 华东-上海二 dws-demo-cn-east-2 华南-广州 dws-demo-cn-south-1 华南-广州友好 dws-demo-cn-south-4 中国-香港 dws-demo-ap-southeast-1 亚太-新加坡 dws-demo-ap-southeast-3 亚太-曼谷 dws-demo-ap-southeast-2 拉美-圣地亚哥 dws-demo-la-south-2 非洲-约翰内斯堡 dws-demo-af-south-1 拉美-墨西哥城一 dws-demo-na-mexico-1 拉美-墨西哥城二 dws-demo-la-north-2 莫斯科二 dws-demo-ru-northwest-2 拉美-圣保罗一 dws-demo-sa-brazil-1
  • 资源和成本规划 资源 资源配置 说明 云主机 CPU:2核 内存:2GB Matomo应用镜像运行的最低配置为2核2GB,您可根据您的业务需求选择Flexus应用服务器L实例规格。 镜像 Matomo 选择Matomo应用镜像。 安全组 入方向规则: 协议/应用:TCP 端口:80、443 源地址:0.0.0.0/0 80:允许使用HTTP协议访问网站。 443:允许使用HTTPS协议访问网站。 域名 wpwebsite.com 如果您仅为个人开发或测试使用,可以不添加域名。 如果您的应用对外开放,请为云服务器添加并解析域名。
  • 步骤1:创建 MRS 集群 创建并购买一个包含有Kafka组件的MRS集群,详情请参见购买自定义集群。 本文以购买的MRS 3.1.0版本的集群为例,组件包含Hadoop、Kafka组件,集群未开启Kerberos认证。 集群购买成功后,在MRS集群的任一节点内,安装集群客户端,具体操作可参考安装并使用集群客户端。 例如客户端安装在主管理节点中,安装目录为“/opt/client”。 客户端安装完成后,在客户端内创建“lib”目录,用于放置相关jar包。 将安装客户端过程中解压的目录中Kafka相关jar包复制到“lib”目录。 例如客户端软件包的下载路径为主管理节点的“/tmp/ FusionInsight -Client”目录,执行以下命令: mkdir /opt/client/lib cd /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_ClientConfig scp Kafka/install_files/kafka/libs/* /opt/client/lib
  • 操作场景 频繁的数据获取导致在存储目录中产生许多零碎的CarbonData文件。由于数据排序只在每次加载时进行,所以,索引也只在每次加载时执行。这意味着,对于每次加载都会产生一个索引,随着数据加载数量的增加,索引的数量也随之增加。由于每个索引只在一次加载时工作,索引的性能被降低。CarbonData提供加载压缩。压缩过程通过合并排序各segment中的数据,将多个segment合并为一个大的segment。
  • 操作描述 有Minor合并、Major合并和Custom合并三种类型。 Minor合并: 在Minor合并中,用户可指定合并数据加载的数量。如果设置了参数“carbon.enable.auto.load.merge”,每次数据加载都可触发Minor合并。如果任意segment均可合并,那么合并将于数据加载时并行进行。 Minor合并有两个级别。 Level 1:合并未合并的segment。 Level 2:合并已合并的segment,以形成更大的segment。 Major合并: 在Major合并中,许多segment可以合并为一个大的segment。用户将指定合并尺寸,将对未达到该尺寸的segment进行合并。Major合并通常在非高峰时段进行。 Custom合并: 在Custom合并中,用户可以指定几个segment的id合并为一个大的segment。所有指定的segment的id必须存在并且有效,否则合并将会失败。Custom合并通常在非高峰时段进行。 具体的命令操作,请参考ALTER TABLE COMPACTION。 表1 合并参数 参数 默认值 应用类型 描述 carbon.enable.auto.load.merge false Minor 数据加载时启用合并。 “true”:数据加载时自动触发segment合并。 “false”:数据加载时不触发segment合并。 carbon.compaction.level.threshold 4,3 Minor 对于Minor合并,该属性参数决定合并segment的数量。 例如,如果该参数设置为“2,3”,在Level 1,每2个segment触发一次Minor合并。在Level2,每3个Level 1合并的segment将被再次合并为新的segment。 合并策略根据实际的数据大小和可用资源决定。 有效值为0-100。 carbon.major.compaction.size 1024mb Major 通过配置该参数可配置Major合并。低于该阈值的segment之和将被合并。 例如,如果该阈值是1024MB,且有5个大小依次为300MB,400MB,500MB,200MB,100MB的segment用于Major合并,那么只有相加的总数小于阈值的segment会被合并,也就是300+400+200+100 = 1000MB的segment会被合并,而500MB的segment将会被跳过。 carbon.numberof.preserve.segments 0 Minor/Major 如果用户希望从被合并的segment中保留一定数量的segment,可通过该属性参数进行设置。 例如,“carbon.numberof.preserve.segments”=“2”,那么最新的2个segment将不会包含在合并中。 默认不保留任何segment。 carbon.allowed.compaction.days 0 Minor/Major 合并将合并在指定的配置天数中加载的segment。 例如,如果配置为“2”,那么只有在2天的时间框架中被加载的segment可以被合并。在2天以外被加载的segment将不被合并。 默认为禁用。 carbon.number.of.cores.while.compacting 2 Minor/Major 在合并过程中写入数据时所用的核数。配置的核数越大合并性能越好。如果CPU资源充足可以增加此值。 carbon.merge.index.in.segment true SEGMENT_INDEX 如果设置为true,则一个segment中所有Carbon索引文件(.carbonindex)将合并为单个Carbon索引合并文件(.carbonindexmerge)。 这增强了首次查询性能。
  • 示例 导出到HDFS 将简单查询结果导出到文件“hdfs://path/to/result.txt”中,并指定导出格式为 CS V。 集群已启用Kerberos认证(安全模式) SELECT * FROM example_db.test_export_tbl INTO OUTFILE "hdfs://192.168.67.78:25000/tmp/result_" FORMAT AS CSV PROPERTIES ( "broker.name" = "broker_192_168_67_78", "column_separator" = ",", "line_delimiter" = "\n", "max_file_size" = "100MB", "broker.hadoop.security.authentication" = "kerberos", "broker.kerberos_principal" = "doris/hadoop.hadoop.com@HADOOP.COM", "broker.kerberos_keytab" = "${BIGDATA_HOME}/FusionInsight_Doris_8.3.0/install/FusionInsight-Doris-1.2.3/doris-fe/bin/doris.keytab" ); 集群未启用Kerberos认证(普通模式) SELECT * FROM example_db.test_export_tbl INTO OUTFILE "hdfs://192.168.67.78:25000/tmp/result_" FORMAT AS CSV PROPERTIES ( "broker.name" = "broker_192_168_67_78", "column_separator" = ",", "line_delimiter" = "\n", "max_file_size" = "100MB", "broker.username"="hdfs", "broker.password"="" ); 导出到本地文件 导出到本地文件时需要先在“fe.conf”中配置enable_outfile_to_local=true。 select * from tbl1 limit 10 INTO OUTFILE "file:///home/work/path/result_";
  • 操作步骤 运行如下命令删除表。 命令: DROP TABLE [IF EXISTS] [db_name.]table_name; 一旦执行该命令,将会从系统中删除表。命令中的“db_name”为可选参数。如果没有指定“db_name”,那么将会删除当前数据库下名为“table_name”的表。 示例: DROP TABLE productdb.productSalesTable; 通过上述命令,删除数据库“productdb”下的表“productSalesTable”。
  • 前提条件 已创建包含Doris服务的集群,集群内各服务运行正常。 待连接Doris数据库的节点与MRS集群网络互通。 创建具有Doris管理权限的用户。 集群已启用Kerberos认证(安全模式) 在FusionInsight Manager中创建一个人机用户,例如“dorisuser”,创建一个拥有“Doris管理员权限”的角色绑定给该用户。 使用新建的用户dorisuser重新登录FusionInsight Manager,修改该用户初始密码。 集群未启用Kerberos认证(普通模式) 使用admin用户连接Doris后,创建具有管理员权限的角色并绑定给用户。 已安装MySQL客户端,相关操作可参考使用MySQL客户端连接Doris。