云服务器内容精选

  • 数据说明 数据源表:电商业务订单详情宽表 字段名 字段类型 说明 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产品价格详情。
  • 应用场景 当前线上购物无疑是最火热的购物方式,而电商平台则又可以以多种方式接入,例如通过web方式访问、通过app的方式访问、通过微信小程序的方式访问等等。而电商平台则需要每天统计各平台的实时访问数据量、订单数、访问人数等等指标,从而能在显示大屏上实时展示相关数据,方便及时了解数据变化,有针对性地调整营销策略。而如何高效快捷地统计这些指标呢? 假设平台已经将每个商品的订单信息实时写入Kafka中,这些信息包括订单ID、订单生成的渠道(即web方式、app方式等)、订单时间、订单金额、折扣后实际支付金额、支付时间、用户ID、用户姓名、订单地区ID等信息。而我们需要做的,就是根据当前可以获取到的业务数据,实时统计每种渠道的相关指标,输出存储到数据库中,并进行大屏展示。
  • 流程指导 使用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进行大屏展示。
  • 注意事项 不支持Redis集群。 请务必确保您的账户下已在分布式缓存服务(D CS )里创建了Redis类型的缓存实例。 如何创建Redis类型的缓存实例请参考《分布式缓存服务用户指南》。 该场景作业需要运行在DLI的独享队列上,因此要与DCS实例建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。 如何建立增强型跨源连接,请参考《 数据湖探索 用户指南》中增强型跨源连接章节。 如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。
  • 示例 Redis表用于与输入流连接。 CREATE TABLE table_a (attr1 string, attr2 string, attr3 string) WITH ( type = "dcs_redis", value_type = "hash", key_column = "attr1", hash_key_column = "attr2", cluster_address = "192.168.1.238:6379", password = "xxxxxxxx" );
  • 关键字 表1 关键字说明 参数 是否必选 说明 type 是 输出通道类型,dcs_redis表示输出到分布式缓存服务的Redis存储系统中。 cluster_address 是 Redis实例连接地址。 password 否 Redis实例连接密码,当设置为免密访问时,省略该配置项。 value_type 是 指定数据类型。支持的数据类型包括:string, list, hash, set, zset。 key_column 是 指定代表Redis key属性的列名。 hash_key_column 否 当value_type设置为hash时,需要指定本字段作为第二级key属性的列名。 cache_max_num 否 表示最大缓存的查询结果数,默认值为32768。 cache_time 否 表示数据库查询结果在内存中缓存的最大时间。单位为毫秒,默认值为10000,当值为0时表示不缓存。
  • 语法格式 1 2 3 4 5 6 CREATE TABLE table_id (key_attr_name STRING(, hash_key_attr_name STRING)?, value_attr_name STRING) WITH ( type = "dcs_redis", cluster_address = ""(,password = "")?, value_type= "", key_column= ""(,hash_key_column="")?);
  • 关键字 表1 关键字说明 参数 是否必选 说明 type 是 输出通道类型,“opentsdb”表示输出到 表格存储服务 CloudTable(OpenTSDB)。 region 是 表格存储 服务所在区域。 cluster_id 否 待插入数据所属集群的id,该参数与tsdb_link_address必须指定其中一个。 tsdb_metrics 是 数据点的metric,支持参数化。 tsdb_timestamps 是 数据点的timestamp,数据类型支持LONG、INT、SHORT和STRING,仅支持指定动态列。 tsdb_values 是 数据点的value,数据类型支持SHORT、INT、LONG、FLOAT、DOUBLE和STRING,支持指定动态列或者常数值。 tsdb_tags 是 数据点的tags,每个tags里面至少一个标签值,最多8个标签值,支持参数化。 batch_insert_data_num 否 表示一次性批量写入的数据量(即数据条数),值必须为正整数,上限为65536,默认值为8。 tsdb_link_address 否 待插入数据所属集群的OpenTsdb链接地址,使用该参数时,作业需要运行在独享DLI队列,且DLI队列需要与CloudTable集群建立增强型跨源,该参数与cluster_id必须指定其中一个。 说明: 如何建立增强型跨源连接,请参考《 数据湖 探索用户指南》中增强型跨源连接章节。
  • 示例 将流weather_out的数据输出到表格存储服务CloudTable的OpenTSDB中。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 CREATE SINK STREAM weather_out ( timestamp_value LONG, /* 时间 */ temperature FLOAT, /* 温度值 */ humidity FLOAT, /* 湿度值 */ location STRING /* 地点 */ ) WITH ( type = "opentsdb", region = "xxx", cluster_id = "e05649d6-00e2-44b4-b0ff-7194adaeab3f", tsdb_metrics = "weather", tsdb_timestamps = "${timestamp_value}", tsdb_values = "${temperature}; ${humidity}", tsdb_tags = "location:${location},signify:temperature; location:${location},signify:humidity", batch_insert_data_num = "10" );
  • 功能描述 DLI将Flink作业的输出数据输出到CloudTable的OpenTSDB中。OpenTSDB是基于HBase的分布式的,可伸缩的时间序列数据库。它存储的是时间序列数据,时间序列数据是指在不同时间点上收集到的数据,这类数据反映了一个对象随时间的变化状态或程度。支持秒级别数据的采集监控,进行永久存储,索引和查询,可用于系统监控和测量、物联网数据、金融数据和科学实验结果数据的收集监控。 表格存储服务(CloudTable),是基于Apache HBase提供的分布式、可伸缩、全托管的KeyValue数据存储服务,为DLI提供了高性能的随机读写能力,适用于海量结构化数据、半结构化数据以及时序数据的存储和查询应用,适用于物联网IOT应用和通用海量KeyValue数据存储与查询等场景。CloudTable的更多信息,请参见《表格存储服务用户指南》。
  • 语法格式 1 2 3 4 5 6 7 8 9 10 11 CREATE SINK STREAM stream_id (attr_name attr_type (',' attr_name attr_type)* ) WITH ( type = "opentsdb", region = "", cluster_id = "", tsdb_metrics = "", tsdb_timestamps = "", tsdb_values = "", tsdb_tags = "", batch_insert_data_num = "" )
  • 示例 将流audi_cheaper_than_30w的数据输出到数据库test的audi_cheaper_than_30w表下。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CREATE SINK STREAM audi_cheaper_than_30w ( car_id STRING, car_owner STRING, car_brand STRING, car_price INT ) WITH ( type = "rds", username = "root", password = "xxxxxx", db_url = "postgresql://192.168.1.1:8000/test", table_name = "audi_cheaper_than_30w" ); insert into audi_cheaper_than_30w select "1","2","3",4;