Trigl的博客

Less is more.

使用Flume+Kafka+SparkStreaming进行实时日志分析

每个公司想要进行数据分析或数据挖掘,收集日志、ETL都是第一步的,今天就讲一下如何实时地(准实时,每分钟分析一次)收集日志,处理日志,把处理后的记录存入Hive中,并附上完整实战代码1. 整体架构思考一下,正常情况下我们会如何收集并分析日志呢?首先,业务日志会通过Nginx(或者其他方式,我们是...

2017-05-24 15:33:29

阅读数 39228

评论数 8

使用Crontab定时执行Spark任务

今天的主要内容有: Linux下使用定时器crontab Linux下如何编写Perl脚本 在Java程序中调用Linux命令 实例:每天0点30分执行Spark任务 1. Linux下使用定时器crontab1、安装yum -y install vixie-cron ...

2017-03-15 16:54:40

阅读数 5664

评论数 2

hadoop、zookeeper、hbase、spark集群环境搭建

本文详细讲解如何搭建hadoop、zookeeper、hbase和spark的集群环境,这里我是在本地虚拟机上搭建的集群,但是和实际环境的配置差不多。我会从零开始搭建并且尽量写得详细,所以还会讲到很多配置linux环境的东西,希望大家不要烦,务必按照步骤一步步做下去。 本文主要讲了以下内容: L...

2016-09-13 09:44:53

阅读数 12726

评论数 4

Spring事务管理(详解+实例)

写这篇博客之前我首先读了《Spring in action》,之后在网上看了很多关于Spring事务管理的文章,具体参考文章如下: 1、将相应的接口依赖图理清出 2、将每个类的具体配置弄明白 3、将具体的配置给出来 4、给出具体的例子(一个声明式的一个编程式的)

2016-03-25 23:20:38

阅读数 55390

评论数 28

SBT 那些常用的功能

使用 Scala 也很久了,SBT 是最方便的构建工具,但是总是会遇到一些 SBT 引起的奇奇怪怪的问题,今天就好好研究一下 SBT 的常见用法,争取通过本文跨过大部分的坑。 SBT 常见命令 clean:移除 target 文件夹下生成的所有文件。 compile:编译 src...

2018-08-22 18:42:40

阅读数 1176

评论数 0

Spark Streaming 集成 AWS Kinesis

关于 AWS Kinesis 的基本信息可以看我的这篇文章:使用 AWS Kinesis 收集流数据,本文主要讲解 Spark Streaming 如何集成 Kinesis 处理流数据。 配置 Spark Streaming 应用 Spark Streaming 集成 Kinesis ...

2018-08-22 18:41:15

阅读数 641

评论数 0

Spark Streaming Checkpoint

一个 Streaming 应用是一个 007 特工,需要保证 7 * 24 小时的持久运转,因此容错性就极其重要,Spark Streaming 通过在一个具有容错性的存储系统如 HDFS 中设置一些检查信息来从错误中恢复。 什么情况下需要设置 checkpoint? 首先我们看一下哪...

2018-08-22 18:39:55

阅读数 497

评论数 0

Spark Streaming 初见

本文内容是对 Spark Streaming 官方文档的总结,用一个简单的例子来入门 Spark Streaming。 Spark Streaming 是用来处理实时流数据的,所以必然有一个输入和一个输出: Spark Streaming 的内部实现其实还是 Spark core,...

2018-08-22 18:39:08

阅读数 240

评论数 0

Scala 的矩阵运算

本文讲解 Scala 中进行矩阵运算的包 breeze 的一些基础操作。 Breeze 是 Scala 中用于线性代数相关数值运算的开源库。 安装 首先我们使用 SBT 导入: libraryDependencies ++= Seq( // Last stable rel...

2018-08-22 18:38:03

阅读数 494

评论数 0

使用 Netty 写一个 HTTP Server

前一段时间需要写一个 HTTP Server,之前用 Akka 实现了一个,但是 Netty 更能支撑高并发,连 Spark 2.0 也把 Akka 换成了 Netty 进行网络传输,所以现在再撸一个 Netty 的 Server。 闲话少说,直接开搞,首先将 Netty 加入 sbt:...

2018-07-16 11:31:17

阅读数 645

评论数 0

Protocol Buffers 了解一下?

本文是学习 Protocol Buffers 时做的笔记,内容来自官方文档,把其中的精华部分提炼出来做了一个总结。 什么是 protocol buffers Protocol buffers 是一种跨语言跨平台可扩展的序列化结构化数据的方式,常用于通信协议、数据存储等等。首先会定义数据...

2018-06-20 11:00:54

阅读数 132

评论数 0

DDIA 读书笔记——构建可靠的、可扩展和可维护的应用

17 年听说了这本神书 Designing Data-Intensive Applications,可以说这是一本全面讲解了大数据整个生态的百科全书,之前快速地看过前几章,感觉讲解地很系统而且通俗易懂,但是看到后面开始讲解更多细节性的内容慢慢地有点跟不上节奏了。作为一名数据从业人员感觉很有必...

2018-06-14 00:12:46

阅读数 297

评论数 0

使用 AWS Kinesis 收集流数据

Kinesis 是 AWS 的一项用于收集实时流数据的云服务,类似于 Kafka。Kinesis 收集到的数据可以用于多个方面,例如存到 S3,发到 EMR 作进一步数据分析等等。 Kinesis 的整体架构如下: Kinesis 的基本术语 Kinesis Data Strea...

2018-05-28 10:00:23

阅读数 1018

评论数 0

Akka Study

Akka 用于构建高并发、分布式且具有容错机制的事件驱动型的应用,本文是 Scala Cookbook 一书中 Akka 部分内容的总结。 Akka Guide Actor 模型与线程比较,是一种高层次的抽象。说 “高层次的抽象”这句话,就意味着这个东西简单易用,你不需要考虑太多底...

2018-05-23 17:04:08

阅读数 206

评论数 0

Scala 的 Case Classes 和 Pattern Matching

本文将讲解 Scala 中无处不在的 case class 和 pattern matching,为什么要放在一起讲呢,因为 case class 一般就是和模式匹配一起使用,习惯了用这套组合拳以后就再也不想写 Java 代码了,use less code to show more! ...

2018-04-13 17:29:54

阅读数 349

评论数 0

Scala Implicit 详解

Implicit 是 Scala 中一个很重要的特性,开始学习 Scala 之前一直以为它和 Java 差不多,然而真的看一些 Scala 的源码时却发现并没有想象中那么简单,所以准备写几篇文章来详解 Scala 中异于 Java 的特性,就从 Implicit 开始吧。 在我看来,Impli...

2018-02-07 19:29:13

阅读数 4946

评论数 0

Learning Spark——client mode和cluster mode的区别

在使用spark-submit提交Spark任务一般有以下参数:./bin/spark-submit \ --class <main-class> \ --master <master-url> \ --deploy-mode <deploy-mode&g...

2017-06-09 19:10:51

阅读数 7072

评论数 2

Kafka安装与简介

今天来讲一下Kafka,它是一个消息队列,应用场景比较广泛。刚开始学习一门东西,咱们先不管它是干什么的,先跑起来才是正经,所以本文主要讲两点: 安装搭建Kafka 简单介绍下Kafka的原理和应用 1. 安装Kafka1.1 下载解压下载地址:http://kafka.apache.org/dow...

2017-05-23 11:01:51

阅读数 24229

评论数 2

Learning Spark——Spark连接Mysql、mapPartitions高效连接HBase

执行Spark任务免不了从多个数据源拿数据,除了从HDFS获取数据以外,我们还经常从Mysql和HBase中拿数据,今天讲一下如何使用Spark查询Mysql和HBase1. Spark查询Mysql内容主要参考官方文档:http://spark.apache.org/docs/latest/sq...

2017-05-20 16:12:46

阅读数 3411

评论数 0

Learning Spark——RDD常用操作

本文内容主要包括: 基本转换操作 键值对转换操作 行动操作 RDD支持两种操作:转换(Transformation)操作和行动(Action)操作。为什么会分为两种操作,这两种操作又有什么区别呢?我们先考虑一下平常我们使用的一些函数,举个例子Long.toString(),...

2017-04-27 17:33:57

阅读数 2309

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭