- 博客(30)
- 收藏
- 关注
原创 hive影评案例作业
hive影评案例作业 首先将数据文件上传到hdfs上 1.正确建表,导入数据,并且验证 新建moives表,需要进行多字节分隔符处理 create table moives(MovieID BigInt, Title String, Genres String) row format serde ‘org.apache.hadoop.hive.serde2.RegexSerDe’ with ser...
2019-01-22 16:50:41 943
原创 hive的数据倾斜
hive的数据倾斜 主要是reduce端产生的 reducetask–0.95*datanode个数 group 如果和聚合函数一起使用,默认在map端开始combiner,不会产生数据倾斜 产生数据倾斜的根本原因就是key分配不均匀 常见场景: 一.null值过多 解决:1.null值不参与连接 select a.,b. from log a join user b on a.userid=b...
2019-01-22 16:48:54 263
原创 hbase的shell和javaapi
hbase的shell和javaapi hbase shell 进入客户端 version status whoami 先启动start-hbase.sh 再进入客户端 hbase shell namespace 类似于数据库的操作 create_namespace ‘xxx’ drop_namespace ‘xxx’ describe_namespace ‘xxx’ list_namespac...
2019-01-22 16:48:22 267
原创 hbase的一些知识点
hbase的一些知识点 行键–rowkey:用于标志同一行数据,行键相同就是同一条数据 hbase默认对行键进行排序,字典顺序,升序 根据行键建立索引,数据按照行键进行排序, hbase中的行键不要过长,一般是8的倍数,给16个长度 列簇:一个或者多个列我们成为一个列簇 一个列簇对应一个物理存储文件 列簇设计: 将具有相同io属性的列放在一个列簇中 相同io属性:总是在一起进行读写的列,因人因业...
2019-01-22 16:47:37 313
原创 hive的函数
hive的函数 按照类型 udf 一对一 udaf 多对一 udtf 一对多 explode炸裂 按照来源 内置函数 显示内置函数:show functions 查看函数详细信息:desc function 函数名 查看函数详细的描述信息:desc function extended 函数名 常用的内置函数: 集合函数(收集函数): map,array select array_co...
2018-11-19 11:11:27 278
原创 项目随笔
ELK(ElasticSearch搜索引擎,logstash日志采集框架,kibana数据分析可视化平台) ···················· flume agent中三个组件 source:数据来源接收器 channel:数据下沉之前的缓存池 sink:数据下沉 ························· 三台agent,两台收集数据,一台进行汇总 ················...
2018-10-31 10:29:01 136
原创 ZooKeeper的相关知识
一。介绍 1.整个生态圈的服务协调,负责分布式一致性 分布式:一个任务需要不同节点执行, 不同节点在不同的网络 多节点就是集群 其他的分布式: 分布式文件存储系统:hdfs 分布式计算系统:MapReduce 一致性: 读和写的数据是一致的 分为: 强一致性:读写瞬间完成,实时性强,最难达到 弱一致性:最大限度保证一致性 最终一致性:弱一致性的一个特例,在一定的时间范围内达到一致性 CAP理论: ...
2018-10-29 11:43:41 130
原创 hive的数据类型和视图
一。基本数据类型 int(tinyint,smallint,int,bigint) float double boolean string timestemp 二。复杂数据类型 array create table test_arr(id int,name string,hobby array<string>) row format delimited fields termina...
2018-10-29 11:12:46 890
原创 hive的一些知识点
1.group by select department dept,sum(age) age from student01 group by dept; //错,dept的别名不能用在这里 //因为group by的执行顺序在select之前,所以select之后的别名不能用,只能用原始字段 //order by 在select 之后 //如果hql中有groupby,那么select后只能跟两个...
2018-10-29 09:59:14 151
原创 RDD算子
transform算子 //定义一个内置数组 val arr = Array(1,2,3,4,5) //将数组转化为rdd val rdd1 = sparkContext.parallelize(arr) 1.map rdd1.map(x=&amp;gt;x*2) rdd1.map(x=&amp;gt;(x,x)) 2.filter //保留奇数 rdd1.filter(x=&amp;gt;i...
2018-10-26 12:02:32 258
原创 HIVE的表的数据导入
hive的架构 1.用户接口 2.thift server 3.元数据库 4.驱动层 hive的特点: 数据仓库,hql 计算引擎MR,支持换成spark和tez hive调试开启本地模式 set hive.exec.mode.local.auto=true 数据导入 1.导入方式 load data [local] inpath '' into table tablename 从本地导...
2018-10-23 16:43:49 596
原创 mapreduce的分组
分组: 如果是按照hadoop自带类型进行分组时,按照key相同进行分组 如果按照自定义类型key时,按照compareTo中的判断规则进行分组 需求: 求每个班成绩最好的学生信息 分组:班级 排序:成绩 key包含班级+成绩,也可以+名字,自定义类型,这样map输出的value可以是null 只需要按照成绩排序就可以了 分组求topN reduce端只需要取出第一个就可以了 创建自定义类Stud...
2018-10-23 13:52:00 797
原创 map端做join
优势: 1.mapjoin的并行度高 2.可以有效的避免数据倾斜 流程: 至少一个表读取一行数据,另一个表读取所有数据 使用setup先把表数据读取出来,读取到map集合中,key:关联字段 value:剩下字段 伪代码 public class MapJoin{ static class MyMapper extends Mapper{ @override setup //获取本地...
2018-10-23 11:34:27 1178
原创 reduce 端的join
a表: id name age b表: id course sex a和b的join select * form a join b on a.id = b.id reduce 端的join就是join过程在reduce端做 伪代码 public class ReduceJoin{ static class MyMapper extends Mapper&amp;lt;&amp;gt;&amp;lt;&amp;gt;
2018-10-23 09:55:37 508
原创 spark的认识和ddr的算子
1.mapreduce因为磁盘io的限制,是系统的瓶颈,所以只适合离线数据处理或批处理,不支持迭代式,交互式和流数据处理,这些事spark擅长的内容 2.spark的优点: 1.减少磁盘io,直接从内容读取数据 2.增加并行度,一个线程执行一个任务 3.避免重复计算,可以cache或者prisit持久化到缓存中 4.可选的shuffle和排序 5.灵活的内存管理策略,每个任务自己的内容是堆内内存,...
2018-10-21 13:49:42 460
原创 scala的wordcount小实验
// object wordcount1 { def main(args: Array[String]): Unit = { //定义一个数组 val arr = Array("hello xiaoa","hello xiaob","hello xiaoc") //map方法生成新的数组 val arr2 = arr.map(x=>x.split(" ")...
2018-10-15 10:01:14 340
原创 scala的知识点整理(三)
//scala经常使用的三个包 //scala.collection 最顶级父类 //scala.collection.mutable可变 //scala.collection.immutable 不可变 //默认导入都是不可变的 val list1 = List(1,2,3) ----------- //List是由一个头元素和尾列表组成的 //向列表添加元素 val list1 = 4::3:...
2018-10-14 16:10:14 235
原创 scala的知识点(二)
可以修改数组中的值 val arr1 = Array(1,2,3) arr1(1) = 5 ---- //转换为可变数组可以执行各种操作 val arr1_v = arr1.toBuffer //添加一个数组元素 arr1_v +=1 //如果添加的是另外一个数组 arr1_v ++= arr2 //+=追加一个或者多个元素,++=追加一个seq对象 --- //在4的位置追加剩下的元素 arr1...
2018-10-14 13:55:08 171
原创 scala的一些知识点(一)
函数: val sum = (x:Int,y:Int) =&gt; {x+y} 方法: def sum(x:Int,y:Int) = {x+y} //定义方法 def m1(x:Int,f:Int=&gt;Int) = f(x) def m2(f:(Int,Int) =&gt; Int) = f(2,3) def m3(f:(Int,Int)=&gt;Int,x:Int,y:Int) ...
2018-10-13 11:33:29 226
原创 Combiner组件
combiner 发生在map和reduce之间的,用于优化的一个组件,提升mapreduce性能 减少shuffle端的数据量,帮reduce分担压力,和reduce逻辑一样 适用场景: 求和 最大值 最小值 不适用的场景: 平均值 写法: 1.继承reducer类 2.重写reduce方法 3.在job中指定 使用之前的wordcount来进行简单的combiner组件的使用 编写com...
2018-10-11 15:26:37 603
原创 HIVE的ddl操作
hive的ddl操作 库: 修改数据库不支持 创建数据库:create database mading; 切换数据库:use mading; 查看数据库列表:show databases; //模糊查询:show databases like 'test*'; 查看正在使用的数据库:show current_database(); 查看数据库的详细信息:desc database mading;...
2018-10-05 12:17:45 379
原创 mapreduce的多job串联
代码书写 package mrpro924; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io...
2018-09-28 09:43:34 739
原创 mapreduce的自定义排序
bean类 package mrpro927; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import org.apache.hadoop.io.Writable; import org.apache.hadoop.io.WritableComparable; /* * ...
2018-09-28 08:36:56 2159 1
原创 mapreduce进行数据去重的简单案例
package mrpro927; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Nul...
2018-09-27 19:52:38 2013
原创 自定义类bean进行MapReduce参数传输
数据类型: 1363157984041 13660577991(手机号) 5C-0E-8B-92-5C-20:CMCC-EASY 120.197.40.4 s19.cnzz.com 站点统计 24 9 6960(上行流量) 690(下行流量) 200 需求: 求每个手机号的上行,下行流量总和,和总流量,并以bean方式传输,并按照手机号开头三位进行分区 统计类: package mrpro92...
2018-09-27 15:29:24 983
原创 maptask和reduceta的并行度
maptask的并行度 同一时间内,maptask任务同时运行的数量。 一个maptask任务对应一个逻辑切片,split 注意与文件切块的区别: 文件切块block是hdfs存储的单位,物理上的切分,不同的块可能存在不同的节点上 文件切片是一个逻辑概念,是maptask任务执行对应的数据单元,并没有物理切分 切片的大小和切块的大小一样,并没有别的关系 修改方式 大于128m,修改最小值,minS...
2018-09-27 10:13:33 238
原创 mapreduce的shuffle过程
shuffle: 分区,排序,分组,Combiner map端shuffle reduce端shuffle 文件分成几个块,就有几个切片,就启动几个maptask 例子一个300m的文件,被分成3个块 bk1:0-127m bk2:128-255m bk3:256-300m 存2个副本,有三个datanode节点,一个块对应一个切片启动一个maptask maptask的输出结果进入到环形缓冲...
2018-09-26 15:26:51 250
原创 mapreduce入门案例wordcount
package mrpro924; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Long...
2018-09-25 15:06:51 366
原创 hadoop入门程序,wordcount本地版实现
实验环境 javaee windows 步骤: 1.先在d盘建一个test文件夹,里面新建一个文本文档随意输入几个单词 hello world tom hello mading world mading mading asdfasdfasdfasdfasdf 然后保存,再多复制几个这个文件 2.单个文件的词频统计代码 package mrpro924; import java.io.Buffe...
2018-09-24 23:51:57 376
原创 hdfs三大机制的流程
namenode的作用: 1.接收客户端的读写请求 2.保存元数据信息 3.分配副本的存放节点 4.负载均衡 secondarynamenode: 1.备份元数据 2.帮助namenode进行checkpoint,分担压力 datanode: 1.真正的数据存储 2.处理客户端的读写请求 hdfs三大机制 上传 下载 元数据合并 一。上传 客户端向namenode发送文件上传的请求 nam...
2018-09-24 12:18:30 729
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人