- 博客(22)
- 资源 (5)
- 收藏
- 关注
原创 SPARK学习笔记
SPARK系统架构Hadoop虽然已成为大数据技术的事实标准,最主要的缺陷是其MapReduce计算模型延迟过高以及磁盘IO开销大,无法胜任实时、快速计算的需求,因而只适用于离线批处理的应用场景。SPARK相比于Hadoop的优势,1)Spark提供了内存计算, 大大减少了IO开销,中间结果直接放到内存中,带来了更高的迭代运算效率;2)Spark基于DAG的任务调度执行机制,要优于MapReduce的迭代执行机制。几个重要的概念:RDD:弹性分布式数据集(Resilient D.
2020-09-26 11:57:27 229
原创 KUDU学习笔记
Kudu现存系统针对结构化数据存储与查询的一些痛点问题,结构化数据的存储,通常包含如下两种方式:静态数据通常以Parquet/Carbon/Avro形式直接存放在HDFS中,吞吐能力大,适合离线分析,随机读写能力差,难以支持单条记录级别的更新。 可变数据的存储通常选择面向列族的HBase或者Cassandra,高效随机读写,吞吐能力小,不适合离线分析场景。Kudu的设计是结合了Hbase的高效随机读写和HDFS高吞吐能力一种折中处理,既能支持OLTP型实时读写能力又能支持OLAP型分析。另外一个
2020-09-06 18:58:34 581
原创 Hbase 学习笔记
HbaseHBASE由Google的Bigtable设计而来的面向列族的存储的非关系数据库,主要偏向适合数据分析。优点和缺点列式数据库优点,列式数据库会把相同列的数据都放在一块即列为单位存储。当我们查询某一列的时候只需要调出相应的块即可,这样还可以减少很多I/O。高压缩比如果数据元素间的相似性很高的话可以进行大幅度的压缩,相似度越高压缩比越大。即节约了空间又减少了I/O,从而提高性能。高并发,极易扩展Hbase的极易扩展主要体现在两个方面,一个是基于上层处理能力...
2020-09-06 17:33:35 2367 2
原创 HIVE架构
HIVE架构Hive组件用户接口/界面 Hive是一个数据仓库基础工具软件,可以创建用户和HDFS之间互动。用户界面,Hive支持是Hive的Web UI,Hive命令行,HiveHD洞察(在Windows服务器),用户提交查询的地方。Meta Store元数据存储 Hive选择各自的数据库服务器(一般是Mysql),用以储存表,数据库,列模式等元数据,在功能上Metastore分为两个部分:用户的请求服务和存储存储部署的三种模式:1.内嵌模式内嵌模...
2020-09-06 17:27:09 227
原创 一个简单的Spring MVC配置
一个简单的Spring MVC项目1)引入jar包,并/WEB-INF中添加web.xml文件引入包:把spring-framework-3.2.5.RELEASE/libs中的jar包全部jar包复制到项目的WebContent/WEB-INF/lib目录中即可。xmlversion="1.0"encoding="UTF-8"?>web-appid="WebApp_ID"
2016-06-03 14:47:09 330
原创 SQL常用命令
SQL常用命令表的操作//建表CREATETABLE 表名(属性 数据类型 约束条件, NAMEVARCHAR2(50) NOT NULL); //修改表名: ALTER TABLE 原来的表名TO 现在的表名; //修改列名 EXEC sp_rename '表名.[原列名]', '新列名', 'column' (Silver Lee实践有效)
2015-10-02 15:45:32 375
原创 数据库的优化
数据库的优化1).SQL语句优化a应尽量避免在 where 子句中使用!=或b应尽量避免在 where 子句中对字段进行 null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:selectid from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:selectid from t where num=
2015-10-02 15:44:24 392
原创 SQL连接(内连接、外连接、交叉连接)
SQL连接(内连接、外连接、交叉连接)假设现在有两个表:table1 , table2 table1: table2: id name id score 1 lee 1
2015-10-02 10:29:56 393
原创 volatile
volatile在编译器编译代码时候,一般都会作些减少存取内存的优化,但有可能会读脏数据,比如int *ip =...; //设备地址 *ip = 1; //第一个指令 *ip = 2; //第二个指令 以上程序compiler可能做优化而成: int *ip = ...; *ip = 2; 结果第一个指令丢失。但有的情况下,特别是硬件开发方面,在针对某些变量不希望
2015-09-30 11:03:11 415
原创 拷贝构造函数
拷贝构造函数拷贝构造函数一般为:类名(const 类名& C);它必须的一个参数是本类型的一个引用变量默认的拷贝构造函数是浅拷贝。拷贝构造函数常出现的地方:a对象以值传递的方式传入函数参数//全局函数,传入的是对象voidg_Fun(CExample C){ cout} intmain(){ CExample test(1); g_Fu
2015-09-25 16:35:45 582
原创 交叉验证
交叉验证:假设函数hi即按照某个模型进行训练得到的模型函数。 对于可选择的模型构成集合M,其中Mi表示一种类型的模型,比如逻辑回归、神经网络、SVM等某一种。对于训练集S将其分为两部分,70%的样本作为训练集Strain,30%的作为测试集Scv。这样我们用每个模型Mi用Strain进行训练得到假设函数hi,再用Scv去对这个hi进行测试得到误差e(hi)。这样对于每个模型对
2015-09-25 16:30:36 436
原创 网络协议HTTP、TCP/IP、Socket
网络协议HTTP、TCP/IP、Socket网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象; 传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。 http协议 对应于应用层 主要解决如何包装数据tcp协议 对应于传输层 主要解决数据
2015-08-27 10:54:54 442
原创 动态分区分配
动态分区分配动态分区分配是根据进程的实际需要,动态的为之分配内存的空间。总体是按照算法规则找到分配的空闲分区,然后从该分区中再按照作业的大小划出一块内存空间分给作业,该分区余下的空闲分区当做一个新的空闲分区留在空闲链中。当作业按照算法规则分配好了后,等作业运行完毕释放内存,系统根据回收区的首址,从空闲区链表中找到相应的插入点,此时可能出现以下4种情况之一:回收区与插入点的前一个空闲分区
2015-08-24 11:22:17 2160
原创 磁盘调度算法
磁盘调度算法磁盘调度为满足各个进程对对磁盘进行读/写操作的请求。由于有时候这些进程的发送请求的速度比磁盘响应的还要快,因此我们有必要为每个磁盘设备建立一个等待队列,常用的磁盘调度算法有以下四种:先来先服务算法(FCFS)根据进程请求访问磁盘的先后次序进行调度;最短寻道时间优先算法(SSTF)根据选择要访问的磁道与当前磁头所在的磁道距离最近磁盘优先访问扫描算法(SCAN)
2015-08-20 10:37:52 528
原创 常用的排序/查找算法的时间复杂度和空间复杂度
常用的排序算法的时间复杂度和空间复杂度排序法最差时间分析平均时间复杂度稳定度空间复杂度冒泡排序O(n2)O(n2)稳定O(1)插入排序O(n2)O(n2)稳定O(1)选择排序
2015-08-19 11:47:15 30955 5
原创 程序编译详解
程序编译详解编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。总过程如下:C源程序->编译预处理(对源文件进行词法分析和语法分析,确认符合语法规则)->编译(将其翻译成中间代码或汇编代码)->优化程序(对中间代码等进行优化)->汇编程序(把汇编代码翻译成目标机
2015-08-19 10:45:27 391
转载 A*算法
A*算法以前做项目时候,经常听到A*算法,感觉很高大上,今天闲来无事,对这个算法了解了下,主要参考http://zm8.sm-img5.com/?src=http%3A%2F%2Fblog.csdn.net%2Fshanshanpt%2Farticle%2Fdetails%2F8977512&uid=aff73364c6b5346a25df05847b0ba813&hid=33f0813d
2015-08-15 17:32:51 369
原创 句柄类
句柄类今天闲来无事,看了篇关于句柄类的博客,详细的可以参考 http://rangercyh.blog.51cto.com/1444712/1293679主要是利用了代理的思想,可以实现两个功能,一个是完全可以将实现文件(.cpp)与头文件完全隔离出来,类的结构或者是函数的实现部分都在实现文件中,我们通过编译器编译后形成静态文件或者是动态文件,只给出在头文件(只提供接口信息)这样防
2015-08-06 16:15:33 343
转载 反射机制
反射机制 今天闲来无事,对反射机制http://www.cnblogs.com/jqyp/archive/2012/03/29/2423112.html阅读一番,整理了下这方面的知识以及自己的一些心得,希望对大家有帮助!JAVA反射机制是在运行状态中,可以动态的,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对
2015-04-30 10:26:56 311
原创 try catch finally解惑
try catch finally解惑Finally通常会配合try、catch使用,在try。。。catch没有退出的语句(return 或者是抛出异常导致退出try。。。catch)执行完try。。。catch语句后,再来执行finally;另外一种情况是在try。。。catch有退出的语句,在每一处的try或catch将要退出该方法之前,JVM都会保证先去调用finally的代码,这里所
2015-04-26 16:59:37 685
原创 java总结
1、数组创建以及初始化针对一维数组:数据类型 数组名[] = new 数据类型[个数] 如 int a[] = new int[5]; 针对多维数组:数据类型 数组名[][] = new 数据类型[个数][]注意:这里后面的列数可以不用指定大小,因为每一行的列数可以不一样 如 int a[][] = new int[3][]; a[0] = new int[2
2015-04-12 16:33:08 331
原创 C++知识总结
1、类型转化 显式类型转换被称为“强制类型转换”(cast) 标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。 1)static_cast: 用法:static_cast ( expression )
2015-04-12 16:26:14 1573
集体智慧编程代码
2017-11-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人