逐渐了解大数据
大数据知识从浅入深,包含Hadoop,spark,hive,HBase,机器学习等
心雨先生
做一条有理想的咸鱼
展开
-
10.5 spark on yarn
将spark的application运行在yarn上Application:一个应用程序,WordCountjob:是与action类的算子一一对应的stage:一组并行计算的task(pipeline)task:一个任务单元,ThreadMaster:资源管理的主节点Worker:资源管理的从节点Executor:真正计算的进程ThreadPool(Executo...原创 2018-07-24 08:48:02 · 249 阅读 · 0 评论 -
10.6 Spark资源调度和任务调度-standalone模式
1,当每个worker启动起来之后,会向master注册信息(内容:当前worker进程所管理的资源情况);这样Master就掌握了整个集群的资源情况2,当new SparkConf 和SparkContext的时候Driver当中就启动了DAGScheduler和TaskScheduler;这时候TaskScheduler会向Master发送请求(内容:当前Application执...原创 2018-07-25 11:59:12 · 477 阅读 · 0 评论 -
10.7 Spark广播变量和累加器
广播变量:广播变量是在Driver端定义的,在Executor端读取,在Executor端是不能修改的,这样线程就安全线程安全:单线程和多线程计算结果一致当定义了外部变量,这个外部变量就存在堆当中,当发送多个task的时候暂用了大量的资源,这时候用广播变量,每个Executor里面都有一个共享变量区,当执行task的时候首先去共享变量区去读取,这样就节省了大量资源 Driver...原创 2018-07-26 09:10:49 · 236 阅读 · 0 评论 -
10.8 Spark资源调度源码分析
Work启动之后会向Master注册代码层面来说:注册过程就是往Master数据结构里面插入一条数据HashSet ,这时候Master里就会有 val workers = new HashSet()的代码1,客户端client执行spark-submit 任务命令,就会向Master请求资源,用来启动Driver进程,他会将当前Driver信息注册给Master;代码层面:就是...原创 2018-07-27 09:01:34 · 545 阅读 · 0 评论 -
10.9 spark高可用
yarn提交任务不存在高可用问题spark的高可用,实际上就是Master的高可用 1,先启动zookeeper2,修改spark的conf下spark-env.sh:加上 --注意配置好zookeer信息 ,修改完同步其他节点spark-env.shexport SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKE...原创 2018-07-30 14:01:20 · 678 阅读 · 0 评论 -
10.10 spark-shuffle,寻址
HashShuffle普通机制:map task的计算结果,会根据分区器(default:HashPartitioner)来决定写入到哪一个磁盘小文件里面去reduce task会去Map端拉去相应的小文件产生磁盘小文件的个数公式:M(map task的个数)*R(reduce task的个数)磁盘小文件过多会有什么问题1,在shuffle wirte过程中会产生很多写的对...原创 2018-07-31 08:35:37 · 231 阅读 · 0 评论 -
11.1 Spark Sql;jsonRDD转换成DataFrame
Hive是Shark的前身,Shark是SparkSQL的前身Shark是基于Spark计算框架之上且兼容Hive语法的SQL执行引擎,由 于底层的计算采用了Spark,性能比MapReduce的Hive普遍快2倍以上, 当数据全部load在内存的话,将快10倍以上,因此Shark可以作为交互式 查询应用服务来使用。除了基于Spark的特性外,Shark是完全兼容Hive的语法,表结构以 ...原创 2018-08-01 15:52:06 · 1621 阅读 · 0 评论 -
11.2 DataFrame操作,集合转换
SparkConf conf = new SparkConf().setAppName("DataFrameOps").setMaster("local");JavaSparkContext sc = new JavaSparkContext(conf);/*** 若想使用SparkSQL必须创建SQLContext 必须是传入SparkContext 不能是SparkConf*/...原创 2018-08-02 13:39:08 · 2023 阅读 · 0 评论 -
11.3 动态构造DataFrame的元数据
SparkConf conf = new SparkConf().setMaster("local").setAppName("RDD2DataFrameByReflection");JavaSparkContext sc = new JavaSparkContext(conf);SQLContext sqlcontext = new SQLContext(sc);/*** 在RD...原创 2018-08-03 08:39:57 · 616 阅读 · 0 评论 -
10.4 spark集群搭建-standalone模式
Spark standalone集群搭建:1、上传解压 tar -zxvf spark-1.6.0-bin-hadoop2.6.tgz2、修改安装包的名称(最好保留版本号)mv spark-1.6.0-bin-hadoop2.6 spark-1.6.03、进入conf目录,修改slaves和Spark-env.shslaves(Worker进程所在的节点):node2nod...原创 2018-07-23 08:44:10 · 304 阅读 · 0 评论 -
10.3 spark算子例子map,filter,flatMap,mapPartitions,groupByKey,join,distinct
Map filter:object Map_Operator {def main(args: Array[String]): Unit = {/*** 创建一个设置Spark运行参数的对象* SparkConf对象可以设置运行模式,设置Application的名称* 设置Application执行所需要的资源情况*/val conf = new SparkConf(...原创 2018-07-20 08:15:19 · 458 阅读 · 0 评论 -
10.2 spark算子介绍
算子:转换算子:RDD进行内部转化,不消耗资源行动算子:执行job,消耗资源,要看到执行结果必须要行动算子控制算子 转换算子map 遍历的单位是每一条记录 , 返回值是一条记录flatMap 遍历的单位也是每一条记录,但是返回值可以是多条filter 过滤算子 true为保留 false 过滤掉mapPartitions 遍历的单位是每一个分区,每一个分区的数据...原创 2018-07-19 09:50:29 · 201 阅读 · 0 评论 -
10.1 spark core — spark内核
spark是开源的分布式计算框架(源码是scala编写的) http://spark.apache.org/计算速度加快编写加快hadoop:在hdfs读取-->计算结果存到hdfs-->二次计算依然在hdfs上读取-->输出spark:在hdfs上读取-->计算结果存在内存中-->二次计算在内存中读取-->输出结果可以保存到hdfs上spa...原创 2018-07-18 09:16:37 · 222 阅读 · 0 评论 -
9.3 scala和Java做Spark操作
注意导入spark-assembly-1.6.0-hadoop2.4.0.jarscala:package com.scalaimport org.apache.spark.SparkContextimport org.apache.spark.SparkConfobject Test { def main(args: Array[String]): Unit = { val conf =...原创 2018-07-16 09:24:16 · 618 阅读 · 0 评论 -
9.2 scala函数 list map 元组
基础语法TestFunc.scala:package com.scalaobject TestFunc {//默认值函数 def sayMyName(name : String = "Jack"){ println(name) }//多个int类型参数,相加 def sumMoreParameters(elem : Int*) = { var sum = 0 for(e <- ele...原创 2018-07-14 08:02:33 · 363 阅读 · 0 评论 -
9.1 scala介绍与安装
Scala是一种针对 JVM 将函数和面向对象技术组合在一起的编 程语言。它看 起来像是一种纯粹的面向对象编程语言,而又无缝地结合了 命令式和函数式的编程风格Scala的名称表明,它还是一种 高度可伸缩的语言Scala的设计始终贯穿着一个理念:创造 一种更好地支持组件的语言Scala融汇了许多前所未有的特 性,而同时又运行于JVM之上Scala特点:Scala可拓展 – 面向对象 – 函数式编程 ...原创 2018-07-13 08:59:06 · 258 阅读 · 0 评论 -
8.6 R语言-关联规则
理解关联规则:市场购物篮分析的结果是一组指定商品之间关系模式的关联规则。一个典型的规则可以表述为: {花生酱,果冻} –> {面包}这个关联规则用通俗易懂的语言来表达就是:如果购买了花生 酱和果冻,那么也很有可能会购买面包。一个项集或者规则度量法的支持度是指其在数据中出现的频率置信度是指该规则的预测能力或者准确度的度量鲜花的支持度support X=4/5慰问卡的支持度 Y=3/5鲜花X--...原创 2018-07-11 09:01:20 · 856 阅读 · 0 评论 -
8.7 Mahout与协同过滤
mahout是一个工具一个来自Apache的、开源的、JAVA的机器学习软件库当所处理的数据规模远大于单机处理能力时成为一种可选的机 器学习工具,建立在Apache的Hadoop分布式计算项目之上mahout安装:1,上传apache-mahout-distribution-0.12.2.tar.gz包到linux服务器(hdfs集群的一个节点安装就行)2,解压tar -zxvf apache-m...原创 2018-07-12 08:26:06 · 258 阅读 · 0 评论 -
8.4 Python和MongoDB
Mongo是一个非关系型数据库(NOSQL):有库的概念没表的概念,文档级数据库Mongo数据库Linux安装:1,上传到linux2,tar -zxvf mongodb-linux-x86_64-2.6.9.tgz解压3,进入解压文件夹/bin目录下4,mkdir mongodata 创建数据文件夹5,./mongod --dbpath ./mongodata 启动mongoDB6,...原创 2018-07-09 09:46:20 · 202 阅读 · 0 评论 -
8.5 Python机器学习--微博聚类和音乐分类理论记录
Python机器学习:隆重推出scikit-learn机器学习库Scikit-Learn是基于python的机器学习模块Scikit-Learn中的机器学习模型非常丰富,包括SVM,决策树, GBDT,KNN等等,可以根据问题的类型选择合适的模型Scikit-Learn的安装需要numpy,scipy,matplotlib等模块微博聚类:数据集(微博数据)算法使用(scikit-learn中的km...原创 2018-07-10 08:53:24 · 1751 阅读 · 1 评论 -
8.1 机器学习—R语言-线性回归
机器学习就是拟人数据+算法-->找规律大数据公司主要分四类:1,数据拥有者,数据源,PB级数据的包子铺2,大数据咨询公司,Cloudera--CDH3,大数据工具公司,Databricks--Apache Shark4,整合应用型,结合机器学习来解决更多实际的痛点机器学习是什么已有的数据(经验)某种模型(迟到的规律)利用此模型预测未来(是否迟到)机器学习界“数据为王”思想R语言:主要用于统计...原创 2018-07-04 13:36:23 · 1109 阅读 · 1 评论 -
8.2 机器学习—神经网络
神经网络:激活函数:将神经元的净输入信号转换成单一的输出信号,以便进一 步在网络中传播。 网络拓扑:描述了模型中神经元的数量以及层数和它们连接的方式。 训练算法:指定如何设置连接权重,以便抑制或增加神经元在输入信 号中的比重。concrete.R:判断强度是否合格concrete <- read.csv("concrete.csv")str(concrete)#缩放/归一化,定义函数norm...原创 2018-07-05 09:18:40 · 459 阅读 · 0 评论 -
8.3 机器学习—Python语言
Python是解释型语言,是高级编程语言可面向对象可升级Python环境安装:python-2.7.9.amd64.msi相当于jdk直接windows安装,注意安装目录不要有中文和空格安装的时候要是没有选择自动配置环境变量,需要手动配置,在path后面加上C:\Python27PyDev.zip是为了方便eclipse操作python,解压放到eclipse对应包eclipse配置python环...原创 2018-07-06 08:50:36 · 344 阅读 · 0 评论 -
7.8 Java操作redis
/** * 使用jedis操作redis需要jedis-2.1.0.jar * 使用Redis连接池,还需commons-pool-1.5.4.jar * <p>内容描述:操作redis</p> * @author lvjie * @date 2017年7月7日 上午11:55:06 */public class UseRedis { private static Jedi...原创 2018-07-03 10:35:21 · 204 阅读 · 0 评论 -
7.7 zookeeper分布式锁原理图
1,每个文件节点都创建一个锁的概念的文件,文件是以sequential自增序列令名2,每次选择执行节点的时候,都会获取最小的节点来执行3,执行的节点执行之前判断自己是否是最小的,不是最小的就找自己前面的一个创建一个Watcher 来监控比自比自己小一个的节点4,当自己节点是最小的时候,判断自己创建的锁文件是否存在,存在就等待Watcher 通知,要是不存在就执行...原创 2018-07-03 09:53:38 · 247 阅读 · 0 评论 -
7.2 redis命令
redis命令:redis-cli 进入Redis环境Help @string 获取所有string类型帮助Help @list 获取所有list类型帮助set 123 456 定义一个key=123,value=456的值get 123 查询key=123的值set key zhangsan ex 10 设置key,value值,并10秒后...原创 2018-06-27 10:10:06 · 233 阅读 · 0 评论 -
7.3 redis持久化
什么是持久化:将数据从掉电易失的内存存放到能够永久存储的设备上Redis为什么需要持久化:基于内存的 --关机数据就消失Redis持久化方式:RDB(Redis DB) --存数据 有2种形式,save直接持久化,但会阻塞;bgsave不会阻塞AOF(AppendOnlyFile) --存命令Redis持久化-RDB:在默认情况下,Redis 将数据库快照保存在名字为 dump....原创 2018-06-28 08:32:22 · 415 阅读 · 0 评论 -
7.4 redis集群
集群分类主从复制 Replication 高可用 Sentinel 集群 Cluster 分布式 twemproxy主从复制 Replication:一个Redis服务可以有多个该服务的复制品,这个Redis服务称为Master,其他复制品称 为Slaves 只要网络连接正常,Master会一直将自己的数据更新同步给Slaves,保持主从同步 只有Master可以执行写命令,Slaves只能执行读...原创 2018-06-29 10:13:46 · 208 阅读 · 0 评论 -
7.5 redis总结
RedisNoSQL Not Only SQL存储 内存有数据库的概念,默认16个数据库没有表的概念,直接key value类型:String 字符串 数字 BitMap--set--get--mset--mget--incr incrBy incrByFloat--desc descBy--setBit--getBit--bitCountList 有序--lPush RPush --LPOP R...原创 2018-06-29 10:14:38 · 190 阅读 · 0 评论 -
7.6 zookeeper介绍和搭建
为什么使用zookeeper:大部分分布式应用需要一个主控、协调器或控制器来管理物理分布的子进 程(如资源、任务分配等)目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器ZooKeeper:提供通用的分布式锁服务,用以协调分布式应用;保证分布式数据一致性zookeeper优点:最终一致性;为客户端展示同一个视图可靠性;如果消息被到一台...原创 2018-07-02 08:39:13 · 195 阅读 · 0 评论 -
5.1 hive数据仓库
hive:是数据仓库,不是数据库,是非Java编程者对hdfs的数据做mapreduce操作,把SQL语言转化为mapreduce语言数据仓库:存的是历史数据,做分析用,增加冗余数据库:存在线数据,减少冗余hive最小处理单元是操作符,每个操作符代表hdfs的一个操作或一个mapreduce程序hive三种模式:本地模式,单用户模式,多用户模式mysql安装:yum -y install mysq...原创 2018-06-01 10:08:07 · 351 阅读 · 0 评论 -
5.2 hive语句
内表删除表或者分区元数据和数据都删了外表删除表元数据删除,数据保留show databases; 查看所有库hive -f create.sql 在hive里执行脚本create database traffic; 创建数据库use traffic; 切换数据库show tables; 查看表创建表(内部表):create table psn1 (id int, ...原创 2018-06-04 09:15:56 · 355 阅读 · 0 评论 -
5.3 HBase数据库-伪-完全分布式搭建
HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、 实时读写的分布式数据库利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理 HBase中的海量数据,利用Zookeeper作为其分布式协同服务主要用来存储非结构化和半结构化的松散数据ROW KEY:决定一行数据,按照字典顺序排序的,只能存储64k的字节数据Column Fa...原创 2018-06-05 08:31:54 · 336 阅读 · 0 评论 -
5.5 HBase表设计实例
1、人员-角色 人员有多个角色 角色优先级 角色有多个人员 人员 删除添加角色 角色 可以添加删除人员 人员 角色 删除添加人员表rowkey cf1-人员基本信息 cf2-角色列表pid cf1:pname=hmm;... cf2:rid=n(优先级)001 cf1:pname=小明;cf1:sex=boy;... cf2:101=0;...原创 2018-06-07 09:17:10 · 1131 阅读 · 0 评论 -
5.6 HBase优化-Protocol Buffer
Protocol Buffer:是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化Protocol Buffer安装:yum grouplist 检查yum 组--安装包在yum里是分组的yum groupinfo Development tools 查看Development tools组信息yum groupinstall Development ...原创 2018-06-08 15:34:55 · 381 阅读 · 0 评论 -
5.7 HBase和MapReduce整合
读hdfs数据写到HBase中:注意hadoop和HBase的包都需要导入,先创建表WordCountMapper:package com.laoxiao.mr.hbase;import java.io.IOException;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;impor...原创 2018-06-09 09:30:10 · 694 阅读 · 0 评论 -
5.8 Java操作HBase
HBase模糊查询:http://www.cnblogs.com/seaspring/p/5631933.html/** * <p>内容描述:操作HBase</p> * @author lvjie * @date 2017年7月7日 上午11:54:20 */public class UseHbase { public static String TN = "tab1"; ...原创 2018-06-11 16:25:52 · 168 阅读 · 0 评论 -
6.1 CDH介绍安装安装前准备
CDH 是hadoop的发行版,是hadoop分支中的一种,由cloudera维护,基于稳定版的hadoop构建,提供hadoop核心CDH3:是最早版本,对应hadoop1.x版本 开始免费版只支持50个机器CDH4,CDH5,对应hadoop2.X版安装方式:clouder Manager 是一个管理CDH端到端的应用,管理监控,诊断,集成Yum rpmTarball要是三台虚拟机:...原创 2018-06-19 10:21:37 · 3035 阅读 · 0 评论 -
6.2 Cloudera Manager(CDH)安装
前提:前面安装前准备步骤没有出错1、安装Cloudera Manager Server、Agent上传cloudera-manager-el6-cm5.4.3_x86_64.tar.gz 包mkdir /opt/cloudera-managertar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager或 tar -zxvf clouder...原创 2018-06-20 08:18:24 · 2630 阅读 · 0 评论 -
6.3 Impala介绍
https://www.cloudera.com/products/open-source/apache-hadoop/impala.htmlhttp://www.impala.io/index.htmlCloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。基于Hive使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点是CDH平台首选的PB级大数据...原创 2018-06-21 08:31:57 · 401 阅读 · 0 评论