大数据
小飞猪小肥猪
这个作者很懒,什么都没留下…
展开
-
Spark的指令
Master节点存在单点故障,要解决此问题,就要借助zookeeper,,并且启动至少两个Master节点来实现高可靠,配置方式比较简单 :1.安装配置zk集群,并启动zk集群 zkServer.sh start2.在root1上执行sbin/start-all.sh脚本,然后在min2上执行sbin/start-master.sh启动第二个Master3. 进入spark/bin...原创 2019-01-09 20:51:32 · 431 阅读 · 0 评论 -
Scala的继承
6.3.1 扩展类在Scala中、扩展类的方法和Java一样都是使用extends关键字6.3.2 重写方法在Scala中重写一个非抽象的方法必须使用override修饰符6.3.3 类型检查和转换6.3.4 超类的构造 trait相当于java中抽象类,它们的区别是 trait可以在抽象类写入方法,也可以不写,再继承后写,根据当时编码情况 一个抽象类中可以有多个...原创 2019-01-04 21:31:36 · 699 阅读 · 0 评论 -
Scala的apply方法
.通常会在类的伴生对象中定义apply方法,当遇到类名(参数1,....参数n)时,apply方法会被调用package pricateobject ApplyDemo { def main(args: Array[String]): Unit = { //调用了array伴生对象的apply方法 //def apply(x:Int,xs:Int*)Arra[Int]...原创 2019-01-04 21:02:27 · 307 阅读 · 0 评论 -
Scala的单例模式
Scala的单例模式在Scala中没有静态方法和静态字段,但是可以使用object这个语法结构来达到同样的目的1.存放工具方法和常量2.高效共享单个不可变的实例 3. 单例模式 package pricateimport scala.collection.mutable.ArrayBufferobject SingletonDemo { def main(ar...原创 2019-01-04 20:44:27 · 2563 阅读 · 1 评论 -
Scala的伴生对象
Scala的伴生对象 在Scala的类中,与类名相同的对象叫做伴生对象,类和伴生对象之间可以相互访问私有的方法和属性 ,伴生对象可以调用类中方法和参数。package pricateclass Dog { val id=1 private var name="小猪猪" def printName(): Unit ={ //在Dog类中可以访问伴生对象Dog的私有属性...原创 2019-01-04 20:26:27 · 326 阅读 · 0 评论 -
Scala的构造器
Scala的构造器注意:主构造器会执行类定义中的所有语句 实例一/** *每个类都有主构造器,主构造器的参数直接放置类名后面,与类交织在一起 */class Student(val name: String, val age: Int){ //主构造器会执行类定义中的所有语句 println("执行主构造器") try { println("读取文件...原创 2019-01-04 20:02:38 · 210 阅读 · 0 评论 -
Scala类的定义
package pricate//在scala中,类并不用声明为public//scala源文件中可以包含多个类,所有这些类都具有公有客可见性class Person {//用scala修饰的变量是只读属性,有gettter但没有setter //相当于java中用final修饰的变量 val id="9527" //用var修饰的变量既有getter又有setter v...原创 2019-01-04 19:26:04 · 1097 阅读 · 0 评论 -
Scala练习
//创建一个列表//将lst0中每个元素乘以10后生成一个新的集合 //将lst0中的偶数取出来生成一个新的集合 //将lst0排序后生成一个新的集合//反转顺序 ...原创 2018-12-29 16:25:40 · 386 阅读 · 0 评论 -
Scala 进行算数运算
聚合函数1. 先创建一个集合2. 求和3.最大值4.最小值5. 相加5.2 a.fold //聚合时要将初始值累加进去5.3 a.par.fold(10) //并行执行(并行化),初始值每个线程都加10,每次运行结果不一样5.4 左加5.5 右加6.迭代a.reduce(_+_) 第一个_是初始值,或者为1+2=...原创 2018-12-29 15:51:24 · 2066 阅读 · 0 评论 -
Scala练习题 对单词进行统计
1.创建类型为String的list集合2. 将list集合按“ ”(空格)进行分割 将list中的元素都进行分割,一个String类型的内容按(“ ”)分割3.将res6进行分割合并,将两个Array合并成一个list4. 上两步的优化。flatMap 分割压平5. 1 根据以上步骤思考,进行单词统计,需要转换成Map才可以根据<K,V>进行统计...原创 2018-12-29 15:19:35 · 730 阅读 · 0 评论 -
Scala
Scala概述1.什么是Scala? Scala是一种多范式的编程语言,其设计的初衷是要继承面向对象编程和函数式编程的各种特性。Scala运行于Java平台(java虚拟机),并兼容现有的java程序。2. 为什么要学Scala1.优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。2. 速度快:Scala语言表达式能力强,一行...原创 2019-01-03 17:14:46 · 167 阅读 · 0 评论 -
Storm单词技术案例
功能说明:设计一个topology,来实现对文档里面的单词出现的频率进行统计整个totopolgy分为三个部分:1. RandomSentenceSpout:数据源,在已知的英文句子中,随机发送一条句子出去。2. SplitSentenceBolt : 负责将单行文本记录(句子)切分为单词.3. WordcountBolt :负责对单词的频率进行累加7.6、Stream G...原创 2018-12-21 17:46:58 · 234 阅读 · 0 评论 -
Scala模式匹配和样例类
Scala模式匹配和样例类Scala有一个十分强大的模式匹配机制,可以应用到很多场合,如switch语句、类型检查等,并且scala还提供了样例类,对模式匹配进行了优化,可以快速匹配 1.匹配字符串package pricateimport scala.util.Randomobject CaseDemo01 extends App { val arr=Array("鲁班",...原创 2019-01-05 10:12:12 · 272 阅读 · 0 评论 -
Scalad的样例类
在Scala中样例类是一中特殊的类,可用于模式匹配。case class是多例的,后面要跟构造参数,case object是单例的package pricate.超类import Scala_2019_01_04Match.{CheckTimeOutTask, HearBeat, SubmitTask}import scala.util.Random//在Scala中样类是一种特殊的类...原创 2019-01-05 10:16:32 · 254 阅读 · 0 评论 -
Spark中RDD是什么?
一、RDD是什么?RDD是一个弹性可复原的分布式数据集!RDD是一个逻辑概念,一个RDD中有多个分区,一个分区在Executor节点上执行时,他就是一个迭代器。一个RDD有多个分区,一个分区肯定在一台机器上,但是一台机器可以有多个分区,我们要操作的是分布在多台机器上的数据,而RDD相当于是一个代理,对RDD进行操作其实就是对分区进行操作,就是对每一台机器上的迭代器进行操作,因为迭代器引用...转载 2019-01-09 20:37:27 · 178 阅读 · 0 评论 -
Spark
1.什么是spark? http://spark.apache.org/ 官网Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分销AMPLap,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。目前,Spark生态系统已经发展成为多个子项目的集合,其中包含SparkSQL、Spark Streaming、Gr...原创 2019-01-09 19:50:59 · 173 阅读 · 0 评论 -
Scala编程实战 RPC
1. 熟练使用Scala编写程序2. 项目概述 2.1 需求 目前大多数的分布式架构层通信都是通过RPC实现的,RPC架构非常多,比如Hadoop项目的RPC通信框架,但是Hadoo在设计之初就是为了运行长达数小时的批量而设计的,在某些极端的情况下,任务提交的延迟很高,所有Hadoop的RPC显得有些笨重 Spark的RPC是通过AKKa类库实现的,Akka用Scala语言开发...原创 2019-01-08 21:29:02 · 320 阅读 · 0 评论 -
基于Scala的Actor对字进行统计
基于Scala的Actor对字进行统计 用actor并发编程写一个单机版的WorldCount,将多个文件作为输入,计算完成后将多个任务汇总,得到最终的结果package com.zhiyou100.ScalaActor_akkaimport scala.actors.{Actor, Future}import scala.collection.mutableimport sc...原创 2019-01-08 20:33:31 · 166 阅读 · 0 评论 -
Scala Actor的并发编程
1.什么是Scala Actor概念 Scala中的Actor能够实现并行编程的强大功能,它是基于事件模型的并发机制,Scala是运用消息(massage)的发送,接收来实现多线程的,使用Scala能够更能够地实现多线程应用的开发。2.1传统java并发编程与Scala Actor编程的区别'2.2 对于Java,它的多线程实现需要对共享资源(变量,对象等)使用synchroniz...原创 2019-01-08 19:23:17 · 897 阅读 · 0 评论 -
离线处理网站的PV,UV方案
流程: 导入数据hdfs(flume-->hdfs) 建立hive表 把hdfs上的数据导入到hive表里面 数据清洗-->(先有一个数据清洗表) 数据分析,数据统计-->存放一张表里面 把hive表的数据导出到,mysql中 把mysql里面的㐇给查出来,展示到页面 何为PV?PV(page vi...转载 2019-01-17 21:31:22 · 419 阅读 · 0 评论 -
基于Spark下的查询数据库中信息Demo
import java.sql.DriverManager import org.apache.spark.rdd.JdbcRDDimport org.apache.spark.{SparkConf, SparkContext} object JDBCRDDDemo extends App { val conf = new SparkConf().setAppName("JDBC...转载 2019-01-17 21:25:14 · 415 阅读 · 0 评论 -
基于Spark下的wordCount的Demo
import org.apache.spark.{SparkConf, SparkContext}object WordCount { def main(args: Array[String]): Unit = { val cofg = new SparkConf().setAppName("WC").setMaster("local[2]"); val ...原创 2019-01-17 21:15:49 · 207 阅读 · 0 评论 -
Spark计算模型之熟练使用RDD的算子完成计算 ----tranfoemation
Spark计算模型之熟练使用RDD的算子完成计算 ----tranfoemation1.弹性分布式数据集RDD 1.1什么是RDD RDD(Rsedilient Distributed Dataaset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用...原创 2019-01-10 21:39:51 · 318 阅读 · 0 评论 -
Scala偏函数
被包含在花括号内没有match的一组case语句是一个偏函数,它是PartialFunction[A,B]的一个实例,A代表参数类型,B代表返回类型,常用作输入模式匹配package pricateobject PartialFuncDemo { def func1:PartialFunction[String,Int]={ case "one"=>1 case...原创 2019-01-05 10:41:20 · 111 阅读 · 0 评论 -
Scala的Option类型
在Scala中Option类型样例类用来表示可能存在或也可能不存在的值(Option的子类有Some和None)。Some包装了某个值,None表示没有值package pricate.超类object OptionDemo { def main(args: Array[String]): Unit = { val map=Map("a"->1,"b"->2) ...原创 2019-01-05 10:22:57 · 414 阅读 · 0 评论 -
sqoop数据
概述:sqoop 是apache旗下一款“Hadoop”和关系数据库服务器之间传送数据“的工具。导入数据:MySQL,Orale导入数据到Hadoop的HDFS,HIVE,HSASE等数据存储系统;导出数据:从Hadoop的的文件系统中导出数据到关系数据库。 工作机制:将导入或导出命令翻译成mapreduce程序来实现在翻译出的mapreduce中主要...原创 2018-12-11 21:15:25 · 177 阅读 · 0 评论 -
sqoop将数据库的内容在HDFS的上传、下载
sqoop上传、下载文件的环境必须是在hadoop运行的前提下,所以需要先启动hadoop1.在数据库建立表empcreate table emp(id int(4),name varchar(20));2.查看表的内容 select * from emp;3.Sqoop import; 普通的上传./bin/sqoop import --connect jdbc:my...原创 2018-12-11 20:55:58 · 150 阅读 · 0 评论 -
Flume
1.日志采集框架Flume缓存 1.1.1 概述 1.Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输。 2.Flume可以采集文件,socket数据包等各种形式源数据,又可以将采集到的数据输出到HDFS、hbase、hive、kafka等众多外部存储系统中。 3.一般的采集需求,通过对flume的简单配置即可实现。 4.Flume针对特殊场景也具备良好的自定义扩展能力...原创 2018-12-11 19:56:54 · 419 阅读 · 0 评论 -
hbase读写原理(2)
HBase的原理7.1体系图7.2写流程 客户端向HregionServer发送请求 HregionServer将数据写到hlog(提前写入日志)。为了数据的持久化和恢复 HregionServer将数据写到内存(memstore) 反馈客户端写成功。7.1.2数据flush过程7.2 当memstore数据达到阈值(默认是64M), 将数据刷硬盘,将内存中...原创 2018-12-13 21:29:45 · 324 阅读 · 0 评论 -
HBase的读写原理
写操作流程:客户端通过zookeeper的调度,向Hregion Server发送写数据的请求,在HRegion中写数据。 数据写入Hregion的Menstore,直到Menstore达到预定的阈值。 Menstore中数据会被冲成成一个StoreFile 随着storeFile的数量的增多,当达到一定的阈值会触发紧凑合并操作,将多个StoreFile合成一个StoreFile,同...原创 2018-12-13 21:14:57 · 251 阅读 · 0 评论 -
HBase基本命令
1.启动的HBase的前提是饲养员,Hadoop的启动为前提。1.1启动饲养员命令:zkServer.sh启动 1.2启动hadoop的命令:start-all.sh 1.3启动HBase的命令:start-hbase.sh2.转入到HBase的2.1查看所有表 list2.2创建表hbase(main):008:0> create 'user',...原创 2018-12-12 21:32:35 · 405 阅读 · 0 评论 -
Hbase简介
1.1什么是hbaseHBase是一个高可靠性,高性能,面向列,可伸缩的分布式存储系统,利用HBase技术可以在廉价PC Server上搭建大规模结构存储集群。HBASE目标的的英文存储并处理由成千上万大型的数据,更具有来说是仅需使用普通的硬件配置,就能能够处理成千上万的行和列所组成的大型数据。HBASE是Google Bigtable的开源实现,但是也有很多不同之处。比如:Googl...原创 2018-12-12 20:30:14 · 333 阅读 · 0 评论 -
synchronized 和 lock 的使用分析(优缺点对比详解)
1. synchronized加同步格式synchronized (需要一个任意的对象(锁)){代码块中放操作共享数据的代码。}synchronized 缺陷synchronized 是java 中的一个关键字,也就是说是java 语言的内置的特性如果一个代码块被synchronized 修饰,当一个线程获取了对应的锁,并执行代码块时,其他线程只能一直等待,等待获取锁的...转载 2018-12-08 16:20:23 · 372 阅读 · 0 评论 -
动态代理模式(实例化详解)
简介代理模式通常用于达到对原有系统功能进行扩充的目的比如:你刚接手一个别人没有完成的项目,这是你不想动别人原理的代码,还需要添加新功能。这时代理模式,这时代理模式,这时代理模式会很好的帮助解决问题代理模式分为两种: 静态代理模式 、 动态代理模式静态代理静态代理一般是由一个接口,若干个实现类、若干个代理类构成静态代理模式,代理类聚合了被代理的类,且代理类及被代理类都实现了同...转载 2018-12-08 15:31:38 · 339 阅读 · 0 评论 -
zookeeper结构
zookeeper 的特性1. zookeeper:一个leader,多个follower组成的集群2. 全局数据一致:每一个server保存一份相同的数据副本。client无论连接到哪个的server,数据都是一致的3. 分布式读写 ,更新请求转发 ,由leader 实施。4. 更新请求顺序进行,来自同一个client的个不放心请求按其发送顺序依次执行5. 数据更新原子性,一...原创 2018-12-08 15:12:14 · 218 阅读 · 0 评论 -
IO与NIO的区别
NIO同步和异步的区别:同步和异步都是基于应用程序和操作系统。同步:应用程序注解参与IO读写,所以是阻塞的,需要等待IO完成。异步:IO读写交给操作系统,非阻塞。NIO(同步非阻塞):面向缓冲区IO : 面向流,(阻塞的,浪费性能)。NIO:主要是通过selector 选择器管理所有的 IO 时间,服务端为例:1. 首先需要serverSoketChannel .ope...转载 2018-12-08 14:38:00 · 111 阅读 · 0 评论 -
互联网架构演变历程
1.大型互联网应用的特点 高并大流量:面对的是高并发的用户以及大流量的访问。 高可用:系统7 * 24小时不断服务。 海量数据:需要存储并管理海量的数据,这会用到大量的服务器。 用户分布广泛,网络情况复杂:许多的大型互联网应用都是为全球用户服务的,但用户分布范围广,而且各地的网络情况千差万别。 安全环境恶劣:由于互联网的开放性,会使的网站很容易收到黑客的攻击。 需求快速变更,发布频繁...转载 2018-12-08 14:12:37 · 914 阅读 · 0 评论 -
Hdfs详解
Hdfs概述Hdfs是Hadoop Distributed File System 的简称,它是Hadoop实现的一个分布式文件系统。 Hdfs有高容错点的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。 Hdfs放宽了POSIX的要求,可以以流的形式访问文件系统的数据。 Hdfs总体上采用了master/slave架构,主...原创 2018-12-04 19:45:41 · 284 阅读 · 1 评论 -
Hadoop的总体概述
Hadoop的总体概述Hadoop起源于谷歌的集群系统,谷歌的数据中心使用廉价Linux PC机组成集群,在上面运行各种应用。其核心组件有3个:第一个就是,GFS(GOOgle File Syetem),一个分布式文件系统,隐藏下层负载均衡冗余复制等细节,对上层程序提供一个统一的文件系统API接口。第二个是MapReduce的,谷歌发现大多数分布式运算可以抽象为MapReduce的...原创 2018-12-04 18:04:05 · 350 阅读 · 0 评论 -
Hbase数据库与传统数据库的比较
HBase的知识点Mycat备份机制 HMASTER动态感知HregionServer的状态。 基于行的行式数据库 行式读取方式 基于列的列式数据库 传统数据库的特点:数据是按行存储 没有建立索引的查询将消耗很大的IO 建立索引和视图需要花费一定的物理空间和时间资源 面对大量的查询,复杂的查询,数据库必须被大量膨胀才能满足性能需求...原创 2018-12-13 21:34:44 · 11702 阅读 · 0 评论