自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 表单验证学习

<html><script type="text/javascript"> function check(){ if(document.getElementById("username").value==""){ alert("用户名不能为空!"); document.getElementById("username").focus(); return false; }

2017-01-15 17:37:16 354

转载 利用MapReduce解决在海量数据中求Top K个数<转>

package jtlyuan.csdn; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured; import org.apache.hadoop.fs.Path;

2016-12-11 14:41:36 555

转载 Hadoop Partition使用实例<转>

Hadoop Partition使用实例<转> 如何使用Hadoop的Partitioner Hadoop里面的MapReduce编程模型,非常灵活,大部分环节我们都可以重写它的API,来灵活定制我们自己的一些特殊需求。今天散仙要说的这个分区函数Partitioner,也是一样如此,下面我们先来看下Partitioner的作用: 对map端输出的数据key作一个散列,使数据能够均匀分布在各个

2016-12-11 14:11:49 981

转载 Linux中文件中字符替换

方法有二:(一)通过vi编辑器来替换。参考博文:http://www.linuxdiyf.com/viewarticle.php?id=99843http://kingaragorn.javaeye.com/blog/467308vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用编辑软件进行替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询

2016-12-10 12:26:36 1478

转载 Map Join和Reduce Join的区别

MapReduce Join对两份数据data1和data2进行关键词连接是一个很通用的问题,如果数据量比较小,可以在内存中完成连接。如果数据量比较大,在内存进行连接操会发生OOM。mapreduce join可以用来解决大数据的连接。 1 思路 1.1 reduce join在map阶段, 把关键字作为key输出,并在value中标记出数据是来自data1还是data2。因为在shuffle阶

2016-12-08 10:29:04 2718

原创 awk脚本实现wordcount

今天学习了linux下的shell脚本, 写了一个小例子wordcount: 1.数据文件$ cat word.txt baidu 100 5000 pukai 100 5000 6000diwenpu di di di wen wenpu p u2.awk脚本 $ cat ak.awk #!/bin/awk -f# 开始BEGIN{}# 运行中{ for(i=1;i<

2016-12-02 21:35:27 1702

原创 第一次面试

第一次面试实习生就这么失败了。。。。确实是自己的能力不够的原因!继续加油,努力!!不放弃

2016-12-01 23:13:12 217

转载 Hive优化问题

1.HADOOP计算框架特性 • 数据量大不是问题,数据倾斜是个问题。 • jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是map reduce作业初始化的时间是比较长的。 • sum,count,max,min等UDAF,不怕数据倾斜问题,hadoop在map端的汇总合并优化,使数据倾斜不成问题。

2016-11-24 22:02:13 373

原创 Hive中的排序

Hive编程指南,记录排序的规则: Hive中的排序: 1.order by: 会对所有的数据进行一个全局排序,所有的数据都会通过一个Reduce进行处理,对于 大规模的数据会消耗特别长的时间。 2.sort by: 其只会在在每个reduce中对数据进行排序,也就是执行一个局部排序的过程。这可以 保证每个reduce的输出都是有序的(并非全局有序)。这

2016-11-24 21:55:01 813

原创 MapReduce处理过程分析

Map阶段: 1. 使用job.setInputFormatClass(TextInputFormat)做为输入格式。注意输出应该符合自定义Map中定义的输出。 2. 调用job.setPartitionerClass(),对指定的key落在具体的分区 3. 每个分区内又调用job.setSortComparatorClass()设置的key比较函数类排序(如果没有

2016-11-24 09:28:37 485

原创 Hive常规操作总结

Hive目录的说明 ● bin: 包含了各种Hive服务的可执行文件例如CLI命令行界面 ● .hiverc: 位于用户的主目录下的文件,如果不存在可以创建一个 里边的命令可以在启动CLI时,会先自动执行! ● metastore(元数据存储): Hive所需要的组件只有元数据信息是hadoop没有的,它存储 了表的

2016-11-21 23:01:15 515

原创 MapReduce优化问题

总结了一下MR优化问题,涉及到hadoop1.0和2.0的调优 1. 从集群的性能方面: 集群能够同时运行Map或者Reduce任务的最大任务数 假设一台机器最多能同时运行10个Map任务和5个Reduce任务, 这个集群有100台服务器,那么map的任务槽就是1000,Reduce的任务槽就是500 合理的设置Map和Reduce任务数: map:具体

2016-11-21 17:47:48 339

原创 MapReduce表关联

今天重新学习了表关联,为了以后用到的时候能够快速想到。这里记录下来设计的思想: 由于多表关联跟单表关联一样,甚至如果是两个表,那么的结构更加清新,所以只记录单表关联 单表关联: 所谓单表关联,即使特殊的多表关联,表关联一个思想就是区分出左右表,最后求笛卡尔积即可! 实例: child parent tom lucy tom jack jone luc

2016-11-20 16:12:00 468

原创 Hadoop作业构建中的主要方法

在主函数里边有几个方法的说明:Configuration conf = new Configuration(); // 配置设定 Job job = Job.getInstance(conf, “word count”); // 得到作业 job.setJarByClass(WordCount.class); // 主类名job.setOutputKeyClass(); //

2016-11-19 14:36:51 377

原创 Reduce端的Iterable集合的理解:

Iterable: 1.value里边的每个数值在内存中是用完全二叉树存储的形式存储的(小顶堆) 2.小顶堆的顶端(根节点)存储着按排序后的最大或最小值(小顶堆的特性) (到底是最大还是最小根据你的排序规则确定) 3.每次循环一次,小顶堆的堆顶数值都会改变,但是不变的是顶堆的数一定是最大或最小值(小顶堆的特性) 4.当第一次调用这个reduce(Text,Iterable,Context)

2016-11-18 21:27:55 712

原创 模拟操作系统进程调度算法

先来先服务算法: 1.链表存储 2.输入要有先后顺序(没有设计排序算法)#include<iostream>#include <conio.h>#include<stdlib.h>#include<time.h>#include <windows.h>using namespace std;#define NULL 0int N = 0;//全局变量N,节点个数//进程节点type

2015-11-09 21:25:47 1413

原创 舞伴问题(链队)

问题: 假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。 跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。 若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。 现要求写一算法模拟上述舞伴配对问题 程序功能: 能够使男女依次组合,如若男女相等配对完成,否则输出等待下一轮的男士或者女士。 算法: 学习队列于是采用链队

2015-09-17 11:21:46 3024 2

原创 计算器(栈实现)

算法: 1.先利用ARR[]存储所需要计算的表达式字符串; opnd存储操作数的栈,optr存储运算符的栈; arr[]存储连续的数字字符,然后转化的整型数; 2.依次读入ARR[]的每个字符(flag为标记),如果是数字字符转化后入opnd栈; 3.如果是运算符,则比较读入的字符与optr栈顶的运算符,根据事先确定的顺序决定是继续读入,是提取opnd的两个操作数计算,还是消除括号; 4

2015-09-12 13:14:47 635

原创 第七章:指针(二级指针与多维数组)

1.创建一个数组,其中包含三个数组指针,每个数组都可以包含六个int类型的值,把第一个整数数组的值设为1到6,下一个数组的元素值设置为第一个数组元素的平方,第三个数组的元素值设为第一个整数数组的三次方,输出3个数组的内容,再释放已分配的内存.#include<iostream>using namespace std;const int row = 3;const int col = 6;i

2015-09-08 21:30:08 473

原创 顺序栈(10进制转化成8进制数)

算法:1.利用辗转相除法求得每次的余数为8进制数;2.所产生的8进制数是按从低位到高位的顺序产生的,利用栈的来处理很适合,不用在设计其他的算法颠倒输出了!3.采用顺序栈简单灵活!4.代码没有设计一个类的方法,(有点麻烦)但是思想还是c++根据行为,执行操作#include<iostream>using namespace std;#define NULL 0const int MA

2015-09-08 10:19:15 2093

原创 第六章:数组和字符串

//练习题://1.例如:如果用户输入了字符串"Our house is at your disposal.",//要查找的单纯是our,则得到的字符串应该是"***house is at your disposal."而不是"***house is at y*** disposal."#include <stdlib.h>#include <stdio.h>#include <iostr

2015-09-01 10:31:46 400

原创 链栈的学习(回文数)

思路: 1.先用arr1[]存入字符串 2.把arr2[]中的字符入栈 3.把栈中字符出栈并存入arr2[]中 4.比较arr与arr2,相同则是回文数,反之则不是----------#include<iostream>using namespace std;#define NULL 0 struct node{ char x ; struc

2015-08-31 12:49:03 602

原创 第五章:循环

//练习题//1:编写一个程序,输出1到用户输入的数字之间的所有奇数的平方/////////////////////////////////////////////////////////////////////////////////////*#include<iostream>using namespace std ;int main (){ cout<<"输入一个数计算1~

2015-08-28 20:03:51 414

原创 第四章:选择if ()

//1:创建一个程序,提示用户输入一个1到100之间的整数,使用if语句判断该整数是否在设定的范围之内,//如果是,在判断整数是否大于,小于或等于50/*#include<iostream>using namespace std;int main (){ cout<<"输入一个整数:" ; int x = 0 ; cin>>x ; if (x > 1 &&

2015-08-26 19:01:53 401

原创 第三章:处理基本数据类型

练习题/////////////////////////////////////////////////////////////////////1:编写一个程序,计算用户输入非0整数的倒数,该程序应把计算的结果存储在double类型的变量中,再输出它#include<iostream>using namespace std;int main (){ int x = 0 ;

2015-08-26 19:00:10 348

原创 第二章:基本数据类型和计算

练习题://///////////////////////////////////////////////////////////////////// 1:编写一个程序,计算圆的面积.该程序应提示输入圆的半径, 使用公式area = pi*radius*radius 计算面积,在显示结果 *//*#include<iostream>using namespace std;cons

2015-08-26 18:49:36 397

原创 计算器(链表实现)

思路: 1.分为两步计算,第一步先计算括号里面的数据!没计算完一个括号以后,判断是否括号已经消除完毕,消除完毕结束循环 2.消除完,先计算乘除后计算加减,(在处理括号理同时含有乘除和加减时,调用此过程) 总结: 1.要画出循环图来,保证思路清晰!每个细节要注意到并以适当的方式改正过来! 漏洞: 由于采用的是字符数组的形式存储数字,但是不会把负数和小数点以数组的形式存储进去,所以整个过程当

2015-08-17 19:42:36 2254

原创 简单实现了一个学生成绩信息管理系统

要求: 1.该程序以链表的形式存储信息; 2.系统实现添加,查找,修改,删除,遍历操作的基本功能; 总结: 1.最大的问题没有建立一个管理系统的类,把各个功能当做管理类的成员函数,通过调用函数来操作,有待进一步改进!!!!//************************************学生信息管理系统********************#include<stdlib.h>#

2015-08-11 19:04:12 2480

原创 结构体练习统计学生成绩

#include<stdlib.h>#include<string.h>#include<iostream>using namespace std;typedef struct{ int num; char name[10]; int yuwen; int shuxue; int yingyu; double avg;}student;v

2015-08-06 23:38:23 788

原创 学习指针型函数和指向函数的指针

#include<stdlib.h>#include<string>#include<math.h>#include<iostream>using namespace std;char *str(char *a , char *b);int main(){ char str1[] = "Hello "; char str2[] = "Welcome C++";

2015-08-03 23:33:18 397

原创 练习使用条件编译

#include<stdlib.h>#include<string>#include<math.h>#include<iostream>#define PI 3.1415926using namespace std;int main(){ double s = 0, r, c; cout<<"输入半径 r = "; cin>>r;#ifdef PI

2015-08-02 20:39:10 274

原创 自己编写实现strcat()和strcmp()函数

#include<stdlib.h>#include<string>#include<math.h>#include<iostream>using namespace std;void cat (char array1[] ,int m , char array2[] ,int n ); //m,n分别为数组的长度!void cmp (char array1[] ,int m , c

2015-08-01 12:56:41 1837

原创 选择排序

算法: 把未排序的部分的最小值找出插入到已排序的后边,内层遍历完一次就找到一个最小的,外层控制插入到已排序的后面。#include<stdlib.h>#include<string>#include<math.h>#include<iostream>using namespace std;template<typename T , int size>void sort ( T

2015-07-29 13:22:00 361

原创 ********冒泡排序算法**********

#include<stdlib.h>#include<string>#include<math.h>#include<iostream>using namespace std;void maopao (int array[] , int n);int main(){ int array[10]; int n; cout<<"输入要排序的10个数字:";

2015-07-28 11:10:08 346

原创 输出(x/1!)+(x*x*x/3!)+(x*x*x*x*x/5!)+````

学习使用递归算法#include<stdlib.h>#include<string>#include<math.h>#include<iostream>using namespace std;double digui (double x,double n);double jich (double x);int main(){ double x, n; cout<<"输

2015-07-26 16:55:00 743

原创 递归实现求Fibonacci数列的第n项

#include<stdlib.h>#include<string>#include<math.h>#include<iostream>using namespace std;int jich (int x);int main(){ int n; cout<<"输出数列的第n项:"; cin>>n; cout<<"Fibonacci数列的第n个数为:"<

2015-07-25 21:52:31 5415 1

原创 杨辉三角7.24

杨辉三角7.24算法: 1.本题只考虑到了行,每行的输出用一个数组实现,b[20]; 2.下一行等以上一行的前后两个元素相加;把a[20]当成临时储存上一行的数组;#include<string.h>#include<stdlib.h>#include<iostream>using namespace std;int main(){ int a[20] = {0

2015-07-24 16:51:51 371

原创 strcat()函数与strlen()函数与strcpy()的使用

trcat()函数与strlen()函数(7.21)#include<string.h>#include<stdlib.h>#include<iostream>using namespace std;int main(){ char str1[100], str2[100]; cin>>str1; cin>>str2; //cout<<str1<<"\n";

2015-07-21 22:51:33 681

原创 gets()与puts()和cin>>与cout<<的比较

—–gets()与puts()和cin>>与cout<<的比较(7.21)—–#include<string.h>#include<stdlib.h>#include<iostream>using namespace std;int main(){ char a[100], b[100]; cout<<"输入一个字符串(gets方式):"; gets (a);

2015-07-21 22:45:00 2322

原创 1000以内水仙花数(嵌套循环)

*1000以内水仙花数(嵌套循环) 7.20*水仙花数:(各位的立方和等于该数值本身) 算法实现: 1.首先定义三个变量把这个数分解成为百位,十位,和个位。 2.每一个数 int n又可以用(百位*100+十位*10+个位)间接求得。 3.再判断是否 int n与各个位的立方之和 int m相等即可。*#include

2015-07-20 18:34:13 2317

空空如也

空空如也

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

TA关注的人

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