自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zy

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

原创 正则表达式在Hive SQL中的应用

正则表达式一、简介1956 年, 一位叫 Stephen Kleene 的美国数学家在 McCulloch 和 Pitts 早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。随后,发现可以将这一工作应用于使用Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson是Unix 的主要发明人。正则表达式的第一个实用应用程序就是 Unix 中的qed 编辑器。发展到后来,许多种工具都支持正则表达式(文本编辑器、文字处理软件、系统工具、数据库引擎,等

2021-03-05 16:22:08 663 3

原创 10)Hive (调优)

Fetch抓取Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台;在hive-default.xml.template文件中hive.fetch.task.conversion默认是more,老版本...

2019-10-25 14:58:51 228

原创 3)HBase(原理)

读流程①客户端先访问Zookeeper,从meta表中读取region(HBase表的分片,RegionServer会根据RowKey的值被切分成不同的region存储在RS中,一个RS可以有多个不同region)所在的位置,②ZK返回给Client结果(在RS1:hadoop102)③客户端向RS1请求Rowkey所在的位置④RS1返回结果(在RS4)⑤客户端向RS4请求读取数据...

2019-10-24 21:22:02 226

原创 2)HBase (HBase Shell操作、HBase数据结构)

HBase Shell操作进入HBase客户端命令行bin/hbase shell查看帮助命令help查看当前数据库中有哪些表list创建表create 'student','info'插入数据到表put 'student','1001','info:name','Curry'put 'student','1002','info:name','James'...

2019-10-24 19:43:41 336

原创 1)HBase(概述)

什么是HBaseHBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海...

2019-10-24 19:05:36 232

原创 4)Spark(RDD编程2)

RDD编程2Key-Value类型:partitionBy在这里插入代码片groupByKeyreduceByKey(func, [numTasks])reduceByKey和groupByKey的区别aggregateByKeyfoldByKey案例combineByKey[C]sortByKey([ascending],[numTasks])mapValuesjoin(...

2019-10-22 19:53:36 236

原创 3)Spark(RDD编程1)

RDD编程在Spark中,RDD被表示为对象,通过对象上的方法调用来对RDD进行转换。经过一系列的transformations定义RDD之后,就可以调用actions触发RDD的计算,action可以是向应用程序返回结果(count, collect等),或者是向存储系统保存数据(saveAsTextFile等)。在Spark中,只有遇到action,才会执行RDD的计算(即延迟计算),这样在...

2019-10-22 16:52:00 352

原创 2)SparkCore(RDD概述)

RDD概述:什么是RDD:RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象。代码中是一个抽象类,它代表一个不可变、可分区、里面的元素可并行计算的集合;RDD的属性:① 一组分区(Partition),即数据集的基本组成单位;② 一个计算每个分区的函数;③ RDD之间的依赖关系;④ 一个Partitioner,即...

2019-10-22 14:23:47 91

原创 1)Spark(概述、运行模式)

什么是Spark:Spark是一个基于内存的快速、通用、可扩展的大数据分析引擎;Spark内置模块:SparkCore:实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义;SparkSQL:是Spark用来操作结构化数...

2019-10-21 19:28:59 220

原创 9)Hive(压缩和存储)

Hadoop源码编译支持Snappy压缩资源准备CentOS联网:配置CentOS能连接外网。Linux虚拟机ping www.baidu.com 是畅通的注意:采用root角色编译,减少文件夹权限出现问题jar包准备(hadoop源码、JDK8 、maven、protobuf)hadoop-2.7.2-src.tar.gzjdk-8u144-linux-x64.tar.gz...

2019-10-16 22:00:49 168

原创 8)Hive(函数二)

系统内置函数查看系统自带的函数:show functions;显示自带的函数的用法:desc functions upper;详细显示自带的函数的用法:desc function extended upper;自定义函数Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展当Hive提供的内置函数无法满足业务处理需要...

2019-10-16 21:17:07 146

原创 7)Hive(函数一)

查询相关函数空字段赋值 (NVL)函数说明:给值为null的数据赋值,语法为nvl(str,replace_with),它的功能是如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL;例:如果员工的comm为NULL,则用-1代替:select nvl(comm,-1) from emp;...

2019-10-16 20:09:10 113

原创 6)Hive(DQL:数据查询语言)

基本查询全表和特定列查询select * from emp;select id, name from stu;列别名select dept_name as name, deptno dn from emp;算术运算符运算符描述常用函数Limit语句Where语句分组...

2019-10-15 21:18:07 166

原创 5)Hive(DML:数据操作语言)

数据导入向表中装载数据(load):语法:load data [local] inpath '/opt/module/datas/student.txt' [overwrite] into table student partition(month=2019);①load data:表示加载数据;②local:表示从本地加载数据,否则从hdfs上加载数据到hive表;③inpath...

2019-10-15 10:00:48 127

原创 4)Hive(DDL:数据定义语言)

创建数据库创建一个数据库,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.dbcreate database if not exists db_hive;创建一个数据库,指定数据库在HDFS上存放的位置create database if not exists db_hive2 location '/test/db_hive.db'查询数据库过滤显...

2019-10-14 22:58:54 140

原创 3)Hive(数据类型)

Hive数据类型基本数据类型:Hive数据类型Java数据类型长度例子tinyintbyte1byte有符号整数3smalintshort2byte有符号整数3intint4byte有符号整数3bigintlong8byte有符号整数3booleanboolean布尔类型,true或者falsetruefl...

2019-10-14 20:48:42 137

原创 Linux常用命令

命令命令解释1top查看内存2df -h查看磁盘存储情况3iotop查看磁盘IO读写(yum install iotop【安装】)4iotop -o直接查看较高的磁盘读写程序5netstat -tunlp | grep 端口号查看端口占用情况6uptime查看系统运行时长及平均负载7ps aux查看进程...

2019-10-14 20:02:45 74

原创 scala学习总结11(函数)

偏函数:基本介绍:①在对符合某个条件,而不是所有情况进行逻辑操作时,使用偏函数是一个不错的选择;②将包在大括号内的一组case语句封装为函数,我们称之为偏函数,它只对会作用于指定类型的参数或指定范围值的参数实施计算,超出范围的值会忽略;③偏函数在Scala中是一个特质PartialFunction案例入门:给你一个集合val list = List(1, 2, 3, 4, “a...

2019-10-10 14:29:32 111

原创 3)Kafka API实操、拦截器(Kafka producer interceptor)

环境准备启动zk和kafka集群,在kafka集群中打开一个消费者:bin/kafka-console-consumer.sh --zookeeper hd101:2181 --topic first导入pom依赖:<dependencies> <!-- https://mvnrepository.com/artifact/org.apache.kafka/kaf...

2019-10-08 19:15:39 218

原创 2)Kafka工作流程分析

Kafka生产过程分析:写入方式producer采用push(推)的模式将消息发送到Broker,每条消息都被append(追加)到分区中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障kafka吞吐率)分区(Partition)消息都会被发送到一个topic,其本质就是一个目录,而topic是由一些Partition Logs(分区日志)组成:我们可以看到,每个Par...

2019-10-08 17:08:51 196

原创 1)Kafka概述、集群部署、命令行操作

概述:Kafka是一个分布式消息队列。Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)称为broker。Kafka架构图:详解:1)Producer :消息生产者,就是向kafka broker发消息的客户端2)Consumer :消息消费者,向k...

2019-10-08 15:14:51 161

原创 13)Hadoop之MapReduce(扩展案例)

倒排索引案例(多job串联)需求及分析:有大量的文本(文档,网页),需要建立搜索索引(如下图所示)第一次处理:(1)第一次处理,编写OneIndexMapper类public class OneIndexMapper extends Mapper<LongWritable, Text, Text, IntWritable>{ String name; T...

2019-10-07 20:27:52 179

原创 12)Hadoop企业优化

MapReduce 跑的慢的原因MapReduce效率的瓶颈主要有两点:计算机性能:CPU、内存、磁盘健康、网络I/O操作优化:数据倾斜Map和Reduce个数设置不合理Map运行时间太长,导致Reduce等待时间过长小文件过多大量的不可分块的超大文件Spill溢写次数过多Merge次数过多MapReduce优化方法MapReduce优化方法主要从六个方面考虑:...

2019-10-06 22:43:48 129

原创 3)大数据之Flume(监控(Ganglia))

Ganglia的安装部署安装httpd服务与php:[zy@hd101 flume]$ sudo yum -y install httpd php安装其他依赖:[zy@hd101 flume]$ sudo yum -y install rrdtool perl-rrdtool rrdtool-devel安装ganglia:[zy@hd101 flume]$ sudo rpm...

2019-10-06 21:01:49 152

原创 11)Hadoop之YARN

基本架构YARN主要由ResourceManager、NodeManager、ApplicationMaster、Container等组件构成,如下图所示:Yarn工作机制Yarn运行机制,如图所示:工作机制详解:MR程序提交到客户端所在的节点YarnRunner向ResourceManager申请一个Application。RM将应用程序的资源路径返回给YarnRunn...

2019-10-05 23:26:59 82

原创 10)Hadoop数据压缩

概述压缩技术能有效减少底层存储系统(HDFS)的读写字数。压缩提高了网络带宽和磁盘空间的效率。在运行MR程序时,I/O操作、网络数据传输、Shuffle、Merge要花费大量时间,尤其是=在数据规模很大和工作负载很密集的时候,数据压缩显得非常重要;鉴于磁盘IO和网络带宽是Hadoop的宝贵资源,数据压缩对于节省资源,最小化磁盘I/O和网络传输非常有帮助,可以在任意MapReduce阶段...

2019-10-05 21:29:46 137

原创 2)大数据之Flume(安装部署、案例)

Flume安装地址Flume官网地址:http://flume.apache.org/文档查看地址:http://flume.apache.org/FlumeUserGuide.html-下载地址:http://archive.apache.org/dist/flume/Flume安装部署将apache-flume-1.7.0-bin.tar.gz上传到linux的/opt/...

2019-10-04 22:12:55 160 1

原创 1)大数据之Flume(概述)

概述:Flume定义Flume是Cloudera提供的一个高可用,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume基于流式架构,简单灵活。为什么选择flume:Flume最主要的作用就是:实时读取服务器本地磁盘的数据,写入到HDFS。组成架构Flume的组成架构图(简单):Flume的组成架构图(详细):Flume架构中的组件:Agent:Agent...

2019-10-04 16:02:37 199

原创 8)Hadoop之MapReduce(计数器应用,数据清洗(ETL)案例)

计数器应用概述:Hadoop为每个作业维护若干计数器,以描述多项指标。例如:某些计数器记录着已处理的字节数和记录数,使用户可以监控已处理的输入数据量和已经产生的输入数据量。计数器API:采用枚举的方式统计计数enum MyCounter{MALFORORMED,NORMAL}context.getCounter(MyCounter.MALFORORMED).increment(1)...

2019-10-03 16:20:01 617

原创 2)Hive(安装配置)

Hive安装相关地址Hive官网地址(http://hive.apache.org/)文档查看地址(https://cwiki.apache.org/confluence/display/Hive/GettingStarted)

2019-10-03 13:47:43 343

原创 1)Hive(入门)

Hive基本介绍:由Facebook开源用于解决海量结构化日志的数据统计 。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据映射成一张表,并提供类SQL查询功能。①Hive处理后的数据存储在HDFS上②Hive分析数据的底层是MapReduce③执行程序在Yarn上Hive的优缺点:优点:操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)...

2019-10-03 11:17:43 126

原创 7)Hadoop之MapReduce(OutputFormat、Join)

OutputFormat数据输出OutputFormat接口实现类OutputFormat是所有MapReduce输出的基类,所有实现MapReduce输出都实现了OutputFormat接口:文本输出:TextOutputFormat默认的输出格式是TextOutputFormat,它把每条记录写为文本行,它的键和值可以为任何类型,TextOutputFormat可以调用toStr...

2019-09-30 11:18:38 126

原创 scala学习总结10(match、样例类)

match基本介绍:① Scala中的模式匹配类似于Java中的switch语法,但是功能更加强大。②模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声明。③当需要匹配时,会从第一个case分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹 配不成功,继续执行下一个分支进行判断。④如果所有case都不匹配,那么会执行case _ 分支,类似于Java中def...

2019-09-29 21:57:46 180

原创 6)Hadoop之MapReduce(MapTask、ReduceTask工作机制)

MapTask工作机制:Read阶段:MapTask通过用户编写的RecorderReader,从输入的InputSplit中解析出一个个的key/vale;Map阶段:该阶段主要是将解析出的key/value交给用户编写的map()方法处理,并产生一系列新的key/value;Collect收集阶段:结束map()方法中的数据处理后,一般会调用OutputCollector....

2019-09-29 20:08:52 231

原创 5)Hadoop之MapReduce(排序案例)

Combiner合并案例:需求:统计过程中对每一个MapTask的输出进行局部汇总,以减小网络传输量即采用Combiner功能。需求分析:案例实操-方案一①增加一个WordcountCombiner类继承public class WordcountCombiner extends Reducer<Text, IntWritable, Text, IntWrita...

2019-09-29 17:11:00 321

原创 4)Hadoop之MapReduce(MapReduce工作流程(shuffle、分区、排序))

MapReduce详细工作流程一:如图MapReduce详细工作流程二:如图流程详解:上面的流程是整个MapReduce最全工作流程,但是Shuffle过程只是从第7步开始到第16步结束,具体Shuffle过程详解,如下:MapTask搜集map()方法的kv对,放入内存缓冲区中从内存不断溢写到本地磁盘文件,可能会溢出多个文件多个溢出文件会被合并成大的溢出文件在...

2019-09-29 16:16:07 755

原创 3)Hadoop之MapReduce(MapReduce框架原理)

MapReduce框架原理1InputFormat数据输入切片与MapTask并行度的决定机制问题引出①MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度。②思考:1G的数据,启动8个MapTask,可以提高集群的并发处理能力。那么1K的数据,也启动8个MapTask,会提高集群性能吗?MapTask并行任务是否越多越好呢?哪些因素影响了MapTa...

2019-09-26 14:46:41 127

原创 2)Hadoop之MapReduce(序列化)

Hadoop序列化序列化概述什么是序列化和反序列化:①序列化就是将内存中的对象转化成字节序列(或其他数据传输协议),以便存储到磁盘中(持 久化)或进行网络传输②反序列化:就是将收到的字节序列(或其他数据传输协议)或者磁盘持久化数据转化成内存中的对象为什么不用Java序列化:Java的序列化是重量级序列化框架,一个对象被序列化后会夹带很多其他信息(校验信息,继承体系等),不便于网络传...

2019-09-25 23:35:16 186

原创 1)Hadoop之MapReduce(概述)

概述MapReduce的定义:MapReduce是一个分布式运算程序的编程框架MapReduce的核心功能是将用户编写的代码和其自带的组件整合成完整的分布式运算程序,并 行运算在Hadoop集群上MapReduce的优缺点优点:①易于编程②良好的扩展性③容错性高:若有一个节点挂了,可以将运算任务转移到另一个节点,不至于任务运行失败④时候PB级以上的大数据的离线处理...

2019-09-25 20:40:15 104

原创 scala学习总结9(集合的扩展操作)

集合操作扩展拉链(合并):基本介绍:当我们需要将两个集合进行 对偶元组合并,可以使用拉链。实例:val list1 = List(1,2,3)val list2 = List(9,8,7)val list3 = list1.zip(list2)println(list3)//(1,9)(2,8)(3,7)注意事项:①如果两个集合个数不对应,会造成数据丢失。②集合不限于...

2019-09-25 16:43:57 93

空空如也

空空如也

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

TA关注的人

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