- 博客(51)
- 收藏
- 关注
转载 MySQL两种批量插入的实现案例
PreparedStatement:1) addBatch()将一组参数添加到PreparedStatement对象内部。2) executeBatch()将一批参数提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。Statement:1) addBatch(String sql)方法会在批处理缓存中加入一条sql语句。2) execute
2016-12-12 11:23:23 2613
转载 java 内部类
说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有不正之处,请多谅解并欢迎批评指
2016-11-28 16:30:01 443
转载 Java中(静态)变量、(静态)代码块的执行顺序
首先创建3个类:1、Foo类,用于打印变量public class Foo { public Foo(String word) { System.out.println(word); }}2、Parent类public class Parent { static Foo FOO = new Foo("Parent's
2016-11-28 14:36:54 398
转载 java HashSet和LinkedHashSet的区别与使用
类HashSet和LinkedHashSet都是接口Set的实现,两者都不能保存重复的数据。主要区别是HashSet不保证集合中元素的顺序,即不能保证迭代的顺序与插入的顺序一致。而LinkedHashSet按照元素插入的顺序进行迭代,即迭代输出的顺序与插入的顺序保持一致。以下是HastSet和LinkedHashSet的用法示例:[java] view
2016-11-28 09:40:12 1363
转载 hadoop二次排序、分组、排序和分区
关于二次排序主要涉及到这么几个东西:在0.20.0 以前使用的是setPartitionerClass setOutputkeyComparatorClasssetOutputValueGroupingComparator 在0.20.0以后使用是job.setPartitionerClass(Partitioner p);job.setSo
2016-11-24 10:40:47 1255
转载 hadoop mapreduce自定义排序
说到排序我们可以查看下hadoop源码里面的WordCount例子中对LongWritable类型定义,它实现抽象接口WritableComparable,代码如下:123456public interface WritableComparableextends Writable, Comparab
2016-11-24 10:12:19 645
转载 hadoop自定义分区函数
首先我们明确一下关于中这个分区到底是怎么样,有什么用处?回答这个问题先看看上次代码执行的结果,我们知道结果中有个文件(part-r-00000),这个文件就是所有的词的数量记录,这个时候有没什么想法比如如果我想把一些包含特殊的词放置单独的一个文件,其他我不关心的放置在另一个文件这样我就好查看方便多了,又比如如果是统计关于人的某些爱好那我是不是可以把童年的放置在一个文件,成年的放置在一个文件等等这样
2016-11-24 09:52:01 1788
转载 Java中,&&与&,||与|的区别
在Java的逻辑运算符中,有这么四类:&&(短路与),&,|,||(短路或)。&&和&都是表示与,区别是&&只要第一个条件不满足,后面条件就不再判断。而&要对所有的条件都进行判断。看下面的程序:[html] view plain copy print?public static void main(String[] args)
2016-11-24 09:39:30 476
转载 Java堆、栈和常量池以及相关String的详细讲解
一:在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register)。 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 ------最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 堆栈(sta
2016-11-24 09:33:39 363
转载 java常见的四种访问权限
pubicprotecteddefaultprivate同一类中的成员是是是是同一包中的成员是是是否不同包的子类是是否否不同包的非子类是否否否
2016-11-24 09:26:44 497
转载 java 中的HashMap的一些实现细节
HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。一、定义 HashMap实现了Map接口,继
2016-11-24 09:21:24 234
转载 操作系统中进程和线程的一些概念
一、进程进程:指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。 注意,进程一般有三个状态:就绪状态、执行状态和等待状态【或称阻塞状态】;进程只能由父进程建立,系统中所有的进程形成一种进程树的层次体系;挂起命令可由进程自己和其他进程发出,但是解除挂起命令只能由其他进程发出。进程控制块(PCB):P
2016-11-24 09:12:48 4841 1
转载 java ArrayList和LinkedList的区别与使用技巧
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势,因
2016-11-24 08:57:18 478
转载 java wait()和sleep()的区别
对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等
2016-11-24 08:48:38 515
转载 Hash冲突的一点看法
虽然我们不希望发生冲突,但实际上发生冲突的可能性仍是存在的。当关键字值域远大于哈希表的长度,而且事先并不知道关键字的具体取值时。冲突就难免会发 生。另外,当关键字的实际取值大于哈希表的长度时,而且表中已装满了记录,如果插入一个新记录,不仅发生冲突,而且还会发生溢出。因此,处理冲突和溢出是 哈希技术中的两个重要问题。1、开放定址法 用开放定址法解决冲突的做法是:当冲突发生时,
2016-11-24 08:43:38 476
转载 java中的Set、List、Map的区别与用法
对JAVA的集合的理解是想对于数组 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型. JAVA集合主要分为三种类型: Set(集) List(列表) Map(映
2016-11-24 08:37:44 295
转载 mysql 数据的备份与恢复
导出导出全库备份到本地的目录mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --lock-all-tables --add-drop-database -A > db.all.sql导出指定库到本地的目录(例如mysql库)
2016-11-21 22:21:04 365
转载 flume source channel sink
Flume SourceSource类型说明Avro Source支持Avro协议(实际上是Avro RPC),内置支持Thrift Source支持Thrift协议,内置支持Exec Source基于Unix的command在标准输出上生产数据JMS Source从JMS系
2016-11-20 21:32:57 489
原创 hbase和hive的一些调优心得
Hive优化:1、开启limit,防止过多的数据查询造成时延2、开启严格模式,禁止三种模式的查询(查询全部分区而没有where限制、使用order by查询而没有limit限制,)3、合理的设置map reduce的个数,不能过多或者过少4、使用本地模式,对于一些数据量小的查询,减少开启job的时间5、使用map端jion,将数据量小的表,放在join的左边,直接加入内存6
2016-11-20 16:01:13 2015
转载 java 设计模式与设计原则
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真
2016-11-20 13:28:31 528
转载 java 泛型
一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("qqyumidi")
2016-11-19 21:46:38 262
转载 java 常见的算法
1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序不稳定:快速排序,希尔排序,堆排序。先来看看8种排序之间的关系: 1.直接插入排序(1)基本思想:在要排
2016-11-19 21:08:47 661
转载 hive 的四种排序
order byorder by 会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。set hive.mapred.mode=nonstrict; (default value / 默认值)set hive.mapred.mode=strict; order b
2016-11-16 21:24:15 12068 1
转载 hive常用的内置函数
一、关系运算:1. 等值比较: = 语法:A=B 操作类型:所有基本类型 描述:如果表达式A与表达式B相等,则为TRUE;否则为FALSE 举例: Hive>select 1 from lxw_dual where 1=1; 12. 不等值比较: 语
2016-11-16 21:09:04 653
转载 hive中UDF跟UDAF使用说明
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。一、背景:1、Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:a)文件格式:Text File,Sequence Fileb)内存中的数据格式: Jav
2016-11-16 11:26:36 496
转载 hadoop集群调优---参数
Hadoop参数调优:通过修改hadoop三个配置文件的参数来提高性能。主要有三个文件core-site.xml、hdfs-site.xml、mapred-site.xml。下面分别介绍这三个文件常用的参数配置。我们的环境上面的路径是: /usr/lib/hadoop/etc/hadoop三个配置文件介绍:core-site.xml该文件中是集群的一些基本参数,与had
2016-11-15 11:58:02 727
转载 HBase性能调优---rowkey的设计
1 概述HBase是一个分布式的、面向列的数据库,它和一般关系型数据库的最大区别是:HBase很适合于存储非结构化的数据,还有就是它基于列的而不是基于行的模式。既然HBase是采用KeyValue的列存储,那Rowkey就是KeyValue的Key了,表示唯一一行。Rowkey也是一段二进制码流,最大长度为64KB,内容可以由使用的用户自定义。数据加载时,一般也是根据Rowke
2016-11-15 10:47:03 720
转载 阿里巴巴HBase性能优化及容灾经验
【51CTO专稿】随着市场规模的扩大,产品与技术的发展,业务数据量越来越大,对海量数据的高效写入和读取变得越来越重要。 HBase 是一个分布式的可扩展、非关系型开源数据库。它很好地用 JAVA 实现了 Google 的 Bigtable 系统大部分特性,因此在数据量猛增的阿里巴巴非常受欢迎。本文中,阿里巴巴数据库技术专家朱金清(穆公)给大家分享了阿里巴巴 HBase 性能优化及容灾方面的经验
2016-11-15 10:24:48 765
原创 spark-shell/spark-sql --master yarn的一些坑 ---001
一、错误描述:Exception in thread "main" org.apache.spark.SparkException: Application application_1479132065716_00原因:我的是JDK版本过高,使用spark2.0.1+hadoop2.5.2+hive0.13+JDK1.7没问题二、错误描述:Exception in thread
2016-11-14 22:42:33 1782
转载 Spark on Yarn ”爬坑“集锦(spark1.2)
遇到的"坑"和爬坑思路1、SparkSql on yarn-client模式遇到找不到mysql驱动包问题。解决方案:这个比较简单直接编辑$SPARK_HOME/conf/spark-env.sh文件,将mysql的驱动jarexport进去,如:1export SPARK_CLASSPATH=$SPARK_CLASSPATH
2016-11-14 11:22:55 651
原创 spark sql
从实际开发的角度来看,有两大类:1》写sql语句通过spark-sql命令,进入一个命令窗口,直接写sql语句1 normal sql2 hive sql2》API编程在eclipse中构建DataFrame对象,对此类对象进行sql的调用1 一种是直接将dataFrame对象,注册成一张临时表,然后写sql,对表进行查询val ret = sql
2016-11-14 11:21:12 407
原创 spark RDD
1、RDD特点:val rdd:[Stirng] = sc.textFile("") 1》每个RDD都有一个partition分区列表2》每个RDD上都有一个计算的function,val a = rdd.flatMap(_.split("")),此过程中会将方法应用到rdd上的这个方法(此处是flatMap)以及作为flatmap参数的匿名函数,这些信息,都会保存在rdd这个对象中,
2016-11-14 09:14:20 408
转载 spark常见的转换和动作
RDD支持两种操作:转换:从现有的数据集创建一个新的数据集;动作:在数据集上运行计算后,返回一个值给驱动程序。例如,map 是一种转换,它将数据集每一个元素都传递给函数,并返回一个新的分布数据集表示结果,而 reduce 是一种动作,通过一些函数将所有的元素叠加起来,并将最终结果返回给运行程序。Spark 中的 所有转换都是惰性的,也就是说,他们并不会直接计算结果。相反的,它们只是
2016-11-14 08:30:49 1021
转载 spark中的map与flatMap的一些见解
在spark中map函数和flatMap函数是两个比较常用的函数。其中 map:对集合中每个元素进行操作。 flatMap:对集合中每个元素进行操作然后再扁平化。 理解扁平化可以举个简单例子val arr=sc.parallelize(Array(("A",1),("B",2),("C",3)))arr.flatmap(x=>(x._1+x._2)).foreach(printl
2016-11-14 07:51:34 3461
转载 linux grep命令的使用见解
1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式grep [options]3.主要参数[options]主要参数:-c:只输出匹配行的计数。-I:不区分大 小写(
2016-11-13 23:09:02 410
转载 linux sed命令的一些使用见解
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般
2016-11-13 22:22:36 376
转载 linux AWK命令的一点使用见解
1、awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息2、awk处理过程: 依次对每一行进行处理,然后输出3、awk命令形式: awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ filepath [-F|-f|-v]大参数,-F指定分隔符,-f
2016-11-13 20:32:18 710
转载 java 中String , StringBuilder , StringBuffer的一些比较
1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。 private final char value[]; StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存
2016-11-13 20:28:39 345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人