目前在Hadoop中用得比较多的有lzo,gzip,snappy,bzip2这4种压缩格式,笔者根据实践经验介绍一下这4种压缩格式的优缺点和应用场景,以便大家在实践中根据实际情况选择不同的压缩格式。
- 数据类型和序列化 Flink支持java、scala基本数据类型,以及java Tuples、scala Case Class、Flink Value,对于这些数据类型,flink会采用自身的序列化反序列化器去做序列化操作,对于其他数据类型,flink会采用kyro方式序列化,kyro序列化方式效率会比flink自带的方式低很多。因此在数据序列化方面我们可以做如下工作
container的生命周期是什么,是整个job运行完成,还是说container上的任务完成后1. Container启动过程主要经历三个阶段:资源本地化、启动并运行container、资源回收,其中,资源本地化指创建container工作目录,从HDFS下载运行container所需的各种资源(jar包、可执行文件等)等
Source 将 Event 写入到 Channel 之前可以使用拦截器对 Event 进行各种形式的处理,Source 和 Channel 之间可以有多个拦截器,不同拦截器使用不同的规则处理 Event,包括时间、主机、UUID、正则表达式等多种形式的拦截器。
1. HDFS Sink: 将Event写入HDFS文件存储,能够有效长期存储大量数据。2. Kafka Sink: Flume通过Kafka Sink将Event写入到Kafka中的主题,其他应用通过订阅主题消费数据。kafka.producer.acks可以设置Producer端发送消息到Broker之后不需要等待Broker返回成功送达的信号。