自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JimGray的博客

古之成大事者,不唯有超世之才,亦唯有坚韧不拔之志也!

  • 博客(48)
  • 资源 (3)
  • 收藏
  • 关注

原创 Spark 中的二次排序Java实现

需求描述:对文本中数据记录进行排序,如果第一行数据记录相同,则根据第二行数据进行排序编程思想描述:首先,将需要将待排序的字段封装成一个类,该实现了Ordered和Serializable 接口,实现接口中的方法。同时为待排序的属性字段提供getter 、setter 、hashcode 以及 equals 方法。在application 应用程序中 将key 封装为之前我们定义好的对象,之后调用so

2016-09-16 16:54:15 1211

原创 Spark 中Transformation 、Action操作 以及RDD的持久化

1、常用的Transformation操作有 map、filter、flatMap、groupByKey、reduceByKey、sortByKey、join、cogroup 2、常用的Action操作有 reduce、collect、count、take、saveAsTextFile、countByKey、foreach 3、RDD的持久化原理    Spark非常重要的一个功能特性就是

2016-09-13 21:16:31 1353

原创 git 使用总结

1、使用git push origin -u master 将本地的仓库master分支和远程仓库master 分支关联 出现异常:$ git push origin -u masterTo [email protected]:JimGray11/Spark-study-java.git ! [rejected] master -> master (fetch first)err

2016-09-11 17:09:13 352

原创 Linux 学习总结(五)

1、crontab 命令详解   crontab命令的功能是在一定的时间间隔调度一些命令的执行   结构描述如下:    * * * * *  /command path   前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段,其中包括了crontab调度执行的命令。 各个字段之间用spaces和tabs分割。前5个字段分别表示: 分钟:0-59

2016-08-29 20:36:56 272

原创 Linux学习总结(六): 正则表达式

1、什么是正则表达式   正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊的符号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。正则表达式基本上是一种“表示法”,只要工具程序支持这种表示法,那么该工具程序就可以用来作为正则表达式的字符串处理之用。常用的工具有vi、grep 、awk 及sed 等。    2、语系对正则表达式的影响

2016-08-26 12:09:20 624

翻译 Spark 工作原理及核心RDD 详解

一、Spark 是什么   Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用分布式并行计算框架。Spark拥有Hadoop MapReduce所具有的优点,但和MapReduce 的最大不同之处在于Spark是基于内存的迭代式计算——Spark的Job处理的中间输出结果可以保存在内存中,从而不再需要读写HDFS,除此之外,一个MapReduce 在计

2016-08-23 20:43:21 10581 2

原创 Linux 常用操作命令总结(七)

1、echo     -n 表示不换行进行输出        echo -n “Linux”        echo “_C”        输出的结果为:Linux_C      -e 处理特殊字符 2、read命令     -

2016-08-23 16:20:19 382

原创 scala 常用基础语法总结(二):mkString 、ArrayBuffer、yield 的使用

1、Array 数组数组声明方式一:val a = new Array[Int](10) 注意: 数组初始化后,长度就固定下来了,而且元素全部根据其类型初始化数组声明方式二:val s=Array("Scala","Java","Pathon")2、ArrayBuffer // 使用ArrayBuffer()的方式可以创建一个空的ArrayBufferval b = ArrayBuffer[I

2016-08-10 21:05:52 3144

原创 Scala常用基础语法总结(一)

1、在spark 中如果没有为一个表达声明变量,默认为res。比如:scala> 1+1res0: Int = 2在实际开发中你常会看到如下代码Try(............) match { case Success(res) => res case Failure(e) => logger.error(s

2016-08-01 20:59:15 682

原创 Spark 优化总结(一)

一、简介   对于spark的优化并不只是从程序入手,而是Spark 优化主要集中在内存、网络IO、和磁盘IO三个方面。即就是driver、executor 的内存和shuffle 的设置,文件系统的配置,集群的搭建,集群和文件系统的搭建。通过对spark的优化,解决了资源的限定、以及性能的提升。 二、常见的优化方法 1、repartition(重分区) and coalesce(合并)

2016-08-01 20:33:08 630

原创 scala 学习总结(一): implicit 函数的使用

1、implicit 常见的用法  关键字implicit用来标记一个隐式定义。编译器才可以选择它作为隐式变化的候选项。你可以使用implicit来标记任意变量,函数或是对象。 1. 使用implicit 可以实现——隐式参数 object ImplicitTest { /** * Implicit实现隐式参数 */ object Context{ imp

2016-07-30 10:32:33 1334

原创 Hive 的性能调优总结

一、优化的常用手段了解数据分布、解决数据倾斜问题减少job数设置合理的map reduce的task数,能有效提升性能。数据量较大的情况下,慎用count(distinct)。对小文件进行合并,是行至有效的提高调度效率的方法。二、 Hive的数据类型方面的优化优化原则   按照一定规则分区(例如根据日期)。通过分区,查询的时候指定分区,会大大减少在无用数据上的扫描, 同时也非常方便数据

2016-06-03 16:10:03 1750

原创 使用Java API 操作Hbase表出现异常:Exception in thread "main" java.lang.NoClassDefFoundError

Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration at com.ywendeng.hbase.HbseTable.(HbseTable.java:23) at java.lang.Class.forName0(Native Me

2016-05-30 21:08:12 2718

原创 HDFS的相关面试题总结

1、hadoop与云计算之间的关系?解析:云计算由位于网络上的一组服务器把其计算、存储、数据等资源以服务的形式提供给请求者以完成信息处理任务的方法和过程。针对海量文本数据处理,为实现快速文本处理响应,缩短海量数据为辅助决策提供服务的时间,基于Hadoop云计算平台,建立HDFS分布式文件系统存储海量文本数据集,通过文本词频利用MapReduce原理建立分布式索引,以分布式数据库HBase存储关键词索

2016-05-25 14:00:30 2662

原创 MySQL优化总结(一):常用优化思路和临时表

一、MySQL 优化思路架构通常情况下,MySQL的优化过程总结如下:1、观察服务器状态, 一般用如下2个命令 Show status; 或者Show processlist;例: mysql> show status; #mysqladmin ext 2、不规则的延迟现象往往是由于效率低下的语句造成的1)查看当前所有连接的工作状态Show processlist;//这个命令是显示当前所

2016-05-19 15:04:45 1551

原创 详解Sqoop的架构和安装部署

一、Sqoop是什么Sqoop 是连接传统关系型数据库和 Hadoop 的桥梁。它包括以下两个方面:   1、 将关系型数据库的数据导入到 Hadoop 及其相关的系统中,如 Hive和HBase。   2、 将数据从 Hadoop 系统里抽取并导出到关系型数据库。 Sqoop 的核心设计思想是利用 MapReduce 加快数据传输速度。也就是说 Sqoop 的导入和导出功能是

2016-05-18 09:11:35 9380

原创 Sql 注入问题总结

一、什么是sql 注入  所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。    示例一:恶意SQL 命令:// 设定$name 中插入了我们不需要的SQL语句$name = "Qadir'; DELETE FROM users;";mysql_query("SELECT * FROM users WHERE

2016-05-14 20:51:42 669

原创 MySQL 常用操作总结(一):表管理和索引创建

一、数据库的操作1、数据库的创建 CREATE DATABASE|SCHEMA [IF NOT EXISTS] db_name [CHARACTER SET ] [COLLATE (排序规则)] 例如: CREATE DATABASE IF NOT EXISTS STUDENT CHARACTER SET ‘utf8’ collate ‘utf8_general_ci’ 2 、 数据库

2016-05-13 20:52:47 491

原创 深入理解海量日志收集利器 Flume

一、Flume是什么  Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。二 、Fulme 有什么特点Fulme 特点如下: 1、可靠性  当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to

2016-05-04 21:54:37 2705

原创 详解kafka架构原理与安装部署

一、什么是kafka  kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。 重点内容 二、kafka架构  Kafka内在就是分布式的,一个Kafka集群通常包括多个broker。为了均衡负载,将话题分成多个分区,每个broker存储一或多个分区。多个生产者和

2016-05-04 17:53:38 659

原创 详解Storm的原理与安装部署

一、Storm 理论基础1、Storm是什么    Storm是一个开源的分布式实时计算系统,可以简单、可靠的处理大量的数据流。被称作“实时的hadoop”。   2、什么场景可以使用Storm   Storm有很多使用场景:如实时分析,在线机器学习,持续计算, 分布式RPC,ETL等等。Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快(在一个小集群中,每个结

2016-05-04 11:51:06 5103

原创 详解 B-Tree 与B+Tree

1、B-TreeB-tree又叫平衡多路查找树。一棵m阶的B-tree (m叉树)的特性如下:1) 树中每个结点至多有m个孩子;2) 除根结点和叶子结点外,其它每个结点至少有[m / 2]向上取整个孩子;3) 若根结点不是叶子结点,则至少有2个孩子(特殊情况:没有孩子的根结点,即根结点为叶子结点,整棵树只有一个根节点);4) 所有叶子结点都出现在同一层,叶子结点不包含任何关键字信息(可以看做

2016-05-03 20:33:25 6162

原创 Java API 与Hbase集群交互常用操作总结

HBase 与 Hadoop 一样,都是用 java 编写的,所以 HBase 对 java 支持是必需的,下面看看怎么使用java 语言对 HBase 进行操作。Java API 核心类总结如下:   1、 HBaseConfiguration 类    HBaseConfiguration 是每一个 HBase Client 都会使用到的对象,它代表 HBase 配置信息。有两种构造方式。p

2016-05-02 17:15:35 4423

原创 详解HBase架构原理及安装部署步骤

一、什么是HBase  HBase 是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群。 HBase 是Google Bigtable 的开源实现,与Google Bigtable 利用GFS作为其文件存储系统类似, HBase 利用Hadoop HDFS 作为其文件存储系统;Google 运行MapReduce 来处理Bi

2016-05-02 10:34:41 7330 1

原创 深入理解Spring AOP

一、AOP的概念  AOP(Aspect Oriented Programming),意思是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的技术。使用AOP技术,可以将一些与系统相关的业务逻辑功能模块,提取出来,独立实现,然后通过切面切入进系统。从而避免了在核心业务逻辑的代码中混入很多的系统相关的逻辑——比如事务管理(Transaction Management)、安全管理(Se

2016-05-01 19:18:35 582

原创 深入理解Spring 依赖注入

一、什么是依赖注入  所谓依赖注入通常是指在运行期,由spring容器动态地将依赖对象注入到应用中。当spring容器启动后,spring容器初始化,创建并管理bean对象,以及销毁它。应用本身是不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了spring容器,控制权的转移就是所谓的反转。所以,我们常常看到 IOC(Inverse of Control)

2016-04-30 17:23:12 2728

原创 详解数据库中的事务、隔离级别、并发控制

一、什么是事务(Transaction)?  事务就是一组原子性的SQL查询,或者说一个独立的工作单元。下面我们通过一个银行用户之间的转账这个经典的例子来理解事务。 假设一个银行的数据库中有两张表:支票(checking)表和储蓄表。现在要从用户Jane的支票账户转移200美元到他的储蓄账户,那么至少需要三个步骤: 1、检查支票账户的余额是否大于200美元 2、从支票账户余额

2016-04-29 17:04:31 769

原创 Hive高级操作总结(一)

一、视图的创建、查看、删除二、索引的创建三、hive中的分区操作四、桶操作

2016-04-28 21:41:17 1875

原创 ThreadLocal类源码解析

一、什么是ThreadLocal  该类提供了线程局部 (thread-local) 变量。这种变量在多线程环境下访问(通过get或set方法访问)时能保证各个线程里的变量相对独立于其他线程内的变量。ThreadLocal 实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联。 例如,以下类生成对每个线程唯一的局部标识符。线程 ID

2016-04-26 22:27:27 337

原创 hadoop 中常见的异常与解决办法

ssh: Could not resolve hostname library: Temporary failure in name resolution put: ._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) runing and no node(s)

2016-04-26 17:08:56 1189

原创 hadoop分布式集群部署步骤总结

一、理论基础( 一)  HA 概念以及作用   HA(High Available), 高可用性群集,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点。当活动节点出现问题,导致正在运行的业务(任务)不能正常运行时,备用节点此时就会侦测到,并立即接续活动节点来执行业务。从而实现业务的不中断

2016-04-25 21:05:17 16885

原创 Hive数据类型及常用操作总结(一)

sort by 不受 hive.mapred.mode 的值是否为 strict 和 nostrict 的影响。sort by 的数据只能保证在同一个 Reduce 中的数据可以按指定字段排序;DISTRIBUTE BY 排序查询 按照指定的字段对数据划分到不同的输出 Reduce 文件中;CLUSTER BY 查询 cluster by 除了具有 distribute by 的功能外还兼

2016-04-24 09:20:42 13481

原创 Linux总结(八):yum与rpm 命令详解

一、yum常用命令 创建本地yum 仓库的步骤 二、rpm常用命令 三 、yum与rpm命令的区别

2016-04-23 14:30:19 853

原创 详解Hive的架构、工作原理及安装步骤

一、Hive是什么?   Hive 是基于 Hadoop 构建的一套数据仓库分析系统,它提供了丰富的 SQL 查询方式来分析存储在 Hadoop 分布式文件系统中的数据, 可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运行,通过自己的 SQL 去 查询分析需要的内容,这套 SQL 简称 Hive SQL。    二

2016-04-23 10:24:17 13223

原创 深入理解Yarn的架构及作业调度机制

一、YARN 架构由什么组成?首先我们来看看 YARN 的架构图,如下图所示。 从 YARN 的架构图来看,它主要由ResourceManager、NodeManager、ApplicationMaster和Container等以下几个组件构成。 1、 ResourceManager(RM)   YARN 分层结构的本质是 ResourceManager。这个实体控制整个集群并管理应用程序

2016-04-22 20:50:45 3899 2

原创 MongoDB总结(三):mongoDB的主从复制、副本集、分布式部署

主从复制  主从复制是MongoDB最常用的复制方式。这种方式非常灵活,可用于备份、故障恢复、读扩展等。   MongoDB的复制至少需要两个服务器或者节点。其中一个是主节点,负责处理客户端请求,其它的都是从节点,负责映射主节点的数据。主节点记录在其上执行的所有操作。从节点定期轮询主节点获得这些操作,然后对自己的数据副本执行这些操作。由于和主节点执行了相同的操作,从节点就能保持与主节点的数据同步。

2016-04-22 19:15:07 1622

原创 深入理解ZooKeeper基本原理及安装部署

**1. ZooKeeper 是什么** ZooKeeper 是一个针对大型分布式系统的可靠协调系统;它提供的功能包括:配置维护、名字服务、分布式同步、组服务等; 它的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。**2. ZooKeeper特点**ZooKeeper 主要包含以下几个特点:1)、最终一致性:为客户端展示同一视图,这是 ZooKeeper

2016-04-21 16:09:21 9708

原创 MongoDB总结(二):mongoDB的索引、备份和恢复、固定集合及数据库安全

在使用mongodump -h dbhost -d dbname -o dbdirectory 进行数据备份时出现以下错误:Wed Apr 20 21:58:00.481 JavaScript execution failed: SyntaxError: Unexpected identifier

2016-04-20 23:30:39 1522

原创 MapReduce编程模型及优化技巧

(一)MapReduce 编程模型(如果你已经了解请直接进入第二部分MapReduce 的优化讲解)  在学习MapReduce 优化之前我们先来了解一下MapReduce 编程模型是怎样的? 下图中红色的标注表示没有加入Combiner和Partitioner来进行优化。   上图的流程大概分为以下几步。   第一步:假设一个文件有三行英文单词作为 MapReduce 的Input(输入

2016-04-20 18:57:07 7291

原创 深入理解MapReduce的架构及原理

MapReduce 定义   Hadoop 中的 MapReduce是一个使用简单的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错式并行处理TB级别的数据集MapReduce 特点    MapReduce 为什么如此受欢迎?尤其现在互联网+时代,互联网+公司都在使用 MapReduce。MapReduce 之所以如此受欢迎,它主要有以下几个特点

2016-04-20 15:43:59 13083 2

Xpath_simples.zip

XML中的XPath使用案例,可以帮助你快速掌握如果快速的读取XML文档中任意元素

2015-07-05

韩顺平java从入门到精通视频教程(全94讲)学习笔

韩顺平java从入门到精通视频教程(全94讲)学习笔,和正在学习韩顺平java从入门到精通视频教程配套使用

2015-07-05

空空如也

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

TA关注的人

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