- 博客(78)
- 资源 (17)
- 收藏
- 关注
原创 HBase概述
HBase数据模型在BigTable论文中称HBase为 "sparse,distributed,persistent multidimensional sorted map" . 所以由此看来HBase本质看来是一个Map。实际上从逻辑视图来看,HBase中的数据是以表形式进行组织的。与关系型数据库一样,HBase的表也是由行列构成,因此HBase非常容易理解。但是从物理视图来看,HBase是一个Map由键值(KeyValue,KV)构成,不过与普通的Map不同,HBase是一个稀疏的、分布式的、..
2020-06-21 18:30:27
625
原创 Flume自定义Source之MysqlSource
场景描述:公司项目某一模块是数据源之间数据迁移,场景之一就是从Mysql中读取数据写入到其他的数据源,架构采用的的flume+kafa的形式,Kafka作为Channel,然后通过自定Source和Sink,将数据在不同的数据源之间迁移,而且效率还比较高,也不会丢数据;整理项目知识点的过程中打算写一下博客,结合一些机构的资料简单写一下自定义MysqlSource;主要考虑的几点:1、实时监控mysql数据库某张表的数据变化;2、根据offset和maxRecords去查询数据;3、将数据
2020-06-15 01:04:32
758
原创 Spring中的部分设计模式
Spring 中常用的设计模式设计模式在应用中遵循六大原则:a、开闭原则开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。b、里氏代换原则里氏代换原则(Liskov Subst...
2020-04-12 16:56:02
522
原创 Java8 新特性学习总结
Lambda表达式初步与函数式接口 初探:public class SwingTest { public static void main(String[] args) { JFrame jFrame = new JFrame("My JFream"); JButton jButton = new JButton("My JButton");...
2020-04-12 09:36:49
426
原创 Shell知识点回顾
shell基本的语法:定义变量:key=value 注意:等号两边不能有空格,使用字母数字下划线命名,但是不能以数字开发头,系统变量建议全大写字母撤销变量使用的是:unset命令声明静态变量:readonly 变量 注意:不能unset变量的值如果有空格,那么要加引号,默认是字符串,不能进行运算;export将变量提升为全局变量特殊变量:$n : n是数字,$0表示该脚本的名称...
2019-12-19 09:20:30
296
原创 Spark程序提交过程初探
背景:最近想去系统吃的看一看sparkCore的源码,一回想发现自己有一点懵 O(∩_∩)O哈哈~ 现在重新找回一下记忆一句很经典的话“No picture you say a JB” 那我们贯彻这个宗旨,先上一张图,看图说话O(∩_∩)O哈哈~有问题请直接拍脸上,让我清醒的认识到错误接下来就是一顿~~:这里分析的是standalone模式,我们编写好了spark程序...
2019-12-12 20:15:02
159
原创 Spark Core求topN案例
案例需求:1、对文本文件内的数字,取最大的前3个。2、对每个班级内的学生成绩,取出前3名。(分组取topN)实例:Java版本:topN和分组TopNimport java.util.List;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;impor...
2018-12-21 17:45:40
491
原创 Spark Core的二次排序案例
案例需求:1、按照文件中的第一列排序。2、如果第一列相同,则按照第二列排序。实例:Java版本:import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache....
2018-12-16 12:43:17
432
原创 Spark基于排序机制的wordcount程序
案例需求:1、对文本文件内的每个单词都统计出其出现的次数。2、按照每个单词出现次数的数量,降序排序。代码:Java版本:import java.util.Arrays;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark....
2018-12-15 18:45:32
318
原创 共享变量(Broadcast Variable和Accumulator)
共享变量工作原理:Spark一个非常重要的特性就是共享变量。默认情况下,如果在一个算子的函数中使用到了某个外部的变量,那么这个变量的值会被拷贝到每个task中。此时每个task只能操作自己的那份变量副本。如果多个task想要共享某个变量,那么这种方式是做不到的。Spark为此提供了两种共享变量,一种是Broadcast Variable(广播变量),另一种是Accumulator(累加...
2018-12-15 18:39:55
542
原创 RDD持久化
RDD持久化原理:Spark非常重要的一个功能特性就是可以将RDD持久化在内存中。当对RDD执行持久化操作时,每个节点都会将自己操作的RDD的partition持久化到内存中,并且在之后对该RDD的反复使用中,直接使用内存缓存的partition。这样的话,对于针对一个RDD反复执行多个操作的场景,就只要对RDD计算一次即可,后面直接使用该RDD,而不需要反复计算多次该RDD。巧妙使用RD...
2018-12-15 18:27:45
834
原创 action操作开发实战
1、reduce:2、collect:3、count:4、take:5、saveAsTextFile:6、countByKey:7、foreach:Java版本:import java.util.Arrays;import java.util.List;import java.util.Map;import org.apache.spark.SparkConf;im...
2018-12-15 18:12:59
349
1
原创 transformation操作开发实战
1、map:将集合中每个元素乘以22、filter:过滤出集合中的偶数3、flatMap:将行拆分为单词4、groupByKey:将每个班级的成绩进行分组5、reduceByKey:统计每个班级的总分6、sortByKey:将学生分数进行排序7、join:打印每个学生的成绩8、cogroup:打印每个学生的成绩scala版本:import org.apache.spark....
2018-12-15 18:12:41
332
原创 操作RDD
transformation和action介绍Spark支持两种RDD操作:transformation和action。transformation操作会针对已有的RDD创建一个新的RDD;而action则主要是对RDD进行最后的操作,比如遍历、reduce、保存到文件等,并可以返回结果给Driver程序。例如,map就是一种transformation操作,它用于将已有RDD的每个元素传...
2018-12-15 18:12:25
295
原创 RDD创建
进行Spark核心编程时,首先要做的第一件事,就是创建一个初始的RDD。该RDD中,通常就代表和包含了Spark应用程序的输入源数据。然后在创建了初始的RDD之后,才可以通过Spark Core提供的transformation算子,对该RDD进行转换,来获取其他的RDD。Spark Core提供了三种创建RDD的方式,包括:使用程序中的集合创建RDD;使用本地文件创建RDD;使用...
2018-12-15 18:12:08
244
1
原创 spark的基本工作原理与RDD
spark的核心编程:RDD:1、RDD是Spark提供的核心抽象,全称为Resillient Distributed Dataset,即弹性分布式数据集。2、RDD在抽象上来说是一种元素集合,包含了数据。它是被分区的,分为多个分区,每个分区分布在集群中的不同节点上,从而让RDD中的数据可以被并行操作。(分布式数据集)3、RDD通常通过Hadoop上的文件,即HDFS文件或者Hiv...
2018-12-15 18:10:55
748
原创 Redis五大数据类型常用操作:
Key的命令:DEL key该命令用于在 key 存在时删除 key。EXISTS key 检查给定 key 是否存在。EXPIRE key seconds为给定 key 设置过期时间。PERSIST key 移除 key 的过期时间,key 将持久保持。TTL key 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。RENAME key newkey 修改 k...
2018-05-10 20:29:00
213
原创 HDFS编程之 .zip 转 .gz
import java.io.File;import java.io.IOException;import java.util.zip.GZIPOutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipInputStream;import org.apache.hadoop.conf.Configuration...
2018-05-02 20:20:42
360
转载 B+Tree原理及mysql的索引分析
转载:http://www.cnblogs.com/xiaoxi/p/6894610.html点击打开链接一、索引的本质 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。 我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的...
2018-04-24 22:27:00
934
转载 几种设计模式
一、概况总体来说设计模式分为三大类:(1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。(2)结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。(3)行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。二、设计模式的六大原则...
2018-04-24 22:24:43
197
原创 使用scala实现简单的rpc案例
题目:使用scala的actor构建一个简单的RPC调用实例模仿ResourceManager和NodeManager之间的交互,1、NodeManager向ResourceManager进行注册(传递的参数是:主机名、内存、CPU、端口)2、ResourceManager将接收到的消息进行消息匹配,如果是注册消息,将消息保存3、发送注册请求的response给NodeManager(传递host...
2018-04-19 23:06:44
589
原创 Sqoop操作文档
导入:--connect 指定数据库链接url--username 指定数据库的用户名--password 指定数据库的密码--table 指定要导出数据的mysql数据库表-m 指定MapTask的个数--target-dir 指定导出数据在HDFS上的存储目录--fields-terminated-by 指定每条记录中字段之间的分隔符--where 指定查询...
2018-04-19 20:35:50
247
原创 MapReduce练习-----倒排索引
数据1:huangbo love xuzhenghuangxiaoming love baby huangxiaoming love mimiliangchaowei love liujialing数据2:hello huangbohello xuzhenghello huangxiaoming题目一:编写 MapReduce 求出以下格式的结果数据:统计每个关键词在每个文档中当中...
2018-04-15 15:45:45
1201
原创 MapReduce基础回顾题目
week1,A0001,10,20week1,A0002,8.5,15week1,A0003,9.2,30week1,B0001,10.5,50week2,A0001,11,30week2,A0002,8,20week2,A0003,9.2,20week2,B0001,10,55week3,A0001,9.5,10week3,A0002,8.8,30week3,A0003,9....
2018-04-15 10:43:30
1470
2
原创 MapReduce练习-----数字排序并加序号
数字排序并加序号:源数据: 最后结果:2 1 232 2 6654 3 1532 4 2215 5 26756 ...
2018-04-14 19:47:29
1969
原创 MapReduce练习-----版本变动
题目要求:在所有有版本变动的记录后面追加一条字段信息:该信息就是上一个版本的版本号,只限同用户例如:20170308,黄渤,光环斗地主,10,360手机助手,0.2版本,北京20170308,黄渤,光环斗地主,13,360手机助手,0.3版本,北京,0.2版本20170308,徐峥,光环斗地主,14,360手机助手,0.3版本,北京20170308,徐峥,光环斗地主,15,360手机助手,0.4版...
2018-04-14 14:02:55
367
原创 MapReduce练习-----学生成绩相关题目
统计需求:1、统计每门课程的参考人数和课程平均分2、统计每门课程参考学生的平均分,并且按课程存入不同的结果文件,要求一门课程一个结果文件,并且按平均分从高到低排序,分数保留一位小数。3、求出每门课程参考学生成绩最高的学生的信息:课程,姓名和平均分。数据及字段说明:computer,huangxiaoming,85,86,41,75,93,42,85computer,xuzheng,54,52,8...
2018-04-14 12:43:14
10829
3
转载 Hive 优化
1、介绍首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题?数据量大不是问题,数据倾斜是个问题。jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是map reduce作业初始化的时间是比较长的。sum,count,max,min等UDAF,不怕数据倾斜问题,hadoop在map端的汇总合并优化,使数据倾斜不成...
2018-04-11 13:06:17
176
转载 Hive UDTF 函数的编写
在这篇文章中,我们将深入了解用户定义表函数(UDTF),该函数的实现是通过继承org.apache.hadoop.hive.ql.udf.generic.GenericUDTF这个抽象通用类,UDTF相对UDF更为复杂,但是通过它,我们读入一个数据域,输出多行多列,而UDF只能输出单行单列。如果你想浏览代码:fork it on Github:https://github.com/rathboma...
2018-04-10 23:23:39
863
转载 Hive UDAF 函数的编写
UDAF是Hive中用户自定义的聚集函数,Hive内置UDAF函数包括有sum()与count(),UDAF实现有简单与通用两种方式,简单UDAF因为使用Java反射导致性能损失,而且有些特性不能使用,已经被弃用了;在这篇博文中我们将关注Hive中自定义聚类函数-GenericUDAF,UDAF开发主要涉及到以下两个抽象类:org.apache.hadoop.hive.ql.udf.generic...
2018-04-10 23:14:23
18049
4
转载 Hive UDF 函数的编写
编写Apache Hive用户自定义函数(UDF)有两个不同的接口,一个非常简单,另一个...就相对复杂点。如果你的函数读和返回都是基础数据类型(Hadoop&Hive基本writable类型,如Text,IntWritable,LongWriable,DoubleWritable等等),那么简单的API(org.apache.hadoop.hive.ql.exec.UDF)可以胜任。但是...
2018-04-10 22:54:37
682
原创 Hive影评案例二
现有如此三份数据:1、users.dat 数据格式为: 2::M::56::16::70072对应字段为:UserID BigInt, Gender String, Age Int, Occupation String, Zipcode String对应字段中文解释:用户id,性别,年龄,职业,邮政编码2、movies.dat 数据格式为: 2::Jumanji (1995)::Adve...
2018-04-10 22:06:28
860
原创 Hive影评案例一
现有如此三份数据:1、users.dat 数据格式为: 2::M::56::16::70072对应字段为:UserID BigInt, Gender String, Age Int, Occupation String, Zipcode String对应字段中文解释:用户id,性别,年龄,职业,邮政编码2、movies.dat 数据格式为: 2::Jumanji (1995)::Adve...
2018-04-10 20:56:25
1576
原创 Hive面试题四
现有一份以下格式的数据:表示有id为1,2,3的学生选修了课程a,b,c,d,e,f中其中几门:id course 1,a1,b1,c1,e2,a2,c2,d2,f3,a3,b3,c3,e编写Hive的HQL语句来实现以下结果:表中的1表示选修,表中的0表示未选修id a b c d e f1 1 1 1 0 1 02 1 0 1 1 0 13 1 ...
2018-04-10 16:46:40
649
原创 Hive面试题三
20140101142014010216201401031720140104102014010506201201060920120107322012010812201201091920120110232001010116200101021220010103102001010411200101052920130106192013010722201301081220...
2018-04-10 16:37:08
437
原创 Hive面试题二
// 建表语句:CREATE TABLE `course` ( `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `sid` int(11) DEFAULT NULL, `course` varchar(255) DEFAULT NULL, `score` int(11) DEFAULT NULL ) ENGINE=InnoDB...
2018-04-10 16:27:52
377
1
原创 Hive面试题一
现有这么一批数据,现要求出:每个用户截止到每月为止的最大单月访问次数和累计到该月的总访问次数三个字段的意思:用户名,月份,访问次数A,2015-01,5A,2015-01,15B,2015-01,5A,2015-01,8B,2015-01,25A,2015-01,5A,2015-02,4A,2015-02,6B,2015-02,10B,2015-02,5A,2015-03,1...
2018-04-10 16:21:03
1574
原创 Hive的原理架构一
一、首先是概念:大体可以划分为七个方面,这样有利于理解记忆:1、由FaceBook实现并开源;2、基于Hadoop的开源数据仓库工具,用于存储结构化的数据;3、可以将结构化的数据映射为一张数据库表;4、底层数据存储在HDFS文件系统上,描述数据的数据(元数据)存储在derby或者是远程数据库中,如:mysql;5、提供一套类数据库的处理机制,HQL查询功能;6、本质是将SQL语句转换为MapRed...
2018-04-10 13:57:04
5289
原创 awk详解
简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfred Aho 、Pete...
2018-04-07 21:40:49
187
原创 Sed详解
1. Sed简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍...
2018-04-07 21:29:11
300
机器学习实战:基于Scikit-Learn和TensorFlow azw3版本和pdf版本
2019-01-07
xwork core 2.3.4.jar
2016-05-08
jacc-1_0-fr.jar包
2016-05-07
jaas.jar开发工具包
2016-05-07
dsn.jar邮件发送使用的jar包之一
2016-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人