当前位置: 首页 > news >正文

龙港哪里有做百度网站的云搜索神器

龙港哪里有做百度网站的,云搜索神器,免费logo制作软件,android开发appFlink系列之#xff1a;Upsert Kafka SQL 连接器 一、Upsert Kafka SQL 连接器二、依赖三、完整示例四、可用元数据五、键和值格式六、主键约束七、一致性保证八、为每个分区生成相应的watermark九、数据类型映射 一、Upsert Kafka SQL 连接器 Scan Source: Unbounded 、Sink… Flink系列之Upsert Kafka SQL 连接器 一、Upsert Kafka SQL 连接器二、依赖三、完整示例四、可用元数据五、键和值格式六、主键约束七、一致性保证八、为每个分区生成相应的watermark九、数据类型映射 一、Upsert Kafka SQL 连接器 Scan Source: Unbounded 、Sink: Streaming Upsert Mode Upsert Kafka 连接器支持以 upsert 方式从 Kafka topic 中读取数据并将数据写入 Kafka topic。 作为 sourceupsert-kafka 连接器生产 changelog 流其中每条数据记录代表一个更新或删除事件。更准确地说数据记录中的 value 被解释为同一 key 的最后一个 value 的 UPDATE如果有这个 key如果不存在相应的 key则该更新被视为 INSERT。用表来类比changelog 流中的数据记录被解释为 UPSERT也称为 INSERT/UPDATE因为任何具有相同 key 的现有行都被覆盖。另外value 为空的消息将会被视作为 DELETE 消息。 作为 sinkupsert-kafka 连接器可以消费 changelog 流。它会将 INSERT/UPDATE_AFTER 数据作为正常的 Kafka 消息写入并将 DELETE 数据以 value 为空的 Kafka 消息写入表示对应 key 的消息被删除。Flink 将根据主键列的值对数据进行分区从而保证主键上的消息有序因此同一主键上的更新/删除消息将落在同一分区中。 二、依赖 dependencygroupIdorg.apache.flink/groupIdartifactIdflink-connector-kafka/artifactIdversion3.0.2-1.18/version/dependency 三、完整示例 下面的示例展示了如何创建和使用 Upsert Kafka 表 CREATE TABLE pageviews_per_region (user_region STRING,pv BIGINT,uv BIGINT,PRIMARY KEY (user_region) NOT ENFORCED ) WITH (connector upsert-kafka,topic pageviews_per_region,properties.bootstrap.servers ...,key.format avro,value.format avro );CREATE TABLE pageviews (user_id BIGINT,page_id BIGINT,viewtime TIMESTAMP,user_region STRING,WATERMARK FOR viewtime AS viewtime - INTERVAL 2 SECOND ) WITH (connector kafka,topic pageviews,properties.bootstrap.servers ...,format json );-- 计算 pv、uv 并插入到 upsert-kafka sink INSERT INTO pageviews_per_region SELECTuser_region,COUNT(*),COUNT(DISTINCT user_id) FROM pageviews GROUP BY user_region;确保在 DDL 中定义主键。 这段代码是用来创建两个表一个是pageviews_per_region另一个是pageviews并定义了它们的结构和连接器。 pageviews_per_region表包含了三个字段user_region用户所在地区字符串类型、pv页面访问量长整型和uv独立访客量长整型。该表的主键为user_region但不强制执行。 pageviews表包含了四个字段user_id用户ID长整型、page_id页面ID长整型、viewtime访问时间时间戳类型和user_region用户所在地区字符串类型。该表还定义了一个称为viewtime的水位线watermark它指定了在两秒之前的数据不再考虑为计算pv和uv。 这两个表都使用了Kafka连接器来读写数据。connector’属性指定了使用的连接器类型topic’属性指定了连接器读写的Kafka主题properties.bootstrap.servers’属性指定了Kafka集群的地址。 对于pageviews_per_region表key.format’和’value.format’属性指定了数据的序列化格式为Avro。 对于pageviews表format’属性指定了数据的序列化格式为JSON。 最后使用INSERT INTO语句在pageviews_per_region表中计算出每个地区的pv和uv并将结果插入到upsert-kafka sink中。 总之这段代码的作用是通过Kafka连接器创建两个表并将pageviews表中的数据计算出每个地区的pv和uv并插入到pageviews_per_region表中。 四、可用元数据 连接器参数 参数是否必选默认值数据类型描述connector必选(none)String指定要使用的连接器Upsert Kafka 连接器使用‘upsert-kafka’。topic必选(none)String用于读取和写入的 Kafka topic 名称。properties.bootstrap.servers必选(none)String以逗号分隔的 Kafka brokers 列表。properties.*可选(none)String该选项可以传递任意的 Kafka 参数。选项的后缀名必须匹配定义在 Kafka 参数文档中的参数名。 Flink 会自动移除 选项名中的 “properties.” 前缀并将转换后的键名以及值传入 KafkaClient。 例如你可以通过 ‘properties.allow.auto.create.topics’ ‘false’ 来禁止自动创建 topic。 但是某些选项例如’key.deserializer’ 和 ‘value.deserializer’ 是不允许通过该方式传递参数因为 Flink 会重写这些参数的值。key.format必选(none)String用于对 Kafka 消息中 key 部分序列化和反序列化的格式。key 字段由 PRIMARY KEY 语法指定。支持的格式包括 ‘csv’、‘json’、‘avro’key.fields-prefix可选(none)String为键格式的所有字段定义自定义前缀以避免与值格式的字段发生名称冲突。默认情况下前缀为空。如果定义了自定义前缀则表架构和“key.fields”都将使用前缀名称。构造密钥格式的数据类型时将删除前缀并在密钥格式中使用无前缀的名称。请注意此选项要求“value.fields-include”必须设置为“EXCEPT_KEY”。value.format必选(none)String用于对 Kafka 消息中 value 部分序列化和反序列化的格式。支持的格式包括 ‘csv’、‘json’、‘avro’。value.fields-include必选‘ALL’String控制哪些字段应该出现在 value 中。可取值ALL消息的 value 部分将包含 schema 中所有的字段包括定义为主键的字段。EXCEPT_KEY记录的 value 部分包含 schema 的所有字段定义为主键的字段除外。sink.parallelism可选(none)Integer定义 upsert-kafka sink 算子的并行度。默认情况下由框架确定并行度与上游链接算子的并行度保持一致。sink.buffer-flush.max-rows可选0Integer缓存刷新前最多能缓存多少条记录。当 sink 收到很多同 key 上的更新时缓存将保留同 key 的最后一条记录因此 sink 缓存能帮助减少发往 Kafka topic 的数据量以及避免发送潜在的 tombstone 消息。 可以通过设置为 ‘0’ 来禁用它。默认该选项是未开启的。注意如果要开启 sink 缓存需要同时设置 ‘sink.buffer-flush.max-rows’ 和 ‘sink.buffer-flush.interval’ 两个选项为大于零的值。sink.buffer-flush.interval可选0Duration缓存刷新的间隔时间超过该时间后异步线程将刷新缓存数据。当 sink 收到很多同 key 上的更新时缓存将保留同 key 的最后一条记录因此 sink 缓存能帮助减少发往 Kafka topic 的数据量以及避免发送潜在的 tombstone 消息。 可以通过设置为 ‘0’ 来禁用它。默认该选项是未开启的。注意如果要开启 sink 缓存需要同时设置 ‘sink.buffer-flush.max-rows’ 和 ‘sink.buffer-flush.interval’ 两个选项为大于零的值。 五、键和值格式 此连接器需要键和值格式其中键字段源自 PRIMARY KEY 约束。 以下示例显示如何指定和配置键和值格式。格式选项以“键”或“值”加上格式标识符作为前缀。 CREATE TABLE KafkaTable (ts TIMESTAMP(3) METADATA FROM timestamp,user_id BIGINT,item_id BIGINT,behavior STRING,PRIMARY KEY (user_id) NOT ENFORCED ) WITH (connector upsert-kafka,...key.format json,key.json.ignore-parse-errors true,value.format json,value.json.fail-on-missing-field false,value.fields-include EXCEPT_KEY )六、主键约束 Upsert Kafka 始终以 upsert 方式工作并且需要在 DDL 中定义主键。在具有相同主键值的消息按序存储在同一个分区的前提下在 changelog source 定义主键意味着 在物化后的 changelog 上主键具有唯一性。定义的主键将决定哪些字段出现在 Kafka 消息的 key 中。 七、一致性保证 默认情况下如果启用 checkpointUpsert Kafka sink 会保证至少一次将数据插入 Kafka topic。 这意味着Flink 可以将具有相同 key 的重复记录写入 Kafka topic。但由于该连接器以 upsert 的模式工作该连接器作为 source 读入时可以确保具有相同主键值下仅最后一条消息会生效。因此upsert-kafka 连接器可以像 HBase sink 一样实现幂等写入。 八、为每个分区生成相应的watermark Flink 支持根据 Upsert Kafka 的 每个分区的数据特性发送相应的 watermark。当使用这个特性的时候watermark 是在 Kafka consumer 内部生成的。 合并每个分区 生成的 watermark 的方式和 stream shuffle 的方式是一致的。 数据源产生的 watermark 是取决于该 consumer 负责的所有分区中当前最小的 watermark。如果该 consumer 负责的部分分区是 idle 的那么整体的 watermark 并不会前进。在这种情况下可以通过设置合适的 table.exec.source.idle-timeout 来缓解这个问题。 九、数据类型映射 Upsert Kafka 用字节存储消息的 key 和 value因此没有 schema 或数据类型。消息按格式进行序列化和反序列化例如csv、json、avro。因此数据类型映射表由指定的格式确定。
http://www.sczhlp.com/news/208980/

相关文章:

  • 长兴网站建设wordpress 连载
  • 加盟网官方网站宝安做网站怎么样
  • 网站设计依赖于什么设计互联网广告营销公司
  • 做网站的必要性wordpress添加留言板
  • 如何拥有一个自己的网站网页制作与网站设计思路
  • 徐州网站制作费用vivo手机为什么建设网站
  • 天津网站建设培训班除了wordpress
  • 新能源电动汽车电池价格什么是淘宝seo
  • 外贸通网站建设运动网站设计
  • 个人网站做什么内容好百达翡丽手表网站
  • 怎么样做钓鱼网站网站续费续的是什么钱
  • 设计师新手接单网站wordpress 媒体库管理
  • 一流高职院校建设计划项目网站网站模板制作教程视频教程
  • 网站后台logo创立一个公司需要什么
  • 网站建设公司怎么做有哪些企业网站
  • 外贸网站建设与优化一个人做网站原型
  • wap站是什么意思啊wordpress 小说
  • 做教案找资料有哪些网站淘宝运营课程
  • 怎样做自己的网站加入百度联盟丰城网站建设
  • 专门做广东11选5的网站重庆网站建设找珊瑚云
  • 苏州优化网站电子商务网站前台设计
  • 河南 医院 网站建设上海缪斯设计好不好
  • 图标网站导航制作怎么做欧美风企业网站 英文模板
  • 网站写文案网站免费响应建设
  • 湛江市建网站熊掌号如何做网站
  • 深圳三玉网站建设站群管理
  • 如何查询到某网站开发商网站建设公司价
  • 网站建设技术app下载ps做网站标签
  • 南京百度推广网站建筑设计公司哪家好
  • 网站检索功能怎么做怎么建立网站数据库连接