itxiaowang_个人页

个人头像照片 itxiaowang
个人头像照片
0
74
0

个人介绍

Android系统与应用研发7年,专注于系统性能问题处理、开发流程工具研发、SDK组件研发工作。 服务端研发2年,前后使用Golang, RoR搭建后端服务程序。

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

阿里云技能认证

详细说明
暂无更多信息
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2021-03-03

    Flink 中什么是 operator state

    Flink 有两种常见的 State类型: Keyed State (键控状态)Operator State(算子状态) Keyed State(键控状态) Keyed State:顾名思义就是基于 KeyedStream 上的状态,这个状态是跟特定的Key绑定的。KeyedStrean 流上的每一个Key,都对应一个 State。Flink针对Keyed State提供了以下可以保存 State 的数据结构: ValueState :保存一个可以更新和检索的值(如上所述,每个值都对应到当前的输入数据的 Key,因此算子接收到的每个Key都可能对应一个值)。这个值可以通过 update(T)进行更新,通过 T value() 进行检索。 ListState :保存一个元素的列表。可以往这个列表中追加数据,并在当前的列表上进行检索。可以通过 add(T) 或者 addAll(List ) 进行添加元素,通过 Iterable get() 获取整个列表。还可以通过 update(List ) 覆盖当前的列表。 ReducingState :保存一个单值,表示添加到状态的所有聚合。接口与ListState 类似,使用 add(T)增加元素,会使用提供的 ReduceFunction 进行聚合 AggregatingState:保留一个单值,表示添加到状态的所以值得聚合。和ReducingState 相反得是,聚合类型可能与添加到状态得元素得类型不同。接口与 ListState 类似,但使用 add(IN) 添加的元素会用指定的 AggregateFunction 进行聚合。 FoldingState:保留一个单值,表示添加到状态的所有值的聚合。与 ReducingState 相反,聚合类型可能与添加到状态的元素类型不同。接口与ListState类型,但使用 add(T) 添加的元素会用指定的FoldFunction 折叠成聚合值。 MapState:维护了一个添加映射列表。你可以添加键值对到状态中,也可以获得反映当前所有映射的迭代器。使用 put(UK,UV) 或者 putAll(Map) 分别检索映射、键和值的可迭代视图。 Operator State(算子状态) Operator State 与 Key 无关,而是与 Operator 绑定,整个 Operator 只对应一个 State。比如:Flink 中的 Kafka Connector 就使用了 Operator State,它会在每个 Connector 实例中,保存该实例消费 Topic 的所有(partition,offset)映射。
    踩0 评论0
  • 回答了问题 2021-03-03

    Flink 中什么是 keyed state

    Flink 有两种常见的 State类型: Keyed State (键控状态)Operator State(算子状态) Keyed State(键控状态) Keyed State:顾名思义就是基于 KeyedStream 上的状态,这个状态是跟特定的Key绑定的。KeyedStrean 流上的每一个Key,都对应一个 State。Flink针对Keyed State提供了以下可以保存 State 的数据结构: ValueState :保存一个可以更新和检索的值(如上所述,每个值都对应到当前的输入数据的 Key,因此算子接收到的每个Key都可能对应一个值)。这个值可以通过 update(T)进行更新,通过 T value() 进行检索。 ListState :保存一个元素的列表。可以往这个列表中追加数据,并在当前的列表上进行检索。可以通过 add(T) 或者 addAll(List ) 进行添加元素,通过 Iterable get() 获取整个列表。还可以通过 update(List ) 覆盖当前的列表。 ReducingState :保存一个单值,表示添加到状态的所有聚合。接口与ListState 类似,使用 add(T)增加元素,会使用提供的 ReduceFunction 进行聚合 AggregatingState:保留一个单值,表示添加到状态的所以值得聚合。和ReducingState 相反得是,聚合类型可能与添加到状态得元素得类型不同。接口与 ListState 类似,但使用 add(IN) 添加的元素会用指定的 AggregateFunction 进行聚合。 FoldingState:保留一个单值,表示添加到状态的所有值的聚合。与 ReducingState 相反,聚合类型可能与添加到状态的元素类型不同。接口与ListState类型,但使用 add(T) 添加的元素会用指定的FoldFunction 折叠成聚合值。 MapState:维护了一个添加映射列表。你可以添加键值对到状态中,也可以获得反映当前所有映射的迭代器。使用 put(UK,UV) 或者 putAll(Map) 分别检索映射、键和值的可迭代视图。 Operator State(算子状态) Operator State 与 Key 无关,而是与 Operator 绑定,整个 Operator 只对应一个 State。比如:Flink 中的 Kafka Connector 就使用了 Operator State,它会在每个 Connector 实例中,保存该实例消费 Topic 的所有(partition,offset)映射。
    踩0 评论0
  • 回答了问题 2021-03-03

    Flink State 根据数据结果分为几种

    Flink 有两种常见的 State类型: Keyed State (键控状态)Operator State(算子状态) Keyed State(键控状态) Keyed State:顾名思义就是基于 KeyedStream 上的状态,这个状态是跟特定的Key绑定的。KeyedStrean 流上的每一个Key,都对应一个 State。Flink针对Keyed State提供了以下可以保存 State 的数据结构: ValueState :保存一个可以更新和检索的值(如上所述,每个值都对应到当前的输入数据的 Key,因此算子接收到的每个Key都可能对应一个值)。这个值可以通过 update(T)进行更新,通过 T value() 进行检索。 ListState :保存一个元素的列表。可以往这个列表中追加数据,并在当前的列表上进行检索。可以通过 add(T) 或者 addAll(List ) 进行添加元素,通过 Iterable get() 获取整个列表。还可以通过 update(List ) 覆盖当前的列表。 ReducingState :保存一个单值,表示添加到状态的所有聚合。接口与ListState 类似,使用 add(T)增加元素,会使用提供的 ReduceFunction 进行聚合 AggregatingState:保留一个单值,表示添加到状态的所以值得聚合。和ReducingState 相反得是,聚合类型可能与添加到状态得元素得类型不同。接口与 ListState 类似,但使用 add(IN) 添加的元素会用指定的 AggregateFunction 进行聚合。 FoldingState:保留一个单值,表示添加到状态的所有值的聚合。与 ReducingState 相反,聚合类型可能与添加到状态的元素类型不同。接口与ListState类型,但使用 add(T) 添加的元素会用指定的FoldFunction 折叠成聚合值。 MapState:维护了一个添加映射列表。你可以添加键值对到状态中,也可以获得反映当前所有映射的迭代器。使用 put(UK,UV) 或者 putAll(Map) 分别检索映射、键和值的可迭代视图。 Operator State(算子状态) Operator State 与 Key 无关,而是与 Operator 绑定,整个 Operator 只对应一个 State。比如:Flink 中的 Kafka Connector 就使用了 Operator State,它会在每个 Connector 实例中,保存该实例消费 Topic 的所有(partition,offset)映射。 https://www.cnblogs.com/alen-apple/p/13048183.html
    踩0 评论0
  • 回答了问题 2021-03-03

    什么是 Flink State,作用是什么

    state用来存放计算过程的节点中间结果或元数据等, 并提供Exactly-Once语义。 在流计算场景中, 数据没有边界源源不断的流入的, 每条数据流入都可能会触发计算, 比如在进行count或sum这些操作, 是选择每次触发计算将所有流入的历史数据重新计算一边还是每次计算都基于上次计算结果进行增量计算呢? 从综合考虑角度, 很多人都会 选择增量计算, 那么问题就产生了: 上一次的中间计算结果保存在哪里? 内存? 这其中会由于本身的网络, 硬件或软件等问题造成某个计算节点失败, 对应的上次计算结果就会丢失, 在节点恢复时, 是需要将所有历史数据重新计算一遍的, 对于这样的结果大家是很难接受的. 作者: 神奇的考拉 链接: https://www.jianshu.com/p/595ba0a2760b 来源: 简书 著作权归作者所有. 商业转载请联系作者获得授权, 非商业转载请注明出处.
    踩0 评论0
  • 回答了问题 2021-03-02

    Flink 窗口触发器是什么

    窗口的触发器定义了窗口是何时被触发并同时决定触发行为(对窗口进行清理或者计算)。
    踩0 评论0
  • 回答了问题 2021-03-02

    Flink Api主要分为几层

    踩0 评论0
  • 回答了问题 2021-03-02

    Flink Runtime Master 组件有哪些?分别有什么作用

    Master三部分:Dispatcher、JobManager、ResourceManager
    踩0 评论0
  • 回答了问题 2021-03-02

    Flink Runtime 层的主要架构是什么

    主从架构
    踩0 评论0
  • 回答了问题 2021-03-02

    Flink 和Spark、Storm区别

    系统StormSparkFlink流处理模型原生支持微化批处理原生支持计算确定性至少一次精确一次精确一次容错性消息确认检查点模式检查点模式容错开销高中低延迟低高低吞吐量低高高
    踩0 评论0
  • 回答了问题 2021-03-02

    Delta Lake可以线上使用吗?

    可以的,具体follow这个文档 https://docs.delta.io/latest/quick-start.html
    踩0 评论0
  • 回答了问题 2021-03-02

    Delta Lake的工作原理是怎样的?

    Delta Lake是Spark计算框架和存储系统之间带有Schema信息数据的存储中间层。它给Spark带来了三个最主要的功能: 1. 使得Spark能支持数据更新和删除功能; 2. 使得Spark能支持事务; 3. 支持数据版本管理,运行用户查询历史数据快照。 特性实现是基于事务日志, 比如ACID事务管理/数据原子性/元数据处理和时间旅行等功能.
    踩0 评论0
  • 回答了问题 2021-03-02

    在Apache Spark 的 ANSI SQL是什么意思?

    使 Spark SQL 和 PostgreSQL 或者 ANSI SQL:2011 之间的差异更小了.
    踩0 评论0
  • 回答了问题 2021-03-02

    在Apache Spark 的 ZEN 是什么意思?

    Project Zen: Improving Apache Spark for Python Users
    踩0 评论0
  • 回答了问题 2021-03-02

    在Apache Spark 的 AQE是什么意思?

    AQE自适应查询执行(Adaptive Query Execution) 框架目前提供了三个功能: * 动态合并 shuffle partitions; * 动态调整 join 策略; * 动态优化倾斜的 join(skew joins)。
    踩0 评论0
  • 回答了问题 2021-03-02

    Spark3 Extensibility and Ecosystem是什么?

    增加了对系统扩展与周边生态的支持。 主要有: DataSource的持续提升; Java 11版本的支持; Hadoop3/Hive 3的支持
    踩0 评论0
  • 回答了问题 2021-03-02

    Spark3 Richer APIs是什么?

    Scala API 中增了32个新的内置函数和高阶函数。 在这些内置函数中,添加了一组针对 MAP 的特定内置函数[transform_value,map_entries,map_filter,transform_key,map_zip_with],以简化对 map 数据类型的处理。
    踩0 评论0
  • 回答了问题 2021-03-02

    Spark3 Join Hints是什么?

    Join 算法的选择基于统计和启发式算法, 当编译器无法做出最佳选择时, 用户仍然可以使用 join hints 来影响优化器选择更好的计划. Apache Spark 3.0 通过添加新的 hints 扩展了现有的 join hints : SHUFFLE_MERGE/SHUFFLE_HASH 和 SHUFFLE_REPLICATE_NL
    踩0 评论0
  • 回答了问题 2021-03-02

    Spark3 Dynamic Partition Pruning是什么?

    所谓的动态分区裁剪就是基于运行时(run time)推断出来的信息来进一步进行分区裁剪。
    踩0 评论0
  • 回答了问题 2021-03-02

    Spark调优数据分布不均是什么意思?

    出现数据倾斜,导致数据量大的计算时间过长。
    踩0 评论0
  • 回答了问题 2021-03-02

    Spark3.0中AQE包括哪些功能?

    AQE 框架目前提供了三个功能: * 动态合并 shuffle partitions; * 动态调整 join 策略; * 动态优化倾斜的 join(skew joins)。
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息