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

建设网站需要支付什么插件费用吗京东的网站建设

建设网站需要支付什么插件费用吗,京东的网站建设,防水网站建设,网站建设最关键的两个素材本文以流式数据入库的场景为基础#xff0c;介绍引入 Iceberg 作为落地格式和嵌入 Flink sink 的收益#xff0c;并分析了当前可实现的框架及要点。 应用场景 流式数据入库#xff0c;是大数据和数据湖的典型应用场景。上游的流式数据#xff0c;如日志#xff0c;或增量…本文以流式数据入库的场景为基础介绍引入 Iceberg 作为落地格式和嵌入 Flink sink 的收益并分析了当前可实现的框架及要点。 应用场景 流式数据入库是大数据和数据湖的典型应用场景。上游的流式数据如日志或增量修改通过数据总线经过必要的处理后汇聚并存储于数据湖供下游的应用如报表或者商业智能分析使用。 上述的应用场景通常有如下的痛点需要整个流程不断的优化 支持流式数据写入并保证端到端的不重不丢即 exactly-once尽量减少中间环节能支持更实时甚至是 T0的读取或导出给下游提供更实时更准确的基础数据支持 ACID避免脏读等错误发生支持修改已落地的数据虽然大数据和数据湖长于处理静态的或者缓慢变化的数据即读多写少的场景但方便的修改功能可以提升用户体验避免用户因为极少的修改手动更换整个数据文件甚至是重新导出支持修改表结构如增加或者变更列而且变更不要引起数据的重新组织。 引入 Iceberg 作为 Flink sink 为了解决上述痛点我们引入了 Iceberg 作为数据落地的格式。Iceberg 支持 ACID 事务、修改和删除、独立于计算引擎、支持表结构和分区方式动态变更等特性很好的满足我们的需求。 同时为了支持流式数据的写入我们引入 Flink 作为流式处理框架并将 Iceberg 作为 Flink sink。 下文主要介绍 Flink Iceberg sink 的实现框架和要点。但在这之前需要先介绍一些实现中用到的 Flink 基本概念。 Flink 基本概念 从 Flink 的角度如何理解流和批 Flink 使用 DataFrame API 来统一的处理流和批数据。 Stream, Transformation 和 Operator 一个 Flink 程序由 stream 和 transformation 组成 Stream: Transformation 之间的中间结果数据Transformation对一个或多个输入 stream 进行操作输出一个或多个结果 stream。 当 Flink 程序执行时其被映射成 Streaming Dataflow由如下的部分组成 Source (operator)接收外部输入给 FlinkTransformation (operator)中间对 stream 做的任何操作Sink (operator)Flink 输出给外部。 下图为 Flink 官网的示例展示了一个以 Kafka 作为输入 Source经过中间两个 transformation最终通过 sink 输出到 Flink 之外的过程。 State, Checkpoint and Snapshot Flink 依靠 checkpoint 和基于 snapshot 的恢复机制保证程序 state 的一致性实现容错。 Checkpoint 是对分布式的数据流以及所有 operator 的 state打 snapshot 的过程。 ■ State 一个 operator 的 state即它包含的所有用于恢复当前状态的信息可分为两类 系统 state如 operator 中对数据的缓存。用户自定义 state和用户逻辑相关可以利用 Flink 提供的 managed state如 ValueState、ListState来存储。 State 的存储位置可以分为 Local内存或者本地磁盘State backend远端的持久化存储如 HDFS。 如下图所示 ■ Checkpoint Flink 做 checkpoint 的过程如下 Checkpoint coordinator 首先发送 barrier 给 source。Source 做 snapshot完成后向 coordinator 确认。Source 向下游发送 barrier。下游 operator 收到所有上游的 barrier 后做 snapshot完成后向 coordinator 确认。继续往下游发送 barrier直到 sink。Sink 通知 coordinator 自己完成 checkpoint。Coordinator 确认本周期 snapshot 做完。 如下图所示 ■ Barrier Barrier 是 Flink 做分布式 snapshot 的重要概念。它作为一个系统标记被插入到数据流中随真实数据一起按照数据流的方向从上游向下游传递。 由于每个 barrier 唯一对应 checkpoint id所以数据流中的 record 实际被 barrier 分组如下图所示barrier n 和 barrier n-1 之间的 record属于 checkpoint n。 Barrier 的作用是在分布式的数据流中将 operator 的多个输入流按照 checkpoint对齐align如下图所示 Flink Iceberg sink 了解了上述 Flink 的基本概念这些概念又是如何被应用和映射到 Flink Iceberg sink 当中的呢 总体框架 如图Flink Iceberg sink 有两个主要模块和两个辅助模块组成 实现要点 ■ Writer 在当前的实现中Java 的 Map 作为每条记录输入给 writer。内部逻辑先将其转化为作为中间格式的 Avro IndexedRecord而后通过 Iceberg 里的 Parquet 相关 API累积的写入 DataFile。使用 Avro 作为中间格式是一个临时方案为简化适配并最大限度的利用现有逻辑。但长期来看使用中间格式会影响处理效率社区也在试图通过 ISSUE-870 来去掉 Avro进而使用 Iceberg 内建的数据类型作为输入同时也需要加入一个到 Flink 内建数据类型的转换器。在做 checkpoint 的过程中发送 writer 自己的 barrier 到下游的 committer 之前关闭单个 Parquet 文件构建 DataFile并发送 DataFile 的信息给下游。 ■ Committer 全局唯一的 Committer 在收到上游所有 writer 的 barrier 以后将收到的 DataFile 的信息填入 manifest file并使用 ListState 把 manifest file 作为用户自定义的 state保存于 snapshot 中。当 checkpoint 完成以后通过 merge append 将 manifest file 提交给 Iceberg。Iceberg 内部通过后续的一系列操作完成 commit。最终让新加入的数据对其他的读任务可见。 试用 Flink Iceberg sink 社区上 https://github.com/apache/incubator-iceberg/pull/856 提供了可以试用的原型代码。下载该 patch 放入 master 分支编译并构建即可。如下的程序展示了如何将该 sink 嵌入到 Flink 数据流中 // Configurate catalog org.apache.hadoop.conf.Configuration hadoopConf new org.apache.hadoop.conf.Configuration(); hadoopConf.set(org.apache.hadoop.hive.conf.HiveConf.ConfVars.METASTOREURIS.varname,META_STORE_URIS); hadoopConf.set(org.apache.hadoop.hive.conf.HiveConf.ConfVars.METASTOREWAREHOUSE.varname,META_STORE_WAREHOUSE);Catalog icebergCatalog new HiveCatalog(hadoopConf);// Create Iceberg table Schema schema new Schema(... ); PartitionSpec partitionSpec builderFor(schema)... TableIdentifier tableIdentifier TableIdentifier.of(DATABASE_NAME, TABLE_NAME); // If needed, check the existence of table by loadTable() and drop it // before creating it icebergCatalog.createTable(tableIdentifier, schema, partitionSpec);// Obtain an execution environment StreamExecutionEnvironment env StreamExecutionEnvironment.getExecutionEnvironment();// Enable checkpointing env.enableCheckpointing(...);// Add Source DataStreamMapString, Object dataStream env.addSource(source, typeInformation);// Configure Ieberg sink Configuration conf new Configuration(); conf.setString(org.apache.hadoop.hive.conf.HiveConf.ConfVars.METASTOREWAREHOUSE.varname,META_STORE_URIS); conf.setString(IcebergConnectorConstant.DATABASE, DATABASE_NAME); conf.setString(IcebergConnectorConstant.TABLE, TABLE_NAME);// Append Iceberg sink to data stream IcebergSinkAppenderMapString, Object appender new IcebergSinkAppenderMapString, Object(conf, test).withSerializer(MapAvroSerializer.getInstance()).withWriterParallelism(1); appender.append(dataStream);// Trigger the execution env.execute(Sink Test); 后续规划 Flink Iceberg sink 有很多需要完善的地方例如上文中提到的去掉 Avro 作为中间格式以及在各种失败的情况下是否仍能保证端到端的 exactly-once按固定时长做 checkpoint在高低峰时生成不同大小的 DataFile是否对后续读不友好等。这些问题都在我们的后续规划中也会全数贡献给社区。 参考资料 [1] Iceberg 官网https://iceberg.apache.org/ [2] Flink 1.10文 档https://ci.apache.org/projects/flink/flink-docs-release-1.10/ [3] Neflix 提供的 Flink Iceberg connector 原型https://github.com/Netflix-Skunkworks/nfflink-connector-iceberg [4] Flink Iceberg sink 设计文档https://docs.google.com/document/d/19M-sP6FlTVm7BV7MM4Om1n_MVo1xCy7GyDl_9ZAjVNQ/edit?uspsharing [5] Flink 容错机制(checkpoint) https://www.cnblogs.com/starzy/p/11439988.html # 社区活动推荐 # 普惠全球开发者这一次格外与众不同首个 Apache 顶级项目在线会议 Flink Forward 全球直播中文精华版来啦聚焦 Alibaba、Google、AWS、Uber、Netflix、新浪微博等海内外一线厂商经典 Flink 应用场景最新功能、未来规划一览无余。点击下方链接可了解更多大会详情https://developer.aliyun.com/live/2594?spma2c6h.14242504.J_6074706160.2.3fca361f4cYyQx 原文链接 本文为云栖社区原创内容未经允许不得转载。
http://wiki.neutronadmin.com/news/356222/

相关文章:

  • 怎样查看网站服务商新闻类网站怎么做百度推广
  • 网站的开发包括哪两项wordpress站点打不开
  • 网站维护的具体问题建设网站的网站叫什么男
  • 佛山便宜网站建设网站建设外包服务
  • 购物网站开发介绍重庆市建设网站
  • 美术类网站建设费用最大的中文搜索引擎
  • wordpress怎么做小说站兰州做网站公司有哪些
  • 小程序怎么做优惠券网站wordpress下载5.0.3
  • 网盘建网站深圳nft网站开发公司
  • 推广自己的网站需要怎么做企业网站搜索引擎推广方法包括
  • 营销型网站建设iop个人定制网站
  • 广东网站建设联系江门网页建站模板
  • php企业网站源码 漂亮延庆区加工网站建设推广
  • 专业型网站和个人网站wordpress个性化后台
  • 赣州市做网站设计营销案例网站推荐
  • 太湖网站建设推荐秒搜科技品牌建设实施细则
  • 网站开发有哪些职位小程序定制开发流程
  • 湖南网站设计外包费用长沙网站搜索引擎优化
  • 扁平化风格网站模板上海最新新闻发布会
  • 博达网站建设流程科技型中小企业服务网
  • 咋么做网站在电脑上上海丝芭文化传媒有限公司
  • 服装网站设计公司如何建设数据库搜索网站
  • 网站建设 微信营销建设项目从哪个网站可以查
  • h5网站开发 源码珠海网站运营
  • 想建个企业网站页面设计好了怎么做
  • 贵阳网站建站建设定制免费建网站平台
  • 阿坝州网站制作南昌微网站建设
  • 上海营销型网站建设哪家好网站建设开发费用
  • 娄底建设网站制作环保部网站建设项目重大变动
  • 做擦边球网站网站估价