![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
大数据
文章平均质量分 92
大数据
fu-jw
这个作者很懒,什么都没留下…
展开
-
【Spark】--SparkStreaming2
4、Dstream转换DStream上的原语与RDD的类似,分为Transformations(转换)和Output Operations(输出)两种,此外转换操作中还有一些比较特殊的原语,如:updateStateByKey()、transform()以及各种Window相关的原语。1、无状态转化操作无状态转化操作就是把简单的RDD转化操作应用到每个批次上,也就是转化DStream中的每一个RDD。部分无状态转化操作列在了下表中。注意,针对键值对的DStream转化操作(比如 reduceByKey原创 2020-05-17 00:08:43 · 5279 阅读 · 0 评论 -
【Spark】--SparkStreaming1
1、Spark Streaming概述1、Spark Streaming是什么Spark Streaming用于流式数据的处理。Spark Streaming支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如:map、reduce、join、window等进行运算。而结果也能保存在很多地方,如HDFS,数据库等。和Spark基于RDD的概念很相似,Spark Streaming使用离散化流(discre原创 2020-05-17 00:08:20 · 5071 阅读 · 0 评论 -
【Spark】--SparkSQL2
3、Spark SQL数据源1、通用加载/保存方法1、手动指定选项Spark SQL的DataFrame接口支持多种数据源的操作。一个DataFrame可以进行RDDs方式的操作,也可以被注册为临时表。把DataFrame注册为临时表之后,就可以对该DataFrame执行SQL查询。Spark SQL的默认数据源为Parquet格式。数据源为Parquet文件时,Spark SQL可以方便的执行所有的操作。修改配置项spark.sql.sources.default,可修改默认数据源格式。val原创 2020-05-17 00:07:52 · 6846 阅读 · 0 评论 -
【Spark】--SparkSQL1
偶一原创 2020-05-14 19:57:42 · 5201 阅读 · 0 评论 -
【Spark】--SparkCore7
2、文件系统类数据读取与保存1、HDFSSpark的整个生态系统与Hadoop是完全兼容的,所以对于Hadoop所支持的文件类型或者数据库类型,Spark也同样支持.另外,由于Hadoop的API有新旧两个版本,所以Spark为了能够兼容Hadoop所有的版本,也提供了两套创建操作接口.对于外部存储创建操作而言,hadoopRDD和newHadoopRDD是最为抽象的两个函数接口,主要包含以下四个参数.输入格式(InputFormat): 制定数据输入的类型,如TextInputFormat等,新旧原创 2020-05-13 18:27:19 · 5133 阅读 · 0 评论 -
【Spark】--SparkCore6
3、键值对RDD数据分区器Spark目前支持Hash分区和Range分区,用户也可以自定义分区,Hash分区为当前的默认分区,Spark中分区器直接决定了RDD中分区的个数、RDD中每条数据经过Shuffle过程属于哪个分区和Reduce的个数注意:只有Key-Value类型的RDD才有分区器的,非Key-Value类型的RDD分区器的值是None每个RDD的分区ID范围:0~numPartitions-1,决定这个值是属于那个分区的1、获取RDD分区可以通过使用RDD的partitio原创 2020-05-13 18:26:31 · 5054 阅读 · 0 评论 -
【Spark】--SparkCore5
5、RDD中的函数传递1、传递一个方法创建Spark主程序:object SeriTest { def main(args: Array[String]): Unit = { //1.初始化配置信息及SparkContext val sparkConf: SparkConf = new SparkConf().setAppName("WordCount").setMaster("local[*]") val sc = new SparkContext(sparkConf原创 2020-05-13 00:06:31 · 5027 阅读 · 0 评论 -
【Spark】--SparkCore4
0、装饰者模式装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案优缺点:优点: 装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能缺点: 多层装饰比较复杂使用场景:扩展一个类的功能动态增加功能,动态撤销实际使用:这里我们说一下,在Java中I/O便使用了装饰者模式装饰者用到的设计原则:多用组合,少用继承对扩展开放,对修改关闭1、RDD概述1、什么是RDDRDD(Res原创 2020-05-12 09:02:50 · 5048 阅读 · 0 评论 -
【Spark】--SparkCore3
2、双Value类型交互1、union作用:对源RDD和参数RDD求并集后返回一个新的RDD需求:创建两个RDD,求并集# 创建第一个RDDscala> val rdd1 = sc.parallelize(1 to 5)rdd1: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[23] at parallelize at <console>:24# 创建第二个RDDscala> val rdd2原创 2020-05-11 17:03:01 · 5101 阅读 · 0 评论 -
【Spark】--SparkCore2
0、装饰者模式装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案优缺点:优点: 装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能缺点: 多层装饰比较复杂使用场景:扩展一个类的功能动态增加功能,动态撤销实际使用:这里我们说一下,在Java中I/O便使用了装饰者模式装饰者用到的设计原则:多用组合,少用继承对扩展开放,对修改关闭1、RDD概述1、什么是RDDRDD(Res原创 2020-05-11 17:00:58 · 5063 阅读 · 0 评论 -
【Spark】--SparkCore1
0、装饰者模式装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案优缺点:优点: 装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能缺点: 多层装饰比较复杂使用场景:扩展一个类的功能动态增加功能,动态撤销实际使用:这里我们说一下,在Java中I/O便使用了装饰者模式装饰者用到的设计原则:多用组合,少用继承对扩展开放,对修改关闭1、RDD概述1、什么是RDDRDD(Res原创 2020-05-11 16:57:43 · 5056 阅读 · 0 评论 -
【Spark】--基础
1、Spark概述1、什么是Spark定义Spark是一种基于内存的快速、通用、可扩展的大数据分析引擎。历史2009年诞生于加州大学伯克利分校AMPLab,项目采用Scala编写。2010年开源;2013年6月成为Apache孵化项目2014年2月成为Apache顶级项目2、Spark内置模块Spark Core: 实现了Spark的基本功能,包含任务调度、内存管理、错误...原创 2020-05-08 18:09:51 · 5082 阅读 · 0 评论 -
【HDFS】NN、2NN和DN工作机制
1、 NN和2NN工作机制NameNode中的元数据是存储在哪里的?首先,我们做个假设,如果存储在NameNode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效率过低。因此,元数据需要存放在内存中。但如果只存在内存中,一旦断电,元数据丢失,整个集群就无法工作了。因此产生在磁盘中备份元数据的FsImage。这样又会带来新的问题,当在内存中的元数据更新时,如果同时更新FsI...原创 2020-04-11 11:02:31 · 5423 阅读 · 0 评论 -
【HDFS】读写流程
1、HDFS写数据流程客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在NameNode返回是否可以上传客户端请求第一个 Block上传到哪几个DataNode服务器上NameNode返回3个DataNode节点,分别为dn1、dn2、dn3客户端通过FSDataOutputStream模块...原创 2020-04-09 21:55:36 · 4701 阅读 · 0 评论 -
【22笔记】Kafka概述
1、为什么需要消息队列解耦:允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束冗余:消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕扩展性:因为消息队列解耦了你的处理...原创 2020-03-19 16:52:28 · 4580 阅读 · 0 评论 -
【21笔记】Flume架构
1、Flume定义Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。2、Flume组成架构AgentAgent是一个JVM进程,它以事件的形式将数据从源头送至目的,是Flume最小的独立运行单位。Agent主要有3个部分组成,Source、Channel、Sink。Source...原创 2020-03-16 16:06:35 · 4534 阅读 · 0 评论 -
【20笔记】Hive实战--影音案例
1、数据结构视频表字段备注详细描述video id视频唯一id11位字符串uploader视频上传者上传视频的用户名Stringage视频年龄视频在平台上的整数天category视频类别上传视频指定的视频分类length视频长度整形数字标识的视频长度views观看次数视频被浏览的次数rate视频评分满分5...原创 2020-03-15 11:34:47 · 4802 阅读 · 0 评论 -
【19笔记】Hive优化
1、Fetch抓取Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。在hive-default.xml.template文件中hive.fetch.task.conversion(2638行)默认是more,老版本hive默认是minimal,该属性修改为more以后,在全局查找、字段查找、limit查找等都不走mapreduce。2、本地模式大多...原创 2020-03-14 11:20:46 · 4550 阅读 · 0 评论 -
【18笔记】Hive数据操作(DML)
1. 数据导入向表中装载数据(Load)语法:load data [local] inpath ‘/opt/module/datas/student.txt’ overwrite | into table student [partition (partcol1=val1,…)];load data:表示加载数据local:表示从本地加载数据到hive表;否则从HDFS加载数据到h...原创 2020-03-10 11:48:54 · 4780 阅读 · 0 评论 -
【17笔记】Hive数据操作(DDL)
1、DDL数据定义1. 创建数据库2. 查询数据库3. 修改数据库4. 删除数据库5. 创建表 6. 分区表7. 修改表8. 删除表2、DML数据操作原创 2020-03-10 11:47:57 · 4476 阅读 · 0 评论 -
【16笔记】Hive基本操作
启动hivehive查看数据库show databases;3. 打开默认数据库 use default;4. 显示default数据库中的表 show tables;5. 创建一张表create table student(id int, name string);6. 显示数据库中有几张表show tables;7. 查看表的结构desc...原创 2020-03-07 23:13:21 · 4527 阅读 · 0 评论 -
【15笔记】Hive基础
1、Hive概述由Facebook开源用于解决海量结构化日志的数据统计Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。本质是:将HQL转化成MapReduce程序1). Hive处理的数据存储在HDFS2). Hive分析数据底层的实现是MapReduce3). 执行程序运行在Yarn上2、Hive的优缺点1. 优...原创 2020-03-07 23:08:35 · 4506 阅读 · 0 评论 -
【14笔记】HBase实战--微博案例
1、需求分析1、微博内容的浏览,数据库表设计2、用户社交体现:关注用户,取关用户3、拉取关注的人的微博内容2、代码设计1)创建命名空间以及表名的定义2)创建微博内容表3)创建用户关系表4)创建用户微博内容接收邮件表5)发布微博内容6)添加关注用户7)移除(取关)用户8)获取关注的人的微博内容9)测试1)创建命名空间以及表名的定义//获取配置confpriva...原创 2020-03-06 21:08:15 · 5095 阅读 · 0 评论 -
【13笔记】HBase优化
1、高可用在HBase中Hmaster负责监控RegionServer的生命周期,均衡RegionServer的负载,如果Hmaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以HBase支持对Hmaster的高可用配置。1、关闭HBase集群(如果没有开启则跳过此步)bin/stop-hbase.sh2、在conf目录下创建backup...原创 2020-03-06 17:09:34 · 4459 阅读 · 0 评论 -
【12笔记】HBase实践
1、Shell操作进入HBase客户端hbase shell2. 查看当前数据库中有哪些表list#结果为空,还没有表3. 创建表#creat 表名,列族名create 'student','info'4. 插入数据到表put 'student','1001','info:sex','male'put 'student','1001','info:age','...原创 2020-03-06 14:12:12 · 4459 阅读 · 0 评论 -
【11笔记】HBase原理
1、HBase数据结构1. RowKey与Nosql数据库一样,RowKey是用来检索记录的主键。访问HBASE table中的行,只有三种方式:1) 通过单个RowKey访问#get 表名,rowkeyget 'student','1001'get 'student','1001','info:name'2)通过RowKey的range(正则)#get 表名,rowkey,{正...原创 2020-03-06 14:11:27 · 4384 阅读 · 0 评论 -
【10笔记】HBase基础
1、HBase概述HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java。是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,因此可以容错地存储海量稀疏的数据。HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集...原创 2020-03-02 16:05:47 · 4434 阅读 · 0 评论 -
【09笔记】Storm容错
1、架构容错Zookeeper存储Nimbus与Supervisor数据在Supervisor启动时,Supervisor会主动在Zookeeper上注册相应的信息并建立心跳,Nimbus就会发现信息变化以确定新的Supervisor上线了,Nimbus还可以通过心跳对Supervisor管理和监控。节点宕机因为Nimbus和Supervisor是快速失败和无状态的,所以当节...原创 2020-02-29 16:02:06 · 4436 阅读 · 0 评论 -
【08笔记】Storm架构
1、Storm架构Storm集群同样遵从主/从(Nimbus/Supervisor)架构。Nimbus是调度中心,Supervisor是任务执行的地方。Nimbus和Supervisor在不同的机器上,是不同的节点。Supervisor上面有若干个Worker,每个Worker都有自己的端口,Worker可以理解为一个进程。2、Hadoop与Storm3、集群主要角色Nimbus...原创 2020-02-29 12:55:26 · 4454 阅读 · 0 评论 -
【07笔记】Zookeeper基础
1、ZooKeeper概述ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现。是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。2、ZooKeeper结构Zookeeper在内存中维护一个类似文件系统的数据结构。每个子目录项如 webservice 都被称作为 znode(...原创 2020-02-27 12:41:34 · 4353 阅读 · 0 评论 -
【06笔记】Storm基础
1、Storm简介MapReduce可以处理GB、TB、PB级别的海量数据,以批处理的方式一次性处理整个数据集,即大批的数据输入,大批的数据输出。对于时效性要求较高的情况,如实时报表动态展示、数据流量波动状态、反馈系统等,需要秒级处理完成数据时,或需要增量处理时,MapReduce则很难胜任。于是就需要有一个时效性高、可以逐条处理数据、低延时的流式处理的计算系统。类似管道:cat input ...原创 2020-02-26 15:07:20 · 4357 阅读 · 0 评论 -
【05笔记】HDFS基础
1、HDFS设计原则HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,适合大规模数据集上的应用。硬件错误对于成百上千的服务器集群,硬件错误是常态而不是异常。因此错误检测和快速、自动的恢复是HDFS最核心的架构目标。流式数据访问HDFS的设计中更多的考虑到了数据批处理,而不是用户交互处理。比之数据访问的低延迟问题,更关键的在于数据访问的高...原创 2020-02-21 16:14:50 · 4470 阅读 · 0 评论 -
【03笔记】Hadoop Streaming基础
1、Hadoop Streaming是什么由Hadoop 提供的一种编程工具,用户可以使用Hadoop Streaming来用任意语言(如python)来编写、运行MR作业。2、为什么要用Hadoop Streaminghadoop框架是用java语言写的,也就是说,hadoop框架中运行的所有应用程序都要用java语言来写才能正常地在hadoop集群中运行。那么问题来了,如果有些开发...原创 2020-02-17 22:26:11 · 4382 阅读 · 0 评论 -
【02笔记】MapReduce基础
1、MapReduce概念MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:1)MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。2)MapReduce是一个并行计算与运行软件框架(Software Framework)...原创 2020-02-17 17:07:26 · 4380 阅读 · 0 评论 -
【01笔记】Hash和一致性Hash
假设有四台图片缓存服务器。1、随机所有图片随机存在四台机器上,则需访问某个图片时要遍历所有机器。缺点:慢2、Hash利用Hash的方式对图片分库存储,hash(a.png)%4缺点:当机器数量变化时,所有缓存失效,需重新缓存。3、一致性Hash对2^32取模,将整个哈希空间组成一个虚拟的环。将机器IP或主机名为关键字进行哈希,并映射到该环上某个位置,与机器数量无关,但可能...原创 2020-02-17 08:31:41 · 4254 阅读 · 0 评论 -
CentOS7配置Hadoop 2.6.5
前提:需要配置java环境一、java环境配置1、检查系统是否自带openJDK]# rpm -qa | grep java若有则删除]# rpm -e --nodeps 对应名称2、下载并解压#解压java包]# tar -zxvf jdk-8u172-linux-x64.tar.gz3、配置环境变量]# vim /etc/profileexport JAVA_HOM...原创 2020-02-14 19:04:47 · 3328 阅读 · 0 评论 -
CentOS7系统配置
配置网络]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 修改TYPE=EthernetBROWSER_ONLY=yesBOOTPROTO=staticIPADDR=192.168.195.10NETMASK=255.255.255.0GATEWAY=192.168.195.2DNS1=1.2.4.8DNS2=210.2....原创 2020-02-14 18:14:53 · 3394 阅读 · 0 评论 -
VMware中安装CentOS7
一、安装系统“文件”–>“新建虚拟机”“自定义(高级)”–>“下一步”–>“下一步”“安装程序光盘映像文件”–>“下一步”修改 虚拟机名称 和 存储位置“下一步”。。。选择“单个文件”最后完成,开始启动系统。二、系统设置选择语言“简体中文”软件选择“GNOME桌面”,“开发工具”安装位置先取消,在再选中。开始安装设置root密码...原创 2020-02-13 10:55:47 · 3263 阅读 · 0 评论 -
Hive--数据导入
一、使用Load语句 1、语法 1)local:表示路径为系统本身的路径,没有local表示路径为HDFS上的路径 2)overwrite:表示加载数据时是否覆盖原有数据 3)partition:表示该表为分区表,且需要加上分区条件 2、例子 ...原创 2019-03-05 19:32:19 · 3347 阅读 · 0 评论 -
Hive--数据查询
一、简单查询select * from emp; --不会转MR select empno,ename,sal from emp; --则会转MR 在Hive中一般是将SQL语句转换成MR任务执行。对于少量一些简单的语句则不会转MR任务(如第一句),而对于第二句的简单查询语句转成MR任务后,查询效率还不如在关系数据库中直接查询,为此可以配置hive/conf/hive-site.xml...原创 2019-03-08 13:55:26 · 5033 阅读 · 0 评论