自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (2)
  • 收藏
  • 关注

转载 JVM监控与调优

光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之。通过学习,我觉得JVM监控与调优主要的着眼点在于如何配置、如何监控、如何优化3点上。下面就将针对这3点进行学习。     (如果您对Java的内存区域划分和内存回收机制尚不明确,那在阅读本文前,请先阅读我的前一篇博客《Java系列笔记(3) - Java 内存区域和GC机制》,在该博客中,详细

2017-09-19 00:32:28 616 1

原创 Spark日志分析项目Demo(10) --JVM调优

JVM相关的参数,通常情况下,如果你的硬件配置、基础的JVM的配置,都ok的话,JVM通常不会造成太严重的性能问题;反而更多的是,在troubleshooting中,JVM占了很重要的地位;JVM造成线上的spark作业的运行报错,甚至失败(比如OOM)。java虚拟机可能会产生什么样的问题:内存不足??!!我们的RDD的缓存、task运行定义的算子函数,可能会创建很多对象。都可能会占用大量内存,没

2017-09-14 18:32:39 750

原创 Spark日志分析项目Demo(9)--常规性能调优

一 分配更多资源分配更多资源:性能调优的王道,就是增加和分配更多的资源,性能和速度上的提升,是显而易见的;基本上,在一定范围之内,增加资源与性能的提升,是成正比的;写完了一个复杂的spark作业之后,进行性能调优的时候,首先第一步,我觉得,就是要来调节最优的资源配置;在这个基础之上,如果说你的spark作业,能够分配的资源达到了你的能力范围的顶端之后,无法再分配更多的资源了,公司资源有限;那么才是考

2017-09-14 16:51:20 4242 5

原创 Spark机器学习笔记(2)--构建基于Spark的推荐引擎

1 推荐模型的分类推荐系统的研究已经相当广泛,也存在很多设计方法。最为流行的两种方法是基于内容的过滤和协同过滤。另外,排名模型等近期也受到不少关注。实践中的方案很多是综合性的,它们将多种方法的元素合并到一个模型中或是进行组合。 1.1 基于内容的过滤 基于内容的过滤利用物品的内容或是属性信息以及某些相似度定义,来求出与该物品类似的物品。这些属性值通常是文本内容(比如标题、名称、标签及该物品的其他

2017-09-12 15:42:31 893

原创 Spark机器学习笔记(1)--用Python进行数据处理和特征提取

机器学习的流程 公开的数据集 1. UCL机器学习知识库:包括近300个不同大小和类型的数据集,可用于分类、回归、聚类和推荐系统任务。数据集列表位于:http://archive.ics.uci.edu/ml/。 2. Amazon AWS公开数据集:包含的通常是大型数据集,可通过Amazon S3访问。这些数据集包括人类基因组项目、Common Crawl网页语料库、维基百科数据和Goog

2017-09-11 14:36:39 1916

原创 Kafka+Storm+HBase项目Demo(5)--topology,spout,bolt使用

相关概念 1、Topologies 一个topology是spouts和bolts组成的图, 通过stream groupings将图中的spouts和bolts连接起来。2、Streams 消息流stream是storm里的关键抽象。一个消息流是一个没有边界的tuple序列, 而这些tuple序列会以一种分布式的方式并行地创建和处理。通过对stream中tuple序列中每个字段命名来定义st

2017-09-10 16:05:30 922

原创 Kafka+Storm+HBase项目Demo(4)--Kafka使用

第一个需求是按地区实时计算销售额,并进行3D柱图实时展示结果,含周同比。图表的数据3s自动更新。 期望效果 项目的架构:

2017-09-09 19:38:10 1229

原创 Spark日志分析项目Demo(8)--SparkStream,广告点击流量实时统计

广告点击统计需求: (1)对接kafka,获得数据 (2)发现某个用户某天对某个广告的点击量已经大于等于100,写入黑名单,进行过滤 (3)计算广告点击流量实时统计结果 (4)实时统计每天每个省份top3热门广告 (5)实时统计每天每个广告在最近1小时的滑动窗口内的点击趋势(每分钟的点击量)主流程代码public static void main(String[] args) {

2017-09-09 17:35:01 3768 2

原创 Spark日志分析项目Demo(7)--临时表查询,各区域top3热门商品统计

如果是在关系数据库里实现各区域top3热门商品统计,需要编写sql查询语句。 之前用RDD先排序,后获取top的方法实现top n, 下面换成用临时表的sql top查询来实现,流程是: (1)创建SparkConf,构建Spark上下文 (2)注册自定义函数,可以在临时表的sql查询中使用这些函数 (3)准备模拟数据 (4)获取命令行传入的taskid,mysql查询对应的任务参数

2017-09-09 16:41:01 2186

原创 Spark日志分析项目Demo(6)--页面单跳转化率分析

页面单跳转化率这里用例子来解释页面单跳转化率 假设J2EE查询任务指定的页面流是3,2,5 (1)3PV ,跳转页面中前页面为3的统计个数 (2)3_5pv,跳转页面中前页面为3,后页面为5的统计个数 (3)5_2pv,跳转页面中前页面为5,后页面为的统计个数 (4)3_5 rate =3_5pv / 3 pv (5)5_2 rate = 5_2 pv / 3_5 pv 下面结合测试数

2017-09-03 15:29:38 2632

原创 Spark日志分析项目Demo(5)--自定义Accumulator

累加器(accumulator)我们传递给Spark的函数,如map(),或者filter()的判断条件函数,能够利用定义在函数之外的变量,但是集群中的每一个task都会得到变量的一个副本,并且task在对变量进行的更新不会被返回给driver。而Spark的两种共享变量:累加器(accumulator)和广播变量(broadcast variable),在广播和结果聚合这两种常见类型的通信模式上放

2017-09-03 14:48:37 1125

原创 Spark日志分析项目Demo(4)--RDD使用,用户行为统计分析

下面介绍通过日志分析用户行为流程 (1)某个J2EE项目在接收用户创建任务的请求之后,会将任务信息插入MySQL的task表中,任务参数以JSON格式封装在task_param 字段中。这是项目前提,不是本项目的内容。 接着J2EE平台会执行我们的spark-submit shell脚本,并将taskid作为参数传递给spark-submit shell脚本. spark-submit sh

2017-09-01 21:58:12 3833

原创 Spark日志分析项目Demo(3)--Spark入口和DataFrame

我们先从入口main函数说起public static void main(String[] args) { // 构建Spark上下文 SparkConf conf = new SparkConf() .setAppName(Constants.SPARK_APP_NAME_SESSION) .setMa

2017-09-01 20:21:17 1084

原创 设计模式的应用场景(6)--外观模式

外观模式定义:为对外提供一组接口的子系统提供一个统一的界面,使得其他系统对该系统的访问都通过这个统一的界面来完成。优点:通过统一对外接口访问系统,避免了外部系统和子系统之间的直接联系从而降低了系统间的依赖和复杂度。 缺点:限制了外部系统对子系统的灵活调用。使用时机:当一个复杂的系统需要对外提供接口时,就需要将对外提供的接口同一封装在一个外观类里,供外系统使用。

2017-08-28 20:09:57 785

原创 Python机器学习实践指南 笔记(3)--IPO新股买入

这里讨论的是在美股市场,买入什么样IPO新股当天收益最高。

2017-08-22 20:26:25 676

原创 Python机器学习实践指南 笔记(2)-租金预测,寻找低价飞机票

这里直接讨论数据的建模和评估。租金预测目前观察的是Zip 邮政编码和卧室个数 与公寓租金的关系。 数据su_lt_two Rent Beds Baths Sqft Floor Zip 0 1750 1 1.0 NaN NaN 10035 1 3000 2 2.0 1016 2 10031 2 2300 0 1.0

2017-08-22 16:14:02 2436 1

原创 Python机器学习实践指南 笔记(1)-Python机器学习的生态系统

前言:我看的是英文原版第二版,看了这本书后,有这么一些感叹。 “原来许多看上去很难搞的机器学习,可以用简洁的python语言结合机器学习库搞定。而且机器学习的使用范围可以这么广。这本书就涉及到了在公寓、机票、IPO 市场、新闻源、内容推广、股票市场、图像、聊天机器人和推荐引擎等方面的应用,真的是五花八门。” 废话少说,下面是我做的笔记。机器学习的工作流程包括六个步骤:获取,检查和探索,清理和准备

2017-08-21 20:46:06 1589

转载 用Apache Spark进行大数据处理 - 第六部分: 用Spark GraphX进行图数据分析

大数据呈现出不同的形态和大小。它可以是批处理数据,也可以是实时数据流;对前者需要离线处理,需要较多的时间来处理大量的数据行,产生结果和有洞察力的见解,而对后者需要实时处理并几乎同时生成对数据的见解。我们已经了解了如何将Apache Spark应用于处理批数据(Spark Core)以及处理实时数据(Spark Streaming)。有时候,所需处理的数据是很自然地联系在一起的。

2017-07-23 12:02:11 1919

转载 用Apache Spark做大数据处理——第五部分:Spark机器学习数据流水线

在这篇文章中,我们Spark的其它机器学习API,名为Spark ML,如果要用数据流水线来开发大数据应用程序的话,这个是推荐的解决方案。Spark ML(spark.ml)包提供了构建在DataFrame之上的机器学习API,它已经成了Spark SQL库的核心部分。这个包可以用于开发和管理机器学习流水线。它也可以提供特征抽取器、转换器、选择器,并支持分类、汇聚和分簇等机器学

2017-07-22 17:35:08 852

转载 用Apache Spark做大数据处理——第四部分:Spark MLlib机器学习库(英文版)

In this article, we'll discuss machine learning concepts and how to use Apache Spark MLlib library for running predictive analytics. We will use a sample application to illustrate the powerful API Spa

2017-07-22 17:25:10 1314

转载 用Apache Spark进行大数据处理——第三部分:Spark流

介绍在“用Apache Spark进行大数据处理”系列的前两篇文章中,我们看到了Apache Spark框架是什么(第一部分)还有如何使用Spark SQL库访问数据的SQL接口(第二部分)。这些方案是基于批处理模式下静态信息处理的,比如作为一个按小时或天运行的任务。但若是在数据驱动的业务决策场景下,当需要飞快地分析实时数据流以执行分析并创建决策支持时,又该如何呢?使用流式数据

2017-07-22 17:17:11 1923

转载 用Apache Spark进行大数据处理——第二部分:Spark SQL

在Apache Spark文章系列的前一篇文章中,我们学习了什么是Apache Spark框架,以及如何用该框架帮助组织处理大数据处理分析的需求。Spark SQL,作为Apache Spark大数据框架的一部分,主要用于结构化数据处理和对Spark数据执行类SQL的查询。通过Spark SQL,可以针对不同格式的数据执行ETL操作(如JSON,Parquet,数据库)然后完成特定的查询操

2017-07-22 17:11:47 1065

转载 用Apache Spark进行大数据处理——第一部分:入门介绍

什么是SparkApache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架。最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一。与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势。首先,Spark为我们提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数

2017-07-22 15:19:50 1030

原创 Spark日志分析项目Demo(1)--Flume-ng的安装

项目介绍 该项目类似于团购网站的日志处理过程。 离线日志处理: 原始网站日志->Flume-ng采集->HDFS->Hive->Spark离线处理 实时日志处理过程: 原始网站日志->Flume-ng采集->Kafka>Spark实时处理关于Kafka,hive,spark的安装前面已介绍过,下面补充Flume-ng的安装过程。 1、将flume-ng-1.5.0-cdh5.3.6.ta

2017-07-19 20:55:22 720

原创 Kafka+Storm+HBase项目Demo(7)--Trident使用

本文内容部分来自Trident Tutorial。Trident是基于Storm的实时计算模型的高级抽象。它可以实现高吞吐(每秒数百万条消息)的有状态流处理和低延迟分布式查询。如果以前使用过高级批处理工具(比如Pig或Cascading),则对Trident的概念会非常熟悉,比如连接、聚合、分组、功能处理和过滤等。除此之外,Trident还增加了用于在数据库或持久化存储上进行有状态的增量处理的原语。

2017-07-18 20:50:17 1002

原创 Kafka+Storm+HBase项目Demo(6)--前端HTTP长连接实现

项目的思路 事务:运用IPartitionedTridentSpout DRPC:Web端通过DRPC获得结果数据 topN:按销售额排行 基于Hbase存储的Trident state:支持Topo重启时不丢数据,也可支撑Web端读数据 数据获得实现 通过开源Storm-kafka项目提供 采用Storm-kafka 项目中提供的TransactionalTridentKafkaSp

2017-07-17 21:42:56 755

原创 Kafka+Storm+HBase项目Demo(3)--Storm安装配置

Storm安装配置 Storm集群也依赖Zookeeper集群,要保证Zookeeper集群正常运行。Storm的安装配置比较简单,我们仍然使用下面3台机器搭建:192.168.1.101 cdh1192.168.1.102 cdh2192.168.1.103 cdh3首先,在cdh1节点上,执行如下命令安装:cd /usr/local/wget http://mirror.bi

2017-07-16 17:31:37 413

原创 Kafka+Storm+HBase项目Demo(2)--Kafka环境搭建

下面安装Kafka Kafka是LinkedIn开源出来的一个高吞吐的分布式消息系统。使用scala开发,支持多语言客户端(c++、java、python等) Broker:消息中间件处理结点,一个kafka节点就是一个broker Producer:消息发布者 Consumer:消息订阅者搭建步骤 1. Kafka下载: wget https://archive.apache.org

2017-07-15 16:01:49 611

原创 Kafka+Storm+HBase项目Demo(1)--CDH搭建hadoop集群

这是一个类似淘宝双11大屏幕的Demo项目 。kafka+storm+hbase整合:kafka作为分布式消息系统,实时消息系统,有生产者和消费者;storm作为大数据的实时处理系统;hbase是apache hadoop 的数据库,其具有高效的读写性能。Cloudera的CDH和Apache的Hadoop的区别 目前而言,不收费的Hadoop版本主要有三个(均是国外厂商),分别是:Apache(

2017-07-14 22:11:36 2233 1

原创 Storm原理

并发机制 对于并发度的配置, 在storm里面可以在多个地方进行配置, 优先级为: defaults.yaml < storm.yaml < topology-specific configuration < internal component-specific configuration < external component-specific configuration w

2017-07-13 21:06:28 343

原创 Kafka集群部署

Kafka是什么 在流式计算中,Kafka一般用来缓存数据。 - Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。 - Kafka最初是由LinkedIn开发,并于2011年初开源。2012年10月从Apache Incubator毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。 - Kafka是

2017-07-12 23:37:25 306

原创 Storm架构

Storm是什么? Storm的主工程师Nathan Marz表示: Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm用于实时处理,就好比 Hadoop 用于批处理。Storm保证每个消息都会得到处理,而且它很快——在一个小集群中,每秒可以处理数以百万计的消息。更棒的是你可以使用任意编程语言来做开发。Storm与Hadoop的区别 Storm用于实时计算,Hadoop

2017-07-10 22:00:14 263

原创 Spark的standalone模式部署

Spark运行模式Spark 有很多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则运行在集群中,目前能很好的运行在 Yarn和 Mesos 中,当然 Spark 还有自带的 Standalone 模式,对于大多数情况 Standalone 模式就足够了,如果企业已经有 Yarn 或者 Mesos 环境,也是很方便部署的。local(本地模式):常用于本地开发

2017-07-07 23:24:15 559

原创 Hbase集群安装

参考 http://blog.csdn.net/zhi_fu/article/details/73929896 安装Hadoop安装Hbase1.下载hbase版本    下载地址:http://www.apache.org/dyn/closer.cgi/hbase/,在此路径下选择相应的版本下载,本次安装下载hadoop1.0.0版本2.解压hbase

2017-07-07 04:00:05 308

原创 Hive安装

Hive 三种模式• 内嵌模式:元数据保持在内嵌的derby模式,只允许一个会话连接。• 本地独立模式:在本地安装Mysql,元数据放到mySql内• 远程模式:元数据放置在远程的Mysql数据库下面介绍本地独立模式安装1.下载解压http://hive.apache.org/downloads.htmltar -xzvf apache-hive-2.1.1-bin

2017-07-02 21:39:38 258

转载 关于Hadoop的12个事实

事实1:Hadoop是由多个产品组成的。  人们在谈论Hadoop的时候,常常把它当做单一产品来看待,但事实上它由多个不同的产品共同组成。  Russom说:“Hadoop是一系列开源产品的组合,这些产品都是Apache软件基金会的项目。”  一提到Hadoop,人们往往将其与MapReduce放在一起,但其实HDFS和MapReduce一样,也是Hadoop的基础。   事实

2017-07-02 16:56:39 316

原创 Hadoop HA高可用集群原理和搭建

概念HDFS HA通常由两个NameNode组成,一个处于Active状态,另一个处于Standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步Active NameNode的状态,以便能够在它失败时快速进行切换。Hadoop 2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM。这里我们使用简单的QJM

2017-07-02 09:23:19 441

原创 Hadoop集群2.X安装配置

hadoop完全分布式和伪分布式有什么不同hadoop完全分布式:3个及以上的实体机或者虚拟机组件的机群。hadoop伪分布式:一个子节点下面以hadoop伪分布式为例,Hadoop 集群的安装配置大致为如下流程:假设需要搭建1 Master,1 Slave1.网络配置2.安装JDK3.创建专门用户hadoop,配置ssh免登录4.Master安装h

2017-06-30 03:51:50 384

原创 Storm集群安装

Storm集群的安装分为以下几步:1、下载,释放安装包首先去Apache Storm官网下载安装包,网址是:http://storm.apache.org/,进入后点击上方DOWNLOAD按钮,进入下载列表这里下载的是storm 0.9.5的版本,下载之后上传到服务器目录下,释放并且放到指定的目录:$ tar -xvzf apache-storm-0.9.5.tar

2017-06-29 01:01:30 280

原创 mongodb的一些tips

1 数据冗余是为了性能,引用数据是为了完整性。决定使用嵌入式结构还是使用引用式结构,可以参考下面的因素:为很少发生变化的数据,每次都是再次读取,你是否愿意付出这样的代价?一致性有多重要?是否需要更快的读取速度?"2 如果你想你的数据为不会过时的技术服务的话,请使用引用式结构3  尽量使用一次查询获取所需的数据4  嵌入依赖的字段。例如连接表作为嵌

2017-03-28 22:31:31 343

从零开始Spring Boot

从零开始Spring Boot,通过实战快速入门。Spring Boot不是一门新技术,所以不用紧张。从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。

2018-04-26

JAVA编程Bruce Eckel

本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。 [2] 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。

2018-03-31

空空如也

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

TA关注的人

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