摘要:
Apache Hudi Apache Hudi 在基于 HDFS/S3 数据存储之上,提供了两种流原语: 插入更新 增量拉取 一般来说,我们会将大量数据存储到HDFS/S3,新数据增量写入,而旧数据鲜有改动,特别是在经过数据清洗,放入数据仓库的场景。而且在数据仓库如 hive中,对于update的支 阅读全文
摘要:
Flink 读写Kafka 在Flink中,我们分别用Source Connectors代表连接数据源的连接器,用Sink Connector代表连接数据输出的连接器。下面我们介绍一下Flink中用于读写kafka的source & sink connector。 Apache Kafka Sour 阅读全文
摘要:
应用一致性保障 在Flink中,会自动做检查点,用于故障时恢复一个应用。在恢复时,application的state信息可以根据最近完成的检查点进行重建,并继续运行。不过,仅将一个application的state进行重置并不足以满足exactly-once的保证。 为了给一个应用提供exactly 阅读全文
摘要:
Flink 系统配置 Flink 提供了多个配置参数,用于调整Flink的行为与性能,所有参数均在flink-config.yaml 文件中。下面我们介绍一下几个主要配置。 Java and Classloading 默认情况下,Flink启动JVM进程时,会使用系统环境变量里的PATH路径。当然, 阅读全文
摘要:
检查点,保存点,与状态恢复 Flink是一个分布式数据处理系统,这种场景下,它需要处理各种异常,例如进程终止、机器故障、网络中断等。因为tasks在本地维护它们的state,Flink必须确保在出现故障的情况下,state不会丢失,并且保持一致性。 在这一节,我们会介绍Flink用于保证exactl 阅读全文
摘要:
状态管理 之前我们提到过大多数流应用是有状态的。很多operators会不断的访问并更新某中状态,例如一个window中收集了多少条记录,输入源中当前读到的位置,亦或是用户定义的特定operators的状态。无论是内置的operator还是用户定义的operators,Flink对待它们都是一致的。 阅读全文
摘要:
HDFS Read调优 在基于 HDFS 存储的 HBase 中,主要有两种调优方式: 绕过RPC的选项,称为short circuit reads 开启让HDFS推测性地从多个datanode读数据的选项,称为 hedged reads Short-Circuit Reads 一般来说,HBase 阅读全文
摘要:
在0.90 版本后的 HBase,引入了一个高级机制用于缓解堆内存碎片的问题。此内存碎片问题的产生的主要原因是由于 memstore 上的扰动(频繁的分配与释放内存空间)导致。对应解决此问题的机制为Memstore-Local Allocation Buffer,简称MSLAB。 在一个memsto 阅读全文
摘要:
Log Cleanup 策略 在Kafka中,存在数据过期的机制,称为data expire。如何处理过期数据是根据指定的policy(策略)决定的,而处理过期数据的行为,即为log cleanup。 在Kafka中有以下几种处理过期数据的策略: · log.cleanup.policy=delet 阅读全文
摘要:
Topic 的配置与组成 之前我们仅主要介绍了Kafka Producer与Kafka Consumer 的相关配置,而未详细介绍过有关topic的配置。Topic的配置在Kafka 使用中也至关重要,因为它的参数足以影响集群性能以及topic 的行为。 在一个topic被创建后,会有它默认的参数, 阅读全文