Data LakeHouse是一种新型的湖仓一体架构,该架构旨在用一套系统实现原来的数据仓库(Data Warehouse)加数据湖(Data Lake)的功能。数仓、数据湖、LakeHouse的发展演进过程如下图(图片出自Databricks):本文简单梳理一下整个发展演进的过程。Data WarehouseData Warehouse就是我们平时说的数据仓库(简称数仓),数仓最典型的代表...
本文是《Kafka的Consumer Group Rebalance》一文的补充部分,主要附加介绍一下Kafka内置的几种分区分配策略。Kafka定义了一个消费者组内分区分配的接口ConsumerPartitionAssignor,该接口里面最核心的是assign方法:package org.apache.kafka.clients.consumer;
public interface C...
什么是Consumer Group Rebalance?Kafka Consumer创建的时候都要指定一个组ID(group id),所有组ID一样的Consumer就组成了一个Consumer Group。对于一个Partition同一时刻只会分配给同一个Group内某一个Consumer,这就是大家熟知的Kafka消费模型。通过这个模型,Kafka的消费者(也就是应用/服务)可以很方便的...
本文基于Kafka 2.8.有时我们会碰到网络是通畅的,但却连不上Kafka,特别是在多网卡环境或者云环境上很容易出现,这个其实和Kafka的监听配置有关系。本文介绍监听相关的配置,目前监听相关的参数主要有下面几个:listenersadvertised.listenerslistener.security.protocol.mapinter.broker.listener.namesecu...
上篇文章介绍了Kafka Consumer,这篇文章讨论Kafka Producer。Kafka Producer流程概述下面是一个简单的Producer实现:public class SimpleProducer {
public static void main(String[] args) {
Properties config = new Properties();
...
Kafka的消费者类KafkaConsumer是非线程安全的,那如何实现多线程的Consumer呢?先了解一下一般Consumer的流程。如上图:通过poll方法从kafka集群拉取数据;处理数据提交offset(如果开启了自动提交enable.auto.commit=true,则每次poll的时候会自动提交上一次poll的offset)如此往复。翻译成代码类似下面这样: Proper...
先回顾几个概念:ES的Index是个逻辑概念,实际由若干shard组成,而shard就是Lucene的Index,即真正存储数据的实体。当有数据需要存储的时候,就需要先分配shard。具体来说需要分配shard的场景包括:数据恢复,主分片(primary)、副本分片的分配,再平衡(rebalancing),节点的新增、删除。对于分布式存储系统来说,数据的分布非常重要,ES shard的分配工...
上篇介绍了常见的算子,本文介绍另外一个重要的算子:Async I/O,即异步IO。它是流中频繁访问外部数据的利器,特别是当访问比较耗时的时候。产生背景先考虑一个实际中挺常见的场景:一个流处理程序中对于每个事件都要查一次外部的维表(比如HBase,这里暂不考虑缓存机制)做关联,那在Flink中如何实现呢?典型的做法就是增加一个map/flatmap,在里面做一下查询关联。这样功能没问题,但这个...
- 1
- 2
- 3
- 4
- ...
- 8
- 后一页 »