自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 收藏
  • 关注

转载 HBase中LSM的思想

我们首先介绍一下B+树:Oracle的普通索引就是采用B+树的方式;根节点和枝节点很简单,分别记录每个叶子节点的最小值,并用一个指针指向叶子节点。叶子节点里每个键值都指向真正的数据块(如Oracle里的RowID),每个叶子节点都有前指针和后指针,这是为了做范围查询时,叶子节点间可以直接跳转,从而避免再去回溯至枝和跟节点。B+树最大的性能问题是会产生大量的随机IO,随着新数

2017-09-07 10:21:42 780

原创 大数据相关面试问题

面试问题1.       Innnodb和MyIASM的区别Innodb引擎Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别。该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQL后台的完整数据库系统,MySQL运行时Innodb会在内存中建立缓冲池,用于缓冲数据和索引。但是该引擎不支持FULLTEXT类型的

2017-08-23 09:43:45 1515

转载 深入解析ConcurrentHashMap的实现原理

术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地

2017-07-26 10:00:32 1930

转载 MySQL的btree索引和hash索引的区别

ash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可 能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Hash 索

2017-07-25 20:51:43 610

转载 数据库事务隔离级别-- 脏读、幻读、不可重复读

一、数据库事务隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。√: 可能出现    ×: 不会出现脏读不可重复读幻读Read un

2017-07-25 19:59:12 1025

转载 spark中RDD的转化操作和行动操作

本文主要是讲解spark里RDD的基础操作。RDD是spark特有的数据模型,谈到RDD就会提到什么弹性分布式数据集,什么有向无环图,本文暂时不去展开这些高深概念,在阅读本文时候,大家可以就把RDD当作一个数组,这样的理解对我们学习RDD的API是非常有帮助的。本文所有示例代码都是使用scala语言编写的。  Spark里的计算都是操作RDD进行,那么学习RDD的第一个问题就是如何构建RD

2017-07-25 10:35:56 9377

原创 Linux中软连接和硬连接的区别

1.Linux链接概念     首先我Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。     我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),

2017-07-24 16:15:50 2323

转载 Zookeeper选举过程

在上一篇文章中我们大致浏览了zookeeper的启动过程,并且提到在Zookeeper的启动过程中leader选举是非常重要而且最复杂的一个环节。那么什么是leader选举呢?zookeeper为什么需要leader选举呢?zookeeper的leader选举的过程又是什么样子的?本文的目的就是解决这三个问题。首先我们来看看什么是leader选举。其实这个很好理解,leader选举就像总统

2017-07-22 10:25:40 660

转载 基于Zookeeper的Hadoop HA实现

非HA弊端HDFS集群的分布式存储是靠namenode节点(namenode负责响应客户端请求)来实现。在非HA集群中一旦namenode宕机,虽然元数据不会丢失,但整个集群将无法对外提供服务,导致HDFS服务的可靠性不高,这在实际应用场景中显然是不可行的。HA机制已知导致服务可靠性不高的原因是namenode节点宕机,那么怎么才能避免这个namenode节点宕机呢?一个容易想到的解决

2017-07-21 22:19:33 836

转载 HBase的表结构

逻辑视图 HBase以表的形式存储数据。表有行和列组成。列划分为若干个列族(row family)Row Keycolumn-family1column-family2column-family3column1column1column1column2column3column1key1t1:abct2

2017-07-21 20:35:03 3702

原创 hadoop面试常见问题及相关总结

1.       Map任务将其输出写入本地磁盘,而非HDFS,为什么?答:因为map的输出是中间结果:该中间结果由reduce任务处理后才产生最终的结果。而且一旦作业完成,map的输出结果就可以删除。因此如果把它存储在HDFS中并实现备份,难免有小题大做。2.       为什么最佳分片大小应该和块(block)大小相同(hadoop2.x默认是128Mb,hadoop1.x是64M

2017-07-21 14:29:02 1317

转载 OSI七层协议和TCP/IP四层协议比较

网络协议设计者不应当设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议。这样做使得每个协议的设计、分析、时限和测试比较容易。协议划分的一个主要原则是确保目标系统有效且效率高。为了提高效率,每个协议只应该注意没有被其他协议处理过的那部分通信问题;为了主协议的实现更加有效,协议之间应该能够共享特定的数据结构;同时这些协议的组合

2017-07-21 10:11:44 1696

转载 TCP / Http区别

TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己

2017-07-19 16:13:49 1167

转载 MySQL中视图和普通表的区别

1.视图是数据库数据的特定子集。可以禁止所有用户访问数据库表,而要求用户只能通过视图操作数据,这种方法可以保护用户和应用程序不受某些数据库修改的影响。2.视图是抽象的,他在使用时,从表里提取出数据,形成虚的表。 不过对他的操作有很多的限制 。3. 而且视图是永远不会自己消失的除非你删除它。 4.视图有时会对提高效率有帮助。临时表几乎是不会对性能有帮助,是资源消耗者。 5.视

2017-07-17 21:14:58 5491

转载 MySQL的存储过程和存储函数(UDF)的区别

MySQL存储过程/存储过程与自定义函数的区别语法:创建存储过程:CREATE [definer = {user|current_user}] PROCEDURE sp_name ([ proc_parameter [,proc_parameter ...]]) [ characteristics..] routime_body其中:proc_paramet

2017-07-17 19:29:40 1437

转载 java的三大特性之-----多态!

面向对象编程有三大特性:封装、继承、多态。封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开:所谓多态就是指程序中定义

2017-07-13 09:14:50 314

转载 java中静态块和静态变量的加载顺序

public class test { //1.第一步,准备加载类 public static void main(String[] args) { new test(); //4.第四步,new一个类,但在new之前要处理匿名代码块 } st

2017-07-12 21:42:40 2388

转载 java多线程

引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。很多人都对其中的一些

2017-07-12 20:19:18 324

转载 软件架构之 23种设计模式

1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客

2017-07-10 09:09:05 675

转载 前序遍历 中序遍历 后序遍历

只要是搞计算机的,对数据结构中二叉树遍历都不陌生,但是如果用到的机会不多那么就会慢慢淡忘,温故而之新才是最好的学习方式,现在就重新温习一下这方面的知识。首先我想先改变这几个遍历的名字(前根序遍历,中根序遍历,后根序遍历);前中后本来就是相对于根结点来说的,少一个字会产生很多不必要的误解。  1. 前根序遍历:先遍历根结点,然后遍历左子树,最后遍历右子树。ABDHECFG2.

2017-07-06 17:17:45 2008

原创 打印从1到n的整数

看到这个题目,最先想到的就是直接一个for循环输出不就完了吗?这个只是在n不大的情况下,如果n很大那么就不能实现了关于大数问题最终将转化到字符串上面来,下面是用字符串打印1到n的整数package 剑指Offer;/* * 打印1到N的数 * * */public class Top12 { public static void main(String[] arg

2017-06-12 20:35:59 2176

转载 java实现单例模式

java设计模式--单例模式 单例设计模式Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。核心知识点如下:(1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。(2) 在其内部产生该类的实例化对象,并将其封装成private static类型。

2017-06-12 09:20:46 330

转载 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)

机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)[email protected]://blog.csdn.net/zouxy09        机器学习算法与Python实践这个系列主要是参考《机器学习实战》这本书。因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学习算法。

2017-06-11 21:23:41 689

转载 逻辑回归与梯度下降

Logistic回归为概率型非线性回归模型,是研究二分类观察结果与一些影响因素之间关系的一种多变量分析方法。通常的问题是,研究某些因素条件下某个结果是否发生,比如医学中根据病人的一些症状来判断它是否患有某种病。 在讲解Logistic回归理论之前,我们先从LR分类器说起。LR分类器,即Logistic Regression Classifier。在分类情形下,经过学习后的LR分

2017-06-11 21:05:52 2697

转载 flatmap和map的区别

map()是将函数用于RDD中的每个元素,将返回值构成新的RDD。flatmap()是将函数应用于RDD中的每个元素,将返回的迭代器的所有内容构成新的RDD,这样就得到了一个由各列表中的元素组成的RDD,而不是一个列表组成的RDD。有些拗口,看看例子就明白了。val rdd = sc.parallelize(List("coffee panda","happy panda","

2017-06-11 16:30:52 15299

转载 Spark RDD API详解

RDD是什么?RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD。从编程的角度来看,RDD可以简单看成是一个数组。和普通数组的区别是,RDD中的数据是分区存储的,这样不同分区的数据就可以分布在不同的机器上,同时可以被并行处理。因此,Spark应用程序所做的无非是把需要处理的数据转换为RDD,然后对RDD进行一系列的变换和操作从而得到结果。本文为第一部分,将介绍S

2017-06-11 16:13:58 343

原创 Hive的托管表和外部表

在Hive中创建表时,默认情况下Hive负责管理数据。这意味着Hive把数据移入到它的“仓库目录”。另外一种选择是创建一个“外部表”(external table)。这会让Hive到仓库目录以外的位置去访问数据。这两种表的区别表现在LOAD和DROP命令的语义上。先来看托管表(managed table)。加载数据到托管表时,Hive把数据移到仓库目录。例如:CREATE TA

2017-06-09 19:01:08 3367

原创 sparkStreaming Window

package com.spark.study.streaming;import java.util.List;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.function.Function;import

2017-06-05 21:07:07 591

原创 spark实时计算kafka消息队列中的wordcount

package sparkTestJava;import java.util.Arrays;import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set;import kafka.serializer.StringDecoder;import org.apa

2017-06-05 16:34:41 1968

原创 SparkStreaming实现HDFS的wordCount(java版)

利用sparkstreaming实现hdfs文件系统中的某个目录下的wordcount代码如下:package sparkTestJava;import java.util.Arrays;import org.apache.spark.SparkConf;import org.apache.spark.api.java.function.FlatMapFunction;impo

2017-06-05 15:36:52 2317 2

原创 python、scala、java分别实现在spark上实现WordCount

下面分别贴出python、scala、java版本的wordcount程序:python版:import loggingfrom operator import addfrom pyspark import SparkContextlogging.basicConfig(format='%(message)s', level=logging.INFO)#import lo

2017-06-05 11:40:04 1775

转载 从分布式一致性谈到CAP理论、BASE理论

问题的提出在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。1、火车站售票假如说我们的终端用户是一位经常坐火车的旅行家,通常他是去车站的售票处购买车票,然后拿着车票去检票口,再坐上火车,开始一段美好的旅行----一切似乎都是那么和谐。想象一下,如果他选择的目的地是杭州,而某一趟开往杭州的火车只剩下最后一张车票,可能在同一时刻,不同售票窗口的另一位

2017-06-04 22:42:25 339

转载 Hadoop NameNode 高可用 (High Availability) 实现解析

Hadoop NameNode 高可用 (High Availability) 实现解析WeiboGoogle+用电子邮件发送本页面 0NameNode 高可用整体架构概述在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDFS NameNode 和 JobTracker 都存在着

2017-06-04 21:54:07 653

原创 基于zookeeper的Spark高可用集群配置

首先我们这里配置的三台机器的集群 名称分别为hadoop、hadoop1、hadoop2首先是安装Zookeeper:(1)下载Zookeeper:http://apache.claz.org/zookeeper ... keeper-3.4.5.tar.gz(2)解压到/root/install/目录下(3)创建两个目录,一个是数据目录,一个日志目录 (4

2017-06-01 16:27:31 2522

转载 kafka文件存储机制那些事

Kafka文件存储机制那些事“悠悠香草” ·2015-01-13 16:00Kafka是什么Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级

2017-05-31 17:31:09 706

原创 Spark on yarn和Hadoop on yarn的区别

Apache Spark 的高性能一定程度上取决于它采用的异步并发模型(这里指server/driver 端采用的模型),这与 Hadoop 2.0(包括 YARN 和MapReduce)是一致的。Hadoop 2.0 自己实现了类似 Actor 的异步并发模型,实现方式是 epoll+状态机,而 Apache Spark 则直接采用了开源软件Akka,该软件实现了 Actor 模型,性能非常高。

2017-05-31 10:30:59 3465

原创 Spark术语解释

Spark术语解释Application:基于Spark的用户程序,包含了driver程序和集群上的executorDriver program:运行main函数并且创建SparkContext的程序Cluster Manager:在集群上获取资源的外部服务(例如standlone,Mesos,Yarn)Worker Node:集群中

2017-05-27 10:21:01 736

原创 Spark的几种运行模式及shell测试

Spark的几种运行模式:local单机模式:结果xshell可见:./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[1] ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100standalone集群模式:需要的配置项

2017-05-25 22:09:27 3200

原创 Sqoop进行数据导入导出

Sqoop是用来进行数据导入导出的工具,一般用在hadoop这个框架中,常用的应用场景有将mysql数据库中的数据导入HDFS或者Hive、Hbase,或者从后者中导出到关系型数据库中,下面将进行几段代码的演示导入和导出的过程。将mysql中的数据导入到hadoop集群上(HDFS):首先将脚本命令贴出:./sqoop import --connect jdbc:mys

2017-05-25 14:34:33 3003

转载 Zookeeper全解析——Paxos作为灵魂

那么ZK Server最基础的东西是什么呢?我想应该是Paxos了。所以本文会介绍Paxos以及它在ZK Server中对应的实现。先说Paxos,它是一个基于消息传递的一致性算法,Leslie Lamport在1990年提出,近几年被广泛应用于分布式计算中,Google的Chubby,Apache的Zookeeper都是基于它的理论来实现的,Paxos还被认为是到目前为止唯一的分布式一致性算

2017-05-22 21:30:03 571

空空如也

空空如也

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

TA关注的人

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