自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学习,我们是认真的

专注大数据研发,数据分析与挖掘

  • 博客(45)
  • 收藏
  • 关注

转载 如何快速学习一个开源框架

你有个任务,需要用到某个开源项目;或者老大交代你一个事情,让你去了解某个东西。怎么下手呢?如何 开始呢?我的习惯是这样:1.首先,查找和阅读该项目的博客和资料,通过google你能找到某个项目大体介绍的博客,快速阅读一下就 能对项目的目的、功能、基本使用有个大概的了解。2.阅读项目的文档,重点关注类似Getting started、Example之类的文档,从中学习如何下载、安装、甚至 基...

2018-07-22 18:46:03 5796

原创 Linux命令学习笔记

1.echo命令 说明:用于在终端输出字符串或者变量的值 使用方法:echo [字符串 || $变量]实例: echo “HelloWorld” echo $SHELL2.date命令 说明:用于显示或者设置系统的时间以及日期 使用方法:date [选项] [+指定的格式] 实例: date:按照默认格式显示系统当前时间 date “+%Y-%m-%d %H:%M:%S...

2018-07-20 21:35:41 372

转载 一个企业的大数据分析平台的构建方法

导读在搭建大数据分析平台之前,要先明确业务需求场景以及用户的需求,通过大数据分析平台,想要得到哪些有价值的信息,需要接入的数据有哪些,明确基于场景业务需求的大数据平台要具备的基本的功能,来决定平台搭建过程中使用的大数据处理工具和框架。面对海量的各种来源的数据,如何对这些零散的数据进行有效的分析,得到有价值的信息一直是大数据领域研究的热点问题。 大数据分析处理...

2018-07-07 17:23:39 5941

原创 scala学习之基础知识(一)

一.变量与函数定义1.变量定义在

2018-07-02 08:53:25 267

原创 scala系列之类层级关系

一.scala层级结构图  scala语言中所有的类都继承自一个共同的超类Any,是scala类层级的根节点,在其下面有两个子类:AnyVal和AnyRef,其中AnyVal是Scala中所有值类的超类,AnyRef是scala中引用类的超类。而在scala类层级的底部分布着两个特殊的类:NULL类和Nothing类,NULL类属于引用对象类型,位于引用类层级底部,是所有引用类的子类,而Not...

2018-07-02 02:02:56 769

原创 scala学习说明

工作需要开始逐渐学习scala语言,以博客记录自己的学习过程,目前学习参考书籍主要为scala编程和快学scala两本中文翻译书籍(英文水平不行,哈哈),学习主要使用到的工具为JDK1.8.0_1.71,Scala2.12.0,IntelliJ IDEA Community Edition 2018.1.3,安装配置完这三个工具即可。...

2018-06-17 22:19:38 206

转载 大数据学习之路

转载他人博客,原文地址:http://www.cnblogs.com/xing901022/p/6195422.html 大数据学习之路(持续更新中…) 在16年8月份至今,一直在努力学习大数据大数据相关的技术,很想了解众多老司机的学习历程。因为大数据涉及的技术很广需要了解的东西也很多,会让很多新手望而却步。所以,我就在自己学习的过

2017-08-11 16:10:00 612

原创 HDFS原理综述篇

概述HDFS即Hadoop分布式文件系统,主要用于支持海量数据的分布式存储管理,适合一次写,多次读取数据的应用场景。在HDFS文件系统中有几个重要的守护进程协调的运行来提供服务:名称节点进程辅助名称节点进程数据节点进程 HDFS也是主从架构的。运行名称节点进程的服务器我们称之为主节点,运行数据节点进程的服务器称之为从节点。HDFS向外提供一个统一的文件系统命名空间,用户就像使用一个文件系统一

2017-08-11 15:30:03 595

原创 HBase之shell操作

主要介绍一下HBase的相关shell操作hbase shell连接Hbase 连接上Hbase,可以看到版本号help命令查看可用的shell命令使用help命令查看Hbase支持的相关shell命令 create创建表语法格式: create ‘表名’, ‘列族1’,‘列族2’,‘列族n’ 如:create ‘test’, ‘cf1’,‘cf2’put添加记录语法格式: put ‘表名

2017-08-10 13:30:55 787

原创 HBase总结之原理架构篇

概述Hbase是一个分布式的存储系统。Hbase利用Hadoop的HDFS作为其文件存储系统,利用Hadoop的MapReduce来处理Hbase中的海量数据。利用zookeeper作为其协调工具。在Hadoop整个生态系统中的位置关系如下图:特点大:一个表的数据量可以很大,比如有数十亿行,百万列无固定模式:每一行都有一个可排序的主键和任意多的列,列可以根据需要动态增加,同一张表中不同的行可以有

2017-08-10 10:41:29 587

原创 动态规划

台阶问题题目: 有n级台阶,一个人每次上一级或者两级,问有多少种走完n级台阶的方法。为了防止溢出,请将结果Mod 1000000007给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。测试样例: 1 返回:1代码:import java.util.*;public class GoUpstairs { public int countWays(int

2017-08-08 20:54:58 273

原创 二叉树

知识点1.二叉树结构class Node{ int value; Node left; node right; public Node(int data){ this.value = data; }}2.二叉树常考题型易结合队列、栈,数组、链表等数据结构出题掌握图的基本遍历方式,深度优先与广度优先需要掌握递归函数的使用,自己设计递归过程与

2017-08-05 22:01:03 326

原创 Spark性能调优-集群资源分配策略

开发完成Spark作业之后,我们在运行Spark作业的时候需要为其配置一些资源参数,比如num-executors,executor-memory等,这些参数基本上都是可以在spark-submit命令中作为参数设置,但是如何设置合适的参数值是需要我们权衡考虑的(集群资源,调优经验,任务大小等)。参数设置的不合适往往会导致集群资源得不到有效的利用,设置的太大可能会导致资源不够而引发异常,太小的话会使

2017-08-04 11:05:20 3610

原创 二分搜索

局部最小值位置题目: 定义局部最小的概念。arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0]public class Solution { public int getLessIndex(int[] arr) { //特殊情况判断 if(arr==null||arr.length==0){ retu

2017-08-03 22:50:09 203

原创 链表

环形链表插值问题题目: 有一个整数val,如何在节点值有序的环形链表中插入一个节点值为val的节点,并且保证这个环形单链表依然有序。给定链表的信息,及元素的值A及对应的nxt指向的元素编号同时给定val,请构造出这个环形链表,并插入该值。测试样例: [1,3,4,5,7],[1,2,3,4,0],2 返回:{1,2,3,4,5,7}代码:import java.util.*;/*public

2017-08-01 19:14:13 236

原创 Spark源码之reduceByKey与GroupByKey

Spark中针对键值对类型的RDD做各种操作比较常用的两个方法就是ReduceByKey与GroupByKey方法,下面从源码里面看看ReduceByKey与GroupByKey方法的使用以及内部逻辑。官方源码解释:三种形式的reduceByKey总体来说下面三种形式的方法备注大意为: 根据用户传入的函数来对(K,V)中每个K对应的所有values做merge操作(具体的操作类型根据用户定义的函数

2017-07-26 09:53:15 13744 3

原创 栈与队列

Stack栈的基本操作: new Stack():创建一个空栈 push(E e):将元素压入栈,返回值为该元素 pop():将元素弹出栈,返回值为该元素 peek():返回栈顶元素,但是并不从栈中移除该元素 empty():测试栈是否为空,返回boolean值可查询最值的栈问题题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。代码:import java.u

2017-07-25 21:13:07 550

原创 位运算

算术运算符:+ - * / % 位运算符号:& | ^ ~ >> <<等交换练习题题目: 请编写一个算法,不用任何额外变量交换两个整数的值。给定一个数组num,其中包含两个值,请不用任何额外变量交换这两个值,并将交换后的数组返回。测试样例: [1,2] 返回:[2,1]代码:import java.util.*;public class Swap { public int[]

2017-07-25 13:43:01 248

原创 字符串相关

编程语言均为JAVA。字符串面试题类型规则判断:字符串是否符合某个规则 如整数规则,浮点数规则,回文字符串规则; 数字运算 字符串拼大整数的方式实现加减乘除运算,模拟笔算过程。与数组操作相关的类型 (1)数组有关的调整,排序等操作 (2)快排的改写等字符计数 c/c++中字符的ASCII码范围0-255,java中0-65535 (1)哈希表 (2)固定长度的数组 (

2017-07-23 16:41:31 322

原创 Java虚拟机之对象访问

Java虚拟机原理复习笔记-东东 今天主要学习一下Java语言中对象的访问机制,主要参考《深入理解Java虚拟机》这本书。 我们平常写Java程序的时候,创建一个对象实例是非常常见的语句,如Object obj = new Object(),创建完成后,new Object()这部分语义会反映到Java堆中,在堆中形成一块存储了Object类型的所有实例数据值的结构化内存,而此对象的类型数据(

2017-07-21 09:44:13 365

原创 Java虚拟机之内存区域详解

Java虚拟机原理复习笔记-东东 Java虚拟机在运行java程序的时候会将它所管理的内存划分为若干个不同的数据区域,包括以下几个方面:程序计数器区域 较小的内存空间,作用是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型中,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。在java虚拟机中的多线程工作机制里,多线程是通过线程轮流切换并分配处理器执行时间的方

2017-07-19 15:28:01 254

原创 Spark源码解析之任务提交(spark-submit)篇

今天主要分析一下Spark源码中提交任务脚本的处理逻辑,从spark-submit一步步深入进去看看任务提交的整体流程,首先看一下整体的流程概要图: 接下来按照图中结构出发一步步看源码:spark-submit#!/usr/bin/env bash## Licensed to the Apache Software Foundation (ASF) under one or more# con

2017-07-12 09:58:24 12075 4

原创 Spark源码之checkpoint方法解析

今天在阅读Spark源码的时候看到了checkpoint方法,之前也在处理数据的的时候用到过,但是没有深入理解这个方法,今天结合官方文档以及网上博客重新认识了一下这个方法,这里做个总结。主要从两个方面讲解: 1.官方对这个方法的解释 2.这个方法的使用场景checkpoint官方源码以及解释 /** * Mark this RDD for checkpointing. It will b

2017-07-11 13:10:02 356

原创 split函数解析

今天在使用Spark做数据分析时候遇到一个问题,解析文件得到的字段数目总是跟预设的有出入,经过反复排查,发现是scala中split函数使用出现错误导致的,通过查看Java API文档中的split函数解释,才真正的理解split函数的使用,下面分享一下自己的认识。官方API文档解释**1.String[] split(String regex)** Splits this string

2017-07-10 17:13:57 1253

原创 Spark源码之persist方法,cache方法以及StorageLevel

今天看Spark源码的时候看到了persist方法与cache方法,这里就说明一下两者的区别,也解决了自己之前的疑惑。cache方法Spark2.11关于cache方法的源码是这样的: /** * Persist this RDD with the default storage level (`MEMORY_ONLY`). * 缓存RDD,缓存级别为仅在内存中 * 这里的cach

2017-07-07 16:58:54 5424

原创 Spark读Lzo压缩格式的文件

第一种方式:val rdd = sc.newAPIHadoopFile("path/*.lzo",classOf[com.hadoop.mapreduce.LzoTextInputFormat],classOf[org.apache.hadoop.io.LongWritable],classOf[org.apache.hadoop.io.Text]).map(_._2.toString)第二种方式

2017-07-07 14:44:44 3428

原创 scala中break与continue的实现

近日使用scala写Spark程序时候遇到一个问题:在一个循环程序中如何跳出整个循环以及如何跳出本次循环?之前在写Java程序时这两个功能很好实现,即两个关键字:break与continue即可,可是发现Scala中并不支持这两个关键字功能,查了一些资料,发现Scala中定义了一个类可以帮助我们实现这一功能,下面具体介绍scala.util.control.Breaks类实现break与contin

2017-07-06 16:20:30 12326

转载 水塘抽样算法

Reservoir Sampling 蓄水池抽样算法,经典抽样 随机读取数据,如何保证真随机是不可能的,因为计算机的随机函数是伪随机的。但是在不考虑计算机随机函数的情况下,如何保证数据的随机采样呢?1.系统提供的shuffle函数  C++/Java都提供有shuffle函数,可以对容器内部的数据打乱,保持随机排序。  C++:1 tem

2017-07-05 08:24:35 667

转载 Spark性能优化——解决Spark数据倾斜(Data Skew)的N种姿势

转载文章,原文博客地址http://www.jasongj.com/spark/skew摘要本文结合实例详细阐明了Spark数据倾斜的几种场景以及对应的解决方案,包括避免数据源倾斜,调整并行度,使用自定义Partitioner,使用Map侧Join代替Reduce侧Join,给倾斜Key加上随机前缀等。为何要处理数据倾斜(Data Skew)什么是数据倾斜对Spark/Hadoop这样的大数

2017-07-04 16:40:04 338

原创 Spark性能调试之小分区合并

Spark性能调试是使用Spark的用户在进行大数据处理的时候必须面对的问题,性能调优的方法有很多,这里首先介绍一种常见的调优问题-小分区合并问题。小分区合并问题介绍在使用Spark进行数据处理的过程中,常常会使用filter方法来对数据进行一些预处理,过滤掉一些不符合条件的数据。在使用该方法对数据进行频繁过滤或者是过滤掉的数据量过大的情况下就会造成大量小分区的生成。在Spark内部会对每一个分区分

2017-07-04 13:28:20 2341

原创 Windows下Storm+Kafka+Zookeeper单机开发环境搭建测试

本文主要介绍本地模式下实时流测试环境的搭建,这里主要采用Storm+Kafka+Zookeeper架构,具体步骤如下:安装启动Zookeeper,具体步骤见我之前转载的博客http://blog.csdn.net/do_yourself_go_on/article/details/73930809安装启动Kafka,具体步骤见我之前转载的博客http://blog.csdn.net/do_you

2017-06-30 10:08:03 1590

转载 Windows单机配置Zookeeper环境

本文转载自作者sphsyv,原文地址:http://www.jianshu.com/p/f7037105db46 Windows单机配置Zookeeper环境 首先要确保机器已经安装好java环境,并且配置好环境变量http://apache.fayea.com/zookeeper/current/下载后,解压缩到硬盘,我这里解

2017-06-30 09:29:12 932

转载 Windows单机配置Kafka环境

本文转载自作者sphsyv,原文地址:http://www.jianshu.com/p/64d25dcf8300 Windows单机配置Kafka环境 首先确保机器已经安装好Zookeeper,Zookeeper安装参考 Windows单机配置Zookeeper环境然后确保Zookeeper是正常启动状态下载Kafkah

2017-06-30 09:20:01 924

转载 windows下安装storm1.1.0并启动

**文章转载:http://www.cnblogs.com/wuxun1997/p/6866916.html?utm_source=itdadao&utm_medium=referral**  64位windows安装storm前需要先搞定zookeeper和python,所以下面我们3步走:  一、zookeeper  1、上https://zookeeper.apache.org/点击下方d

2017-06-14 16:18:32 2376

原创 Windows下搭建Spark源码阅读与调试环境

了解和使用Spark有一段时间了,但是对Spark的一些原理和内部机制了解的不够深入,故打算研读一下Spark源码。今天首先介绍一下Spark源码阅读与调试环境的搭建。开发工具安装首先是一些必要的工具的安装,这里不一一介绍了,请读者自行提前安装好:(以下工具版本可自行选择,但是要符合Spark版本环境安装要求,可以参考官方文档) - Java1.8 - Scala 2.11.11 - M

2017-06-12 17:32:22 4848

转载 Spark奠基者博士论文中文版

由 CSDN CODE翻译社区 组织的长篇论文翻译An Architecture for Fast and General Data Processing on Large Clusters 经过长达3个月的历程终于全部翻译完成。该论文是Spark主要开发者Matei Zaharia的博士论文,全文共6章,超过4万字,是一部Spark方面的基本文献。从10月底开始,通过 社区招募,先后有35名译者,

2017-06-12 15:07:50 1344

原创 Spark做数据分析:输入法性能指标分析

本文主要介绍如何使用Spark来对输入法用户使用日志数据进行分析,从数据源加载=》数据分析处理逻辑=》代码打包提交集群运行=》运行结果展示几个方面来进行介绍。数据源本文采用的数据是某输入法的用户使用日志数据,数据样本如下图所示: 这里的字段以“~”分割,分别为用户ID,产品ID,平台,版本,渠道,时间,等数据分析案例代码这里以上面数据作为数据源,在用户ID,产品ID,平台,版本与渠道5个维度的基础

2017-06-08 17:32:23 607 1

原创 scala中==,equals,eq与ne比较

记录一下scala中常用的几种比较方法的用法“==”方法的使用及含义首先看一下官方文档给的解释:final def ==(arg0: Any): Boolean //测试两个对象是否相等。表达式x==that含义为:如果x eq null 则为that eq null 否则为x.equals(that) Test two objects for equality. The expre

2017-05-25 22:16:26 7537

原创 排序算法之折半插入排序

折半插入排序算法是对直接插入排序算法的简单改进,主要将折半比较的思想引入插入排序,在一定程度上提高了直接插入排序的效率。算法描述直接插入排序算法中,当第i-1趟需要将第i个元素插入到0~i-1个元素之间时,总是需要从第i-个元素开始,依次与前面的每一个元素进行比较,直至找到合适的位置进行插入。这样比较的过程显然没有利用到0~i-1个元素已经有序这一有效信息,折半插入排序则对此进行了改进。当需要将第i

2017-05-23 17:35:02 11107

原创 排序算法之直接插入排序

根据寻找插入位置的方法对插入排序进行分类可以分为以下三类:直接插入排序折半插入排序希尔插入排序本篇主要介绍直接插入排序算法。算法描述插入排序的核心思想是每步将一个待排序的元素,按照其排序码的大小,插入到前面已经排好序的一组元素的合适位置上,直至元素全部插入完毕为止。如何为一个待排序元素在排好序的元素集合中寻找合适的插入位置是一个关键点,有三种合理的方法可以达到这个目的(这里将待插入元素记为A

2017-05-23 17:28:53 596

空空如也

空空如也

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

TA关注的人

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