- 博客(88)
- 收藏
- 关注
原创 巨杉数据库SequoiaDB的常用操作
巨杉数据库的基本操作。巨杉可以通过nosql的方式对数据库进行操作,也可以通过自带的sql对对数据库进行操作。但是自带的sql方式比较弱,有以下缺点:1.语法比较苛刻,关键字as不能省略,如select a._id as id from xx.xx as a,两个as都不能省。2.错误提示不明显,无法清楚语法哪里出错。3.很多语法不支持如:db.exec("select a.* from
2017-07-02 13:23:32 4335 2
原创 !!scala 【经典】一步一步推导!!高阶函数,类型推断
--函数返回函数scala> def fun1(name1:String) = (name2:String) => println(name1+" "+name2)fun1: (name1: String)String => Unit--等号=左边是函数,右边返回值是匿名函数。函数返回函数scala> val fun1_v = fun1("Spark") --接收name1参数
2016-03-01 14:25:26 1413 1
原创 update的优化
在olap中,往往能看到性能很差的语句是update语句,跑半天都跑不过去,虽然语句可以千变万化,但是优化起来还是有规可循的。--测试表:drop table t1;drop table t2;create table t1 as select * from dba_objects;create table t2 as select * from dba_objects;--原始
2015-05-14 17:25:46 2217
原创 监控sql执行时剩余时间
--监控sql执行时剩余时间你知道正在运行的sql大概需要多长时间么?你知道正在运行的sql大概完成了百分之几么?你知道正在运行的sql大概还要多长时间完成么?V$SESSION_LONGOPS帮你忙。V$SESSION_LONGOPS在官方文档中的描述:V$SESSION_LONGOPS displays the status of various operations th
2014-10-30 14:29:27 4062
翻译 Hive内部表和外部表的区别
Hive内部表和外部表的区别参考网址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-ManagedandExternalTablesManaged and External TablesBy default Hive creates managed tables, w
2017-08-03 13:33:13 956
原创 docker基本命令
--docker注册账号DockerIDhttps://cloud.docker.com/Docker ID:abc邮箱:xx密码:123--login登录账号root@node1:~# docker loginUsername: abcPassword: 123Login Succeededroot@node1:~# --tag标签root@node1:~/test
2017-07-06 22:20:24 1183
原创 一步一步安装docker【ubutu】
--下载ubutu linux64位,3.1内核以上Docker requires a 64-bit OS and version 3.10 or higher of the Linux kernel.版本:Yakkety 16.10 --这里安装16.10 下载地址:http://releases.ubuntu.com/16.10/Xenial 16.04Trusty 14.0
2017-07-06 22:05:15 506
转载 设计模式6大原则
文章来源:http://www.uml.org.cn/sjms/201211023.asp目录://设计模式六大原则(1):单一职责原则//设计模式六大原则(2):里氏替换原则//设计模式六大原则(3):依赖倒置原则//设计模式六大原则(4):接口隔离原则//设计模式六大原则(5):迪米特法则//设计模式六大原则(6):开闭原则//设计模式六大原则(1):单一职责
2017-07-06 21:17:16 484
转载 笔录《编写高质量代码:改善Java程序的151个建议》
文章来源:http://blessht.iteye.com/blog/2088035--警惕自增陷阱i++表示先赋值后自增,而++i表示先自增后赋值。下面的代码返回结果为0,因为lastAdd++有返回值,而返回值是自增前的值(在自增前变量的原始值会存在一个内存空间,当自增结束后就会将内存空间的值返回)。 public static void main(String[] args)
2017-07-06 21:11:05 660
转载 Spark性能优化指南——高级篇
文章来源:http://tech.meituan.com/spark-tuning-pro.html前言继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spar
2017-07-06 12:48:43 283
转载 Spark性能优化指南——基础篇
文章来源:http://tech.meituan.com/spark-tuning-basic.html前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spar
2017-07-06 12:37:12 322
原创 巨杉数据库SequoiaDB备份恢复方案
本文主要介绍巨杉数据库的常用备份方法和目前采用的备份策略。通过日常的备份策略,在故障出现时能及时还原,保障数据库的正常运行。--备份方法巨杉数据库备份,包括以下两种方式:1. sdbexport工具:sdbexport工具只能导出指定的集合。2. sdb命令backupOffline:使用backupOffline命令可以备份整个库。巨杉数据库深入的备份方案
2017-07-02 21:50:12 1367
原创 巨杉数据库SequoiaDB分区介绍
本文主要介绍分区集合的概念,分区的类型,以及分区的方式。----分区集合一个定义了分区键的集合为分区集合。分区集合可以按照分区键所指定的字段,将集合中的数据切分到超过一个数据分区组中。当集合创建时,用户可以指定分区键。分区集合会在一个随机的数据分区组中创建。用户可以使用手工切分的方式对集合按照某一规则切分至多个数据分区组中。----分区类型分区主要有3种方式:水平分区,垂直分区,混合
2017-07-02 21:47:03 1111
原创 巨杉数据库执行计划和索引的使用
巨杉数据库执行计划和索引的使用执行计划:巨杉数据库的执行计划通过explain获取,分成两种,一种是未运行获取的执行计划,一种是已运行后获取的执行计划。两种方式获取的执行计划详情有所不同。索引:在巨杉早期的版本中,先建立的索引会被优先使用,这是不合理的,后面的版本不知道有没有进行优化。可以通过hint进行指定使用哪个索引。--执行计划> db.scott.person.find({age:
2017-07-02 14:42:11 594
原创 巨杉数据库SequoiaDB的安装部署
巨杉数据库为国产数据库,官方自称为分布式NewSQL数据库,语法类似于mongodb。连一些内部的机制都很相似。如mongodb的ObjectId由Time,Machine,PID,INC构成,而sdb的ObjectId由Time,Machine,INC构成,构造方法为org.bson.types.ObjectId.ObjectId(Date time, int machine, int inc
2017-07-02 12:52:20 1382
原创 scala 实现自定义排序算法
scala 实现自定义排序算法--数据aaa.txt:4 13 28 72 34 32 1package com.lhj.wwwclass KeyPair(val first:Int,val second:Int) extends Ordered[KeyPair] with Serializable{ def compare(other: KeyPair): In
2016-03-03 15:29:35 2291 1
原创 scala 实现topN算法
topN算法基础topN分组topN--基础topN--aaa.txt425971647把这些字符转换成map(x=>(x.toInt,x)),利用int类型的比较进行排序。package com.lhj.wwwimport org.apache.spark.{SparkContext, SparkConf}object Test { def m
2016-03-03 15:27:08 2622 1
原创 spark 代码重构
package com.lhj.wwwimport org.apache.spark.{SparkContext, SparkConf}object Test { def main(args: Array[String]) { val sc = sparkContext("My App") sc.setLogLevel("WARN")// flatMapTr
2016-03-02 21:45:49 708
原创 java 连接hbase
电信详单,查询某个号码,某个月的通话清单,包括通话号码,通话类型,通话时间等信息,如何设计?表名:t_cdrrowkey设置:号码+时间一个列族:cf1字段:dest(对方号码),type(通话类型),time(通话时间)package com.lhj.hbase;import org.apache.hadoop.conf.Configuration;import org.ap
2016-03-02 21:19:53 1688
原创 java jdbc连接hive2
--java 连接hive2导入jar包(hive和hadoop的)D:\download\download\apache-hive-1.2.1-bin\apache-hive-1.2.1-bin\libD:\download\download\hadoop-2.7.1\share\hadoop\commonD:\download\download\hadoop-2.7.1\share\
2016-03-02 20:56:43 4539
原创 jdbc连接oracle的方法
jdbc连接oracle的方法package com.odsd.util;import java.sql.*;import java.util.Iterator;import oracle.jdbc.pool.OracleDataSource;public class DBUtil { /** * 作用:连接oracle 10.2.0.4 * 时间:2015年8月12日
2016-03-02 20:40:25 504
原创 jdbc连接mysql的方法
jdbc连接mysql的方法package com.java.util;import java.sql.*;public class DButil { /** * 作用:连接mysql * 时间:2015年8月12日 * tips:需导入mysql-connector-java-5.1.18-bin.jar */ private String dbUserName=
2016-03-02 20:39:06 1037
原创 java 多线程锁synchronized
对代码加锁:1.在方法前加锁。public synchronized void add(String name) {}2.在方法里面加锁。synchronized (this) {}--未加锁package com.lhj.java;public class Test extends Thread{ Timer timer=new Timer(); publ
2016-03-02 20:11:27 397
原创 java 多线程yield
package com.lhj.java;public class Test { public static void main(String[] args) throws Exception { RRR t1 = new RRR("t1"); RRR t2 = new RRR("t2");
2016-03-02 20:04:37 307
原创 java 多线程join
package com.lhj.java;public class Test { public static void main(String[] args) throws Exception { Thread t = new Thread(new RRR()); t.start();
2016-03-02 20:02:53 322
原创 java 多线程sleep
package com.lhj.java;import java.util.Date;public class Test1 { public static void main(String args[]) { Thread t = new Thread(new Thread1()); t.start();//start之后自动运行run方法
2016-03-02 20:01:02 473
原创 java 多线程
多线程:1.implements Runnable2.extends Threadpackage com.lhj.java;public class Test { public static void main(String[] args) throws Exception { new Thread(new RRR()).start
2016-03-02 19:57:40 349
原创 Hadoop 自定义排序,自定义分区,自定义分组
Hadoop中如何自定义排序,自定义分区,自定义分组。--需求:1.计算在1949-1955年,每年温度最高的时间2.计算在1949-1955年,每年温度最高前十天--思路:1.按照年份升序,同时每一年中温度降序排序2.按照年份分组,每一年对应一个reduce任务mapper输出,key为封装对象。--目的:自定义排序自定义分区自定义分组--输入数据1949-1
2016-03-02 17:58:50 1894
原创 Hadoop WorldCount程序
Hadoop WorldCount程序--aaa.txthello world hadoophello lhj hadoopgood luck to lhjnice to me lhj--Mapperimport java.io.IOException;import java.util.StringTokenizer;import org.apache.hadoop.io.
2016-03-02 17:45:45 505
原创 hadoop 读流程和写流程
hadoop HDFD读流程hadoop HDFD写流程package com.lhj.hadoop;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import org.apache.hadoop.conf.Configuration;impo
2016-03-02 17:28:14 795
原创 scala case匹配值
scala中的case非常强大,既可以匹配值,匹配类型,匹配集合,匹配class,匹配object。--case匹配值scala> def bigData(data: String){ | data match{ | case "Spark" => println("Wow!") | case "Hadoop" => println("Ok"
2016-03-02 16:51:05 8960 1
原创 scala 多线程actor
java--thread:共享全局变量的加锁机制,不可避免造成死锁scala--actor在做分布式的时候一定不要有共享全局的变量,更不能做加锁机制。每个actor都和公司的一个员工一样,都有自己的循环器,每天循环自己的邮箱查看邮件,回复邮件作出应答。!:异步的,给actor发完信息后不会继续等回答,会继续往下执行!?:给actor发完信息后会等对方回答,没有回答就一直等待hu
2016-03-01 15:29:42 1326
原创 scala 隐式转换参数
package com.lhj.scalaimport java.io.Fileimport scala.io.Sourceobject Test { def main(args: Array[String]): Unit = { def bigger[T](a: T,b: T)(implicit c:T => Ordered[T]) = if (a > b)
2016-03-01 15:23:57 385
原创 scala object隐式对象
package com.lhj.scalaimport java.io.Fileimport scala.io.Sourceobject Test { abstract class A[T] { def add(x:T,y:T):T } abstract class B[T] extends A[T]{ def unit:T }
2016-03-01 15:23:10 629
原创 scala class隐式类
--导入隐式类之后,可以用类中的所有方法package com.lhj.scalaimport java.io.Fileimport scala.io.Sourceobject Test { def main(args: Array[String]): Unit = { import Test1._ --将整个object导进来 printl
2016-03-01 15:19:13 946
原创 scala val隐式变量
package com.lhj.scalaobject Test { def main(args: Array[String]): Unit = { getStudentInfo("Spark")(8) getStudentInfo("Spark") --相当于age有一个默认值 } implicit val age = 6 def get
2016-03-01 15:14:34 794
原创 scala def隐式函数
implicit def function在编写程序的时候,被scala自动地在上下文使用,scala会根据隐式函数的签名,在程序运行时使用隐式转换函数将接收的参数类型对象定义的将自动转换成隐式转换后的对象。package com.lhj.scalaobject Test { def main(args: Array[String]): Unit = { new Per
2016-03-01 15:05:59 854
原创 scala 柯里化函数
柯里化函数一个函数有2个参数,可以转换成2个函数,第一个函数接收第一个参数,第二个函数接收第二个参数。scala> //////////////////////////////scala> def sum(x:Int,y:Int) = x+y ----定义成sum2()两个参数,一个括号sum: (x: Int, y: Int)Intscala> sum(1,2)res17
2016-03-01 14:31:07 1622
原创 !!scala 高阶函数,匿名函数
如果一个函数的参数是函数,这个函数就叫高阶函数。高阶函数是java和scala的最大不同点。scala> ////////function//////////////scala> def fun1(name:String){print(name)} --最常见的显式定义行数fun1: (name: String)Unitscala> val fun1_v = fun1 _
2016-03-01 14:17:16 706 1
原创 scala 函数
scala中变量和函数一视同仁,都是平等地位。变量可以等于函数,函数也可以等于变量。scala> //----------def--------------scala> def f2=printlnf2: Unitscala> def f2=println _f2: () => Unitscala> var f2=printlnf2: Unit = ()scala>
2016-03-01 13:54:01 428
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人