大数据开发 什么是 Kafka 消费者组 一个分区只可以被消费组中的一个消费者所消费。 一个消费组中的一个消费者可以消费多个分区,例如 C1 消费了 P0,和P3 。 一个消费组中的不同消费者消费的分区一定不会重复,例如:C1 消费 P0和P3 , C2 消费 P1和P2。 所有消费者一起消费所有的分区,例如 C1 和 C2 共同完成了对 P0、P1、P2、P3 的消费。 yuziyue 29 Jul 2023 · 2 min read
大数据开发 kafka压力测试方法 在Kafka集群搭建好以后通常会进行测试,测试包括写入压力测试、消费速度测试,Kafka 本身提供了对应的方法,直接使用即可。创建测试 topic、测试写入速度、测试消费速度、指定每次fetch的数据的字节数 # --threads 指定消费者线程数量 yuziyue 29 Jul 2023 · 1 min read
大数据开发 Kafka 单机多 broker 部署 Kafka 单机多 broker 部署,即在一台机器上跑多个 broker,正常线上部署时,一台服务器应该只部署一个 broker。单机多 broker 的目的是为了测试学习 Kafka 时使用 备份的节点列表id,无论该节点是否是 leader 或者目前是否还活着,不管node死活,只是列出信息而已。 yuziyue 29 Jul 2023 · 2 min read
大数据开发 Kafka 管理-生产-消费命令行工具 本文将总结 Kafka 中的管理 topic、生产消息、消费消息的常用命令行。一. 启动停止 Kafka 二. Kafka常用命令 2.1 topic 管理 2.2 生产消息 2.3 消费消息 # 消费组:通过组消费,blogGroup 会被自动创建,重新启动时从上次消费的位置开始 # 消费组:查看组详情,包括消费进度、积压数量等 yuziyue 29 Jul 2023 · 2 min read
大数据开发 Kafka 原理与架构完全总结 一台kafka服务器就是一个broker,一个集群由一个或多个broker组成。在kafka的配置文件server.properties中,broker.id=0表示当前服务器的broker ID号,该ID号在集群内是全局唯一的。如果在节点紧缺的时候,一台服务器也可以启动多个broker。Epoch。一个单调增加的版本号。每当副本领导权发生变更时,都会增加该版本号。小版本号的 Leader 被认为是过期 Leader,不能再行使 Leader 权力。 yuziyue 29 Jul 2023 · 20 min read
大数据开发 HBase 数据库架构原理大总结 HBase是一个开源的Key-Value型数据库,运行于HDFS文件系统之上,它本本质上是一个多维稀疏排序Map。HBase本质上是一个Map结构数据库,HBase中Map的key是一个复合键,由rowkey、column family、qualifier、type以及timestamp组成,value即为cell的值。比如: yuziyue 28 Jul 2023 · 13 min read
大数据开发 Hbase JAVA API 接口使用 下面是常用的 HBase 的交互方式,本文以 Java API 为例,给出常用场景的使用方法。 根据 hbase 的版本,添加相同版本的 hbase-client 客户端。将安装Hbase的配置文件hbase-site.xml拷贝到src/main/resources/目录下,如果需要打包然后在其他服务器上跑的话,将该配置文件放置在classpath下即可。 yuziyue 28 Jul 2023 · 4 min read
大数据开发 HBase Shell 命令使用总结 HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况。安装完HBase之后,如果配置了HBase的环境变量,只要在shell中执行hbase shell就可以进入命令行界面。hbase表中的每个列,都归属与某个列族。列族是表schema的一部分(而列不是),必须在使用表之前定义。 yuziyue 28 Jul 2023 · 9 min read
大数据开发 Flink 侧流输出完整示例 对数据流进行标记,在下游通过 getSideOutput 取已经标记过的数据流处理。 DataStream streamOdd = mainStream.getSideOutput(oddTag); DataStream streamEven = mainStream.getSideOutput(evenTag); DataStream streamNotNumber = mainStream.getSideOutput(notNumberTag); yuziyue 27 Jul 2023 · 1 min read
大数据开发 Flink 之 env 配置总结 // Checkpoint 的处理超时时间,超时后不会继续保存这个检查点 env.getCheckpointConfig() .setCheckpointTimeout(60000L); // 最大允许同时处理几个 Checkpoint,指的是同一个任务的 Checkpoint // 比如: 上一个Checkpoint处理到一半,这里又收到一个待处理的Checkpoint env.getCheckpointConfig().setMaxConcurrentCheckpoints(2); yuziyue 27 Jul 2023 · 1 min read
大数据开发 Flink 从文件读取 readFile 只读取一次目录(PROCESS_ONCE),处理完以后就退出了 持续监听目录时(FileProcessingMode.PROCESS_CONTINUOUSLY),只要某个文件的修改时间有变化,不管文件内容有没有变化,都会重新读取一遍该文件。 yuziyue 27 Jul 2023 · 1 min read
大数据开发 Flink 从变量中读取数据 在学习 Flink ,或者验证一些 Flink 的功能的时候,可能需要简单的数据准备,最好的方式就是从变量中读取数据(内存读取数据)。 // 传入基本类型 DataStreamSource nums1 = env.fromCollection(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)); nums1.print("nums1"); yuziyue 27 Jul 2023 · 2 min read
大数据开发 Flink 核心概念与架构总结 Flink 是一个分布式系统,需要有效分配和管理计算资源才能执行流应用程序。它集成了所有常见的集群资源管理器,例如Hadoop YARN、Apache Mesos和Kubernetes,但也可以设置作为独立集群甚至库运行。 flink on yarn 有两种提交方式 yuziyue 27 Jul 2023 · 7 min read
大数据开发 Airflow task实例状态流转及含义 理想情况下的状态流转 none =》scheduled =》 queued =》 running =》 success. 当running和queued的任务数量过大时,后续产生的任务实例都会处于scheduled状态。每次scheduler调度任务时,选出次状态的任务执行。 yuziyue 27 Jul 2023 · 1 min read
大数据开发 Airflow 中如何使用 XComs 在 airflow 中,operator 一般(not always)是原子的,也就是说,他们一般独立执行,同时也不需要和其他 operator 共享信息,如果两个 operators 需要共享信息,如 filename 之类的, 推荐将这两个 operators 组合成一个 operator。如果实在不能避免,则可以使用 XComs (cross-communication) 来实现。XComs 用来在不同tasks 之间交换信息,看下面的示例。 yuziyue 27 Jul 2023 · 1 min read
大数据开发 Hive SQL 查询优化大总结 会对磁盘进行多次的读写操作,如果任务数量很多更占用资源。 Tez将Map和Reduce两个操作进一步拆分,即Map被拆分成Input、Processor、Sort、Merge、Output, Reduce被拆分成Input、Shuffle、Sort、Merge、Processor、Output等依赖DAG,中间结果在内存中,只写一次磁盘。 Spark 将Map和Reduce生成DAG,划分Stage,将中间结果保存内存,只写一次磁盘。 yuziyue 27 Jul 2023 · 7 min read
大数据开发 Hive 文件存储格式 Hive 文件存储格式表示最终存储在 HDFS 上的文件格式,不同的文件格式对磁盘占用、查询速度等有重要的影响。TextFile为默认的数据存储格式,TextFile以文本文件的形式存储数据,该种方式默认不对数据进行压缩处理,效率较低。导入数据时会直接把数据文件拷贝到hdfs上不进行处理。源文件可以直接通过hadoop fs -cat 查看。TextFile格式的数据无法使用压缩算法来压缩存储。 yuziyue 27 Jul 2023 · 3 min read
大数据开发 Hive 快速入门 Hive的存储结构包括数据库、表、视图、分区。数据库、表、分区都对应 HDFS 上的目录,而数据对应 HDFS 对应目录下的文件。Hive 中所有的数据都存储在 HDFS 中,没有专门的数据存储格式,Hive 是读模式的数据库,可支持 TextFile,SequenceFile,RCFile 或者自定义格式等。 yuziyue 27 Jul 2023 · 7 min read