Danner Blog

Took the sourest lemon that life has to offer and turned it into something resembling lemonade.

Hive 函数解读

闲来无事,看几个 Hive 中的函数实现 编译 下载 源码 ,解压目录执行以下命令即可编译 mvn -e clean package -Phadoop-2,dist -DskipTests=true 注:编译要在类 Unix 环境(Win 的bash),不然有编译过程中目录生成会有问题 IDEA 调试 命令行启动 Debug 模式的 Hive bin/hive...

Flume 定制化

大数据生态圈提供了很多的组件让我们搭建,很方便。但业务上有些功能原有组件不满足或者有问题,这时需要我们修改源码去定制化自己的组件。本例讲的 Flume 的修改。 下载源码:http://archive.cloudera.com/cdh5/cdh/5/flume-ng-1.6.0-cdh5.15.1-src.tar.gz 解压后直接导入 IDEA,开始编译 pom 清单中 ...

SQL 训练营

在 Hive 上进行 SQL 练习。 over 案例一 表中有如下字段: domain time traffic(T) gifshow.com 2019/01/01 5 yy.com 2019/01/01 4 huya.com 2019/01/01 1 gifshow.com 2019/01/20 6...

日志收集与分析 Demo

本文记录日志收集与分析小项目的架构和流程 介绍 一条埋点数据经 nginx 网关分发到对应的 webServer,webServer 处理埋点数据后以文本的形式存储在本地磁盘;离线处理时,Flume 会收集本机的处理后的埋点日志并存储到 HDFS,此时 Hive/Spark 进行数据的处理和分析;实时计算,对接 Flume 的是 Kafka 组件,然后实时处理框架 Spark/F...

深入理解 Kafka 之 Consumer

之前两节关于生产者和 Broker,本节剖析消费者流程。kafka 消费过程中,有个重要的组件 Coordinator,它协调同个消费组下的消费者。我们熟知的一条规律:同一时间下同个分区只会被同个消费组消费一次,就是 Coordinator 功劳。kafka consumer 消费数据流程如下: consumer 向某个 broker 发送询问当前 group 的 Coordinat...

深入理解 Kafka 之 Broker

前一节深入理解 Kafka 之 Producer介绍生产者的代码,本节介绍服务端的代码 网络 服务端的网络框架也是使用 NIO与生产者网络底层代码是复用,都是 org.apache.kafka.common.network.Selector。下面介绍时关于 NIO 方面会略过(详情查阅生产者的介绍),重点介绍网络结构 // kafka.Kafka.main, kafka 启动时调用 ...

深入理解 Kafka 之 Producer

Kafka 是一个支持高并发,高性能,高可用的分布式消息系统。下面从三个角度来分析,为何 Kafka 性能如此优越。 生产时: batch 发送:提高吞吐量 batch 存储的 buffer 重复利用:减少 JVM GC,防止 Full GC 同个主机上的不同分区 msg 一起发送:减少网络创建开销 服务器: ...

云原生:容器技术

Docker

容器就是一个进程集合,它将系统的其他资源隔离开来,具有自己独立的资源视图。 容器就是一个视图隔离、资源可限制、独立文件系统的进程集合。所谓“视图隔离”就是能够看到部分进程以及具有独立的主机名等;控制资源使用率则是可以对于内存大小以及 CPU 使用个数等进行限制。容器具有一个独立的文件系统,因为使用的是系统的资源,所以在独立的文件系统内不需要具备内核相关的代码或者工具,我们只需要提供...

深入理解 HDFS

Hadoop 的三架马车:HDFS、MR、YARN,实现分布式存储、计算、调度。大数据发展至今组件日益成熟,但 HDFS 在存储领域还是一枝独秀。本文从 HDFS 启动流程的角度分析其运行机制。 NameNode // org.apache.hadoop.hdfs.server.namenode.NameNode /** * NameNode 控制两个关键的 Table * file...

Scala 随笔

https://docs.scala-lang.org/zh-cn/tour/higher-order-functions.html case class case class 样例类,必须要有参数列表;case object 样例对象,必须不能加参数列表。案例类非常适合用于不可变的数据,Spark 中常用 case class 来存储信息。case class 相比于 clas...