自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Trigl的博客

Less is more.

  • 博客(84)
  • 资源 (1)
  • 收藏
  • 关注

原创 再见 CSDN

CSDN 事实上是一个氛围很好的技术论坛,但作为一个上升处女的摩羯座,实在无法忍受各种辣眼睛的广告,所以决定将博客迁移到个人网站:白墨的博客 | Ink’s Blog欢迎来撩~...

2019-04-02 21:10:10 1198

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

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

2017-05-24 15:33:29 50034 10

原创 使用Crontab定时执行Spark任务

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

2017-03-15 16:54:40 8511 2

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

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

2016-09-13 09:44:53 16014 4

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

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

2016-03-25 23:20:38 86260 46

原创 SBT 那些常用的功能

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

2018-08-22 18:42:40 4967

原创 Spark Streaming 集成 AWS Kinesis

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

2018-08-22 18:41:15 2304

原创 Spark Streaming Checkpoint

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

2018-08-22 18:39:55 1033

原创 Spark Streaming 初见

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

2018-08-22 18:39:08 654

原创 Scala 的矩阵运算

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

2018-08-22 18:38:03 4196

原创 使用 Netty 写一个 HTTP Server

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

2018-07-16 11:31:17 2808

原创 Protocol Buffers 了解一下?

本文是学习 Protocol Buffers 时做的笔记,内容来自官方文档,把其中的精华部分提炼出来做了一个总结。什么是 protocol buffersProtocol buffers 是一种跨语言跨平台可扩展的序列化结构化数据的方式,常用于通信协议、数据存储等等。首先会定义数据应当如何构造,然后使用特殊生成的源代码把结构化的数据写入到各个数据流或者读取出来。甚至可以更新数据结构...

2018-06-20 11:00:54 856

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

17 年听说了这本神书 Designing Data-Intensive Applications,可以说这是一本全面讲解了大数据整个生态的百科全书,之前快速地看过前几章,感觉讲解地很系统而且通俗易懂,但是看到后面开始讲解更多细节性的内容慢慢地有点跟不上节奏了。作为一名数据从业人员感觉很有必要通过这本书把数据系统层面的内容整个做一个了解,所以这次在阅读的过程中会作一些笔记或者说是翻译以加深自...

2018-06-14 00:12:46 1221

原创 使用 AWS Kinesis 收集流数据

Kinesis 是 AWS 的一项用于收集实时流数据的云服务,类似于 Kafka。Kinesis 收集到的数据可以用于多个方面,例如存到 S3,发到 EMR 作进一步数据分析等等。Kinesis 的整体架构如下:Kinesis 的基本术语Kinesis Data Stream Kinesis Data Stream 实时吸收大量数据、持久存储数据并使这些数据可供使用。其由...

2018-05-28 10:00:23 8281

原创 Akka Study

Akka 用于构建高并发、分布式且具有容错机制的事件驱动型的应用,本文是 Scala Cookbook 一书中 Akka 部分内容的总结。Akka GuideActor 模型与线程比较,是一种高层次的抽象。说 “高层次的抽象”这句话,就意味着这个东西简单易用,你不需要考虑太多底层的其他东西。所以如果理解了 Actor 模型的原理,就可以专注解决问题,而不需要把注意力放在像线程、...

2018-05-23 17:04:08 519

原创 Scala 的 Case Classes 和 Pattern Matching

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

2018-04-13 17:29:54 1041

原创 Scala Implicit 详解

Implicit 是 Scala 中一个很重要的特性,开始学习 Scala 之前一直以为它和 Java 差不多,然而真的看一些 Scala 的源码时却发现并没有想象中那么简单,所以准备写几篇文章来详解 Scala 中异于 Java 的特性,就从 Implicit 开始吧。在我看来,Implicit 做的事情也是 Scala 主要做的事情,那就是代码压缩,减少模块代码,talk is chea

2018-02-07 19:29:13 7784

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

在使用spark-submit提交Spark任务一般有以下参数:./bin/spark-submit \ --class <main-class> \ --master <master-url> \ --deploy-mode <deploy-mode> \ --conf <key>=<value> \ ... # other options <application-jar

2017-06-09 19:10:51 13385 3

原创 Kafka安装与简介

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

2017-05-23 11:01:51 28150 3

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

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

2017-05-20 16:12:46 5246 1

原创 Learning Spark——RDD常用操作

本文内容主要包括: 基本转换操作 键值对转换操作 行动操作 RDD支持两种操作:转换(Transformation)操作和行动(Action)操作。为什么会分为两种操作,这两种操作又有什么区别呢?我们先考虑一下平常我们使用的一些函数,举个例子Long.toString(),这个转换是把Long类型的转换为String类型的。如果同样的事情在Spark中,是如何执行的呢?在Sp

2017-04-27 17:33:57 2841

原创 Learning Spark——使用spark-shell运行Word Count

在hadoop、zookeeper、hbase、spark集群环境搭建 中已经把环境搭建好了,工欲善其事必先利其器,现在器已经有了,接下来就要开搞了,先从spark-shell开始揭开Spark的神器面纱。spark-shell是Spark的命令行界面,我们可以在上面直接敲一些命令,就像windows的cmd一样,进入Spark安装目录,执行以下命令打开spark-shell:bin/spark-s

2017-04-27 11:20:29 8572 1

原创 Learning Spark——使用Intellij Idea开发基于Maven的Spark程序

本文主要讲解如何使用Idea开发Spark程序,使用Maven作为依赖管理,当然也可以使用SBT,但是由于一直写Java程序习惯用Maven了,所以这里使用Maven。1、下载安装Jdk、Scala、MaveJdk、Maven安装方法略过,搞Java的应该都会,这里讲一下Scala的安装,其实和Java差不多。首先下载:https://www.scala-lang.org/download/按步骤安

2017-04-20 18:08:37 9926 1

原创 数据仓库的架构与设计

公司之前的数据都是直接传到Hdfs上进行操作,没有一个数据仓库,趁着最近空出几台服务器,搭了个简陋的数据仓库,这里记录一下数据仓库的一些知识。涉及的主要内容有: 什么是数据仓库? 数据仓库的架构 数据仓库多维数据模型的设计 1. 什么是数据仓库1.1 数据仓库的概念官方定义数据仓库是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,用于对管理决策过程的支持。

2017-04-01 17:52:19 99314 26

原创 Hive快速入门

主要内容 Hive概述 Hive安装配置 数据类型和文件格式 HQL常用操作 1. Hive概述1.1 为什么使用HiveHadoop生态系统的诞生为高效快速地处理大数据带来曙光,但是需要写MapReduce或者Spark任务,入门门槛较高,需要掌握一门编程语言例如Java或者Scala。 我们长久以来习惯于传统的关系型数据库,并且结构化查询语言(SQL)相对来说也比

2017-03-11 15:50:26 6167

原创 Hive安装配置

Hive是基于Hadoop的,安装Hadoop可以参考这里:hadoop、zookeeper、hbase、spark集群环境搭建 ,除此之外,还需要安装mysql用来存储Hive的元数据,下文将讲解mysql和hive的安装。安装mysql5.61、

2017-02-15 20:34:31 1608 1

原创 Hadoop双namenode配置搭建(HA)

配置双namenode的目的就是为了防错,防止一个namenode挂掉数据丢失,具体原理本文不详细讲解,这里只说明具体的安装过程。Hadoop HA的搭建是基于Zookeeper的,关于Zookeeper的搭建可以查看这里 hadoop、zookeeper、hbase、spark集群环境搭建 ,本文可以看做是这篇文章的补充。这里讲一下Hadoop配置安装。配置Hadoop文件需要修

2017-02-14 17:31:10 19321 8

原创 使用Nginx(OpenResty)转发域名到非80端口

今天我们来学习一个比较实际的技能,那就是如何让你在内网部署的Web工程可以通过外网访问呢?主要解决两个问题:1、如何得到一个可用的域名 2、Web工程的端口一般是8080或8081等等的非80端口,如何访问域名的时候能转发到这些非80端口呢? 3、域名不可能只对应一个工程,这样太浪费了,如何将带不同后缀的域名指向不同的工程?例如:使www.example.com/work、www.exam

2016-11-14 17:11:15 8675

原创 Linux下创建Oracle的实例

使用oracle用户登录,或su到oracle用户 1、首先设置要创建的ORACLE的SIDexport ORACLE_SID=addb2、 创建相应目录mkdir -p $ORACLE_BASE/admin/addb/{a,b,c,u}dumpmkdir -p $ORACLE_BASE/admin/addb/pfilemkdir -p $ORACLE_BASE/oradata/addb3、在

2016-11-09 19:07:01 26302 3

原创 web.xml中定义的Spring的XML配置文件启动顺序

在web.xml中定义的Spring的配置文件一般有两个: 1、Spring上下文环境的配置文件:applicationContext.xml <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:applicatio

2016-07-31 02:20:38 9843 2

原创 JDBC连接超时问题

这两天遇到一个问题,早上来了登录我们的项目网站第一次登录总是登不上去,第二次就好了,我看了一下后台的报错信息是这样的: The last packet successfully received from the server was 57,704,088 milliseconds ago. The last packet sent successfully to the server

2016-07-28 20:10:01 15884

原创 Java工具箱之常见处理文件操作

这个工具类包含以下文件操作: 1、获取文件大小 2、将文件大小自动转换为以“B”、“K”、“M”、“G”为单位的的大小 3、复制文件 4、移动文件 5、删除文件 6、解压ZIP文件package com.trigl.util;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputS

2016-07-27 14:04:24 1438

原创 Java工具箱之字符编码工具类

涉及到文件的字符编码问题一般需要知道两个内容: 1、文件本身的字符编码是什么? 2、如何将文件的字符编码集转换为另一种呢? 这个工具类就解决这两个问题package com.trigl.util;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.BufferedWriter;im

2016-07-26 19:26:10 2469

原创 Java工具箱之配置文件加载类

这个工具类比较常见,用于加载项目中的配置文件如config.propertiespackage com.trigl.util;import java.io.IOException;import java.io.InputStream;import java.text.MessageFormat;import java.util.Properties;import org.apache.log4

2016-07-26 18:58:27 865

原创 Java工具箱之SpringMVC拦截器

我们经常会遇到这些类似的情况,当我们登录到某个网站之后过一段时间再次刷新页面,可能会跳转到登录页面让我们再次登录;在有的网站我们无法查看某些内容,会提示我们权限不足。其实这些都是后台首先对我们的请求进行了拦截,然后决定跳转到哪里,这里我来讲一下我工作中用到的SpringMVC拦截器的用法。

2016-07-25 19:13:24 1408

原创 推荐一款基于bootstrap的漂亮的前端模板——inspinia_admin

首先给出Demo网址:http://webapplayers.com/inspinia_admin-v2.5由于它的版本会变化,所以过一段时间可能就无法访问了,只要把后面的版本号相应变动一下即可。 这个模板可以用于做管理系统,社交网站,个人博客等,甚至提供了邮箱、购物模板,而且使用了大量的第三方插件如作折线图或者柱状图的插件,做表格的插件,下面是一些实例图片:登录页面

2016-07-19 12:06:16 42851 14

原创 Integer的highestOneBit方法源码解析

在读HashMap源码的时候,遇到了Integer的highestOneBit静态方法不是太理解,所以就读了一下源码,这里记录一下。 /** * 将一个整数(二进制)设置最高位为1,其它位为0,然后返回改变后的值 * 如果这个整数是0返回0 * @param i * @return */ public static int highes

2016-05-25 01:14:08 2055

原创 多线程之volatile关键字

之前讲解了多线程的synchronized关键字,现在再学习一下volatile关键字。1 volatile关键字用来做什么?线程安全包括两个方面:原子性和可见性。Java的同步机制都是围绕这两个方面来确保线程安全的。其中原子性是指多个动作必须依次连续完成,必须保持一致性和完整性,这可以通过synchronized关键字来实现;可见性是指变量在多个线程之间是可见的,即如果其中一个线程改变了变量的值,

2016-04-15 20:43:39 2229 1

原创 多线程之synchronized关键字详解

synchronized关键字用于多线程访问程序中的共享资源时实现顺序同步访问资源。可以修饰方法或者代码块。而且关键字synchronized取得的锁都是对象锁,什么叫对象锁呢,就是一个对象产生一把锁,如果多个线程调用一个对象的多个方法,这些方法都被synchronized修饰,那么这些线程共同竞争一把锁,最后表现的就是同步顺序执行各个被synchronized修饰的方法。下面深入讲一下synchr

2016-04-15 20:23:17 4187

原创 csdn的markdown编辑器如何保持图片原始大小?

一直习惯用csdn的markdown编辑器写博客,因为一般我会用其他markdown编辑器写文章,写好以后本机导入到csdn的markdown编辑器中,比较快捷方便,但是一直有一个问题,我在本地用其他markdown编辑器配的截图显示正常尺寸,但是上传到csdn的markdown以后就变小了,有些截图中的内容就完全看不清了,例如记忆导图的内容,这造成了很大的不便,在网上完全找不到相应的方法,于是就自

2016-04-14 01:06:26 2878 4

hadoop、zookeeper、hbase、spark集群配置文件

搭建hadoop+zookeeper+hbase+spark集群的配置文件和启停命令

2016-09-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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