- 博客(31)
- 收藏
- 关注
转载 Oracle数据库优化的总结
https://blog.csdn.net/dayu236/article/details/52662395分析和优化的基本步骤如下:1、如果是SQL语句的写法问题,我们可以通过在不更改业务逻辑的情况下改写SQL来加以解决;2、如果是不必要的全表扫描/排序而导致了目标SQL的性能问题,我们可以通过建立合适的索引(包括函数索引、位图索引等)来加以解决;3、如果是表或者索引的不良设计导...
2018-08-30 09:39:04 180
转载 Oracle优化的几个简单步骤
https://www.cnblogs.com/login2012/p/5893008.html数据库优化的讨论可以说是一个永恒的主题。资深的Oracle优化人员通常会要求提出性能问题的人对数据库做一个statspack,贴出数据库配置等等。还有的人认为要抓出执行最慢的语句来进行优化。但实际情况是,提出疑问的人很可能根本不懂执行计划,更不要说statspack了。而我认为,数据库优化,应该首先...
2018-08-30 09:36:20 2004
转载 Oracle SQL语句之常见优化方法总结
https://blog.csdn.net/dtjiawenwang88/article/details/74892245下面列举一些工作中常常会碰到的Oracle的SQL语句优化方法:1、SQL语句尽量用大写的; 因为oracle总是先解析SQL语句,把小写的字母转换成大写的再执行。2、使用表的别名: 当在SQL语句中连接多个表时, 尽量使用表的别名并把别名前缀于每个列上。...
2018-08-30 09:34:53 188
转载 Oracle之SQL语句性能优化(34条优化方法)
https://www.jb51.net/article/97515.htm好多同学对sql的优化好像是知道的甚少,最近总结了以下34条仅供参考。(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必...
2018-08-30 09:32:51 2509
转载 基于oracle的sql优化
https://www.cnblogs.com/grl214/p/7694184.html 一.编写初衷描述 在应有系统开发初期,由于数据库数据较少,对于sql语句各种写法的编写体现不出sql的性能优劣,随着数据的不断增加,出现海量数据,劣质sql与优质sql在执行效率甚至存在百倍差距,可见sql优化的重要性 二.Sql语句性能优化 2.1 认识O...
2018-08-30 09:31:48 147
转载 spark优化问题
https://blog.csdn.net/xiaoyutongxue6/article/details/796041401. 部分Executor不执行任务或task过多等待时间过长(1) 任务partition数过少, 每个partition只会在一个task上执行任务。改变分区数,可以通过 repartition 方法,即使这样,在 repartition 前还是要从数据源读取数...
2018-08-29 18:16:37 332
转载 Spark性能优化总结
https://blog.csdn.net/gongpulin/article/details/77624921优化的目标保证大数据量下任务运行成功 降低资源消耗 提高计算性能三个目标优先级依次递减,首要解决的是程序能够跑通大数据量,资源性能尽量进行优化。 基础优化这部分主要对程序进行优化,主要考虑stage、cache、partition等方面。1. Stage...
2018-08-29 17:59:30 222
转载 Spark调优秘诀——超详细
http://www.mamicode.com/info-detail-2164217.htmlSpark调优秘诀1.诊断内存的消耗在Spark应用程序中,内存都消耗在哪了?1.每个Java对象都有一个包含该对象元数据的对象头,其大小是16个Byte。由于在写代码时候,可能会出现这种情况:对象头比对象本身占有的字节数更多,比如对象只有一个int的域。一般这样设计是不合理的,造成了对...
2018-08-29 17:17:50 856
转载 Spark调优的策略
https://blog.csdn.net/fanyao4144/article/details/787599311. RDD的持久化 cahce() persist() checkpoint() 2. 避免创建重复的RDD 3.尽可能复用同一个RDD 类似于多个RDD的数据有重叠或者包含的情况,应该尽量复用一个RDD,以尽可能减少RDD的数量,从而减少算子计算次数 ...
2018-08-29 15:53:16 240
转载 全排列算法
https://www.cnblogs.com/nowornever-L/p/6008954.html对于给定的集合A{a1,a2,...,an},其中的n个元素互不相同,如何输出这n个元素的所有排列(全排列)。递归算法这里以A{a,b,c}为例,来说明全排列的生成方法,对于这个集合,其包含3个元素,所有的排列情况有3!=6种,对于每一种排列,其第一个元素有3种选择a,b,c,对于第一...
2018-08-29 14:52:15 22651 1
转载 详解三种缓存过期策略LFU,FIFO,LRU(附带实现代码)
http://www.cnblogs.com/s-b-b/p/6047954.htmlhttps://www.cnblogs.com/junyuhuang/p/5805168.html 在学操作系统的时候,就会接触到缓存调度算法,缓存页面调度算法:先分配一定的页面空间,使用页面的时候首先去查询空间是否有该页面的缓存,如果有的话直接拿出来,如果没有的话先查询,如果页面空间没有满的时候,使用...
2018-08-29 09:45:16 2524
转载 树的前序后序中序遍历
http://www.cnblogs.com/LZYY/p/3454778.html在计算机科学里,树的遍历是指通过一种方法按照一定的顺序访问一颗树的过程。对于二叉树,树的遍历通常有四种:先序遍历、中序遍历、后序遍历、广度优先遍历。(前三种亦统称深度优先遍历)对于多叉树,树的遍历通常有两种:深度优先遍历、广度优先遍历。 在学习前面三种深度优先遍历之前,很有必要了解它们之间到底是怎么...
2018-08-29 09:44:13 314
转载 Hive 基础之:分区、桶、Sort Merge Bucket Join
Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。其实这篇博文主要是想聊聊 SMB join 的,Join 是整个 MR/Hive 最为核心的部分之一,是每个 Hadoop/Hive/DW RD 必须掌握的部分,之前也有几篇文章聊到过 MR/Hive 中的 join,其实底层...
2018-08-29 09:42:40 242
转载 hive的查询注意事项以及优化总结
https://www.cnblogs.com/xd502djj/p/3799432.html Hive是将符合SQL语法的字符串解析生成可以在Hadoop上执行的MapReduce的工具。使用Hive尽量按照分布式计算的一些特点来设计sql,和传统关系型数据库有区别,所以需要去掉原有关系型数据库下开发的一些固有思维。基本原则:1:尽量尽早地过滤数据,减少每个阶段的数据量,对于...
2018-08-29 09:29:45 1087
转载 Spark中repartition和coalesce的用法
repartition(numPartitions:Int):RDD[T]和coalesce(numPartitions:Int,shuffle:Boolean=false):RDD[T]他们两个都是RDD的分区进行重新划分,repartition只是coalesce接口中shuffle为true的简易实现,(假设RDD有N个分区,需要重新划分成M个分区)1)、N<M。一般情况下N个...
2018-08-28 14:22:31 4669
转载 B树、B-树、B+树、B*树介绍,和B+树更适合做文件索引的原因
https://www.cnblogs.com/qlqwjy/p/7965491.html今天看数据库,书中提到:由于索引是采用 B 树结构存储的,所以对应的索引项并不会被删除,经过一段时间的增删改操作后,数据库中就会出现大量的存储碎片, 这和磁盘碎片、内存碎片产生原理是类似的,这些存储碎片不仅占用了存储空间,而且降低了数据库运行的速度。如果发现索引中存在过多的存储碎片的话就要进行 “碎片整理...
2018-08-19 15:18:17 477
转载 归并排序详解(python实现)
因为上个星期leetcode的一道题(Median of Two Sorted Arrays)所以想仔细了解一下归并排序的实现。还是先阐述一下排序思路:首先归并排序使用了二分法,归根到底的思想还是分而治之。拿到一个长数组,将其不停的分为左边和右边两份,然后以此递归分下去。然后再将她们按照两个有序数组的样子合并起来。这样说起来可能很难理解,于是给出一张我画的图。这里显示了归并排序的第...
2018-08-19 10:11:52 23767 7
转载 索引:位图索引理解
1. 案例 有张表名为table的表,由三列组成,分别是姓名、性别和婚姻状况,其中性别只有男和女两项,婚姻状况由已婚、未婚、离婚这三项,该表共有100w个记录。现在有这样的查询: select * from table where Gender=‘男’ and Marital=“未婚”; 姓名(Name) 性别(Gender) 婚...
2018-08-16 14:29:22 19377 6
转载 海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)
https://blog.csdn.net/zyq522376829/article/details/47686867前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。 先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的)...
2018-08-16 14:22:07 729
转载 海量数据处理的 Top K算法(问题) 小顶堆实现
问题描述:有N(N>>10000)个整数,求出其中的前K个最大的数。(称作Top k或者Top 10) 问题分析:由于(1)输入的大量数据;(2)只要前K个,对整个输入数据的保存和排序是相当的不可取的。 可以利用数据结构的最小堆(小顶堆)来处理该问题。 最小堆如图所示,对于每个非叶子节点的数值,一定不大于孩子节点的数值。这样可用含有K个节点的最...
2018-08-16 13:54:07 2048
转载 大数据算法设计模式(1) - topN spark实现
package com.kangaroo.studio.algorithms.topn;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaSparkContext;import org.apa...
2018-08-16 13:48:40 620
转载 Hive中SELECT TOP N的方法(order by与sort by)
我想说的SELECT TOP N是取最大前N条或者最小前N条。Hive提供了limit关键字,再配合order by可以很容易地实现SELECT TOP N。但是在Hive中order by只能使用1个reduce,如果表的数据量很大,那么order by就会力不从心。例如我们执行SQL:select a from ljntest01 order by a limit 10;控制台会打印出...
2018-08-16 13:28:24 1335
转载 Hive针对distinct的优化
hive针对count(distinct xxx)只产生一个reduce的优化。0x00 造成的原因由于使用了distinct,导致在map端的combine无法合并重复数据;对于这种count()全聚合操作时,即使设定了reduce task个数,set mapred.reduce.tasks=100;hive也只会启动一个reducer。这就造成了所有map端传来的数据都在一个task...
2018-08-16 13:16:58 3332 1
转载 sparka 实现简单排序
topN算法基础topN分组topN --基础topN --aaa.txt425971647 把这些字符转换成map(x=>(x.toInt,x)),利用int类型的比较进行排序。 package com.lhj.www import org.apache.spark.{SparkContext, Sp...
2018-08-16 11:57:34 293
转载 Spark性能优化指南——高级篇
https://www.cnblogs.com/seaspring/p/5641950.html前言继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Sp...
2018-08-15 10:05:05 232
转载 使用play框架来解析json字符串
参考:https://playframework.com/documentation/2.1.x/ScalaJson#json-data-typeshttps://blog.csdn.net/liuhui_306/article/details/51777471因为最近在编写scala程序,就发现了使用play框架来方便的解析json数据。一. 官网的解释是这样的:1. 解析...
2018-08-10 10:15:38 1874
转载 HBase性能优化方法总结
本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法。有关HBase系统配置级别的优化,这里涉及的不多,这部分可以参考:。 1. 表的设计 1.1 Pre-Creating Regions 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大...
2018-08-09 11:14:51 413
转载 HDFS只支持文件append操作, 而依赖HDFS的HBase如何完成增删改查功能
1. HDFS的文件append功能早期版本的HDFS不支持任何的文件更新操作,一旦一个文件创建、写完数据、并关闭之后,这个文件就再也不能被改变了。为什么这么设计?是为了与MapReduce完美配合,MapReduce的工作模式是接受一系列输入文件,经过map和reduce处理,直接产生一系列输出文件,而不是在原来的输入文件上做原位更新。为什么这么做?因为直接输出新文件比原位更新一个旧文件高效...
2018-08-09 11:12:25 1412
转载 顺序访问 VS 随机访问
hdfs不能对文件做修改,但可以append,hbase的做法是对旧版本数据做disable处理,将新数据追加到hfile里面。hive也是只能对自己的orc存储格式才能做update,底层实际也是追加操作。对于txt,lzo这种就没办法了。顺序访问的数据是连续的。硬盘的磁头是按一定的顺序访问磁片,磁头不做频繁的寻道,这样带来的结果是速度很快。因为寻道时间是影响磁盘读写速度的主要原因。在平常的...
2018-08-09 11:11:35 6578
转载 IntelliJ IDEA如何设置条件断点
https://jingyan.baidu.com/article/5225f26ba91ff1e6fa090812.html我们在调试代码的过程中经常会碰到很多次循环或递归过程中某次出现异常,那么这个时候条件断点就非常有用了,它允许我们设置断点进入的条件,非常方便的断点到某次特点条件的异常,本文演示IntelliJ IDEA如何设置条件断点 工具/原料IntelliJ...
2018-08-02 10:04:52 876
转载 利用JEXL实现动态表达式编译
背景做项目突然遇到这样的需求: 系统要获取多个数据源的数据,并进行处理,最后输出多个字段。字段的计算规则一般是简单的取值最多加一点条件判断。 而且需要动态变动!!例如一个字段a的取值,如果a > 10的时候输出10,a <= 10则输出a。这里的10可能在一天后改成8,也可能在后天就改成了12。当然,如果只是一个数字的变动还好说,我们可以使用数据库进行存储。但是,万一哪天需...
2018-08-01 10:08:27 1720
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人