自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码厦(微信号)

代码就是思想的武器

  • 博客(134)
  • 资源 (2)
  • 收藏
  • 关注

原创 clickhouse 时间函数,输入昨天

 where date = toDate(toUnixTimestamp(now())-24*3600)

2018-06-26 18:20:46 8433

原创 Clickhouse之Join性能测试

  clickhouse作为目前所有开源MPP计算框架中计算速度最快的,它在做多列的表,同时行数很多的表的查询时,性能是很让人兴奋的,但是在做表的join时,它的性能是不如单宽表查询的,但是了解了clickhouse在做join的时候的处理过程,利用的好的话,也会带来很大的效率提升,下面就详细介绍一下:   1.clickhouse做LEFT JOIN时的操作过程       比如做两表JOIN时...

2018-02-23 20:42:46 17921

原创 clickhouse之分布式(distribute)

Distribute   原文地址:https://clickhouse.yandex/docs/en/table_engines/distributed.html  clickhouse的分布式引擎本身不存储数据,但是允许查询分布式查询。读取数据自动就是并行化的。在读取数据的时候,会使用在不同节点上的索引。分布式引擎接受参数:在配置文件中配置的集群的名字,在远端的数据库名字,在远端的

2017-12-24 14:22:22 16719

原创 clickhose之操作提示 Operations Tips

Operations Tips1.cpu   cpu需要支持SSE4.2指令集。   对于clickhouse来说,cpu数是很重要的,即便cpu计算速度慢一些,也是cpu的数量是对速度的首要影响因素。 2.超线程技术  hyper-threading   不要关闭超线程技术,一些查询在超线程技术上会查询速度很快,但不是针对所有的查询。3.turbo-boost   同

2017-12-22 14:29:24 2290

原创 clickhouse之mergetree详解

MergeTree英文地址:https://clickhouse.yandex/docs/en/single/index.html#document-table_engines/mergetree  MergeTree引擎提供了根据日期进行索引和根据主键进行索引,同时提供了实时更新数据的功能(如,在写入数据的时候就可以对已写入的数据进行查询,不会阻塞。),mergetree是clickho

2017-12-21 12:01:27 20386 1

原创 八皇后问题

void backtrace(int t){ if(t > num) { sum++; for(int m = 1; m < num; m ++) { cout << x[m]; } cout <<end; } else for(int i = 1; i <= num; i ++) { x[t] =

2017-01-23 15:21:55 346

原创 yarn架构体系 任务提交过程说明

mr1中jobtracker存在单点,功能较多的问题,负责资源管理调度和job的生命周期管理(task调度,跟踪task过程状态,task处理容错),这样当大量的任务需要处理时,单个jobtracker无论在内存还是在其他资源方面总存在瓶颈,在伸缩性、资源利用率、运行除mr的其他任务都会有限制mrv2 yarn框架把资源调度和task管理监控分离开,由资源管理器NodeManager负责资源调

2017-01-22 20:28:02 614

原创 mysql批量导入数据

LOAD DATA INFILE '/Data/linling' INTO TABLE SUBJOB CHARACTER SET UTF8 FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '' LINES TERMINATED BY '\n' STARTING BY '' (jobId,subJobName,depend

2017-01-22 15:07:09 2440

原创 数据库多种范式的定义 3NF BCNF

第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果不满足第一范式 就不是关系型数据库第二范式  F)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键、主码。第三范式(3NF)要求一个数据库表中不包含已在其

2017-01-18 18:33:16 1025

原创 Redis 源码解析 string内部实现原理之链表

在Redis中,链表提供了高效的节点重排能力,以及顺序性地节点访问方式,并且可以通过增删节点来灵活的调整链表的长度。比如redis中的列表结构就是使用了链表来实现,同时一些发布与订阅的需求也可以使用Redis的链表来实现。下面给出Redis中链表和链表中节点的定义。1.链表节点的结构定义typedef struct listNode{ struct listNode *prev

2017-01-15 20:29:10 574

原创 Redis 源码解析 string内部实现原理之简单动态字符串SDS

在redis里面,C字符串只会作为字符串字面量用在一些无须对字符串值进行修改的地方,比如打印日志。当redis需要的不仅仅是一个字符串字面量,而是一个可以被修改的字符串值的时候,redis就会使用SDS来表示字符串值,比如SET msg "hello world"RPUSH fruits "apple" "banana" "cherry"1.SDS的定义sturct sdshdr{

2017-01-15 20:03:03 518

原创 python 发邮件 脚本

#!/usr/bin python#coding:UTF-8from email.header import Headerimport smtplibimport email.MIMEMultipart# import MIMEMultipartimport tracebackimport email.MIMEText# import MIMETextimport email.MIM

2017-01-13 17:19:34 508

转载 mysql 分区分表详解

这篇文章主要介绍了MySQL的表分区,例如什么是表分区、为什么要对表进行分区、表分区的4种类型详解等,需要的朋友可以参考下一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区。当然也可根据其他的条件分区。二、为什么要对表进行分区为

2017-01-06 15:59:12 564 1

原创 leetcode刷题-Lowest Common Ancestor of a Binary Tree

236. Lowest Common Ancestor of a Binary Tree Add to ListQuestionEditorial Solution My SubmissionsTotal Accepted: 76416Total Submissions: 261454Difficulty: MediumContr

2016-12-29 16:58:01 249

原创 xpath 常用命令

python中用于处理xpath的层级结构以及常见的操作。1.xpath节点类型   根据网页审查元素层级,可以很清楚看到层级关系,外部层级是内部层级的父亲,内部层级是外部层级的子节点,不同的子节点之间是兄弟关系siblings,2.xpath查找操作  /bookstore/book[1] book子元素的第一个元素  /bookstore/book[last()]  最后一

2016-12-28 20:51:55 3202

原创 spark 存储管理

1.spark数据块block的种类有哪些?   RDD数据块:用来标识所缓存的RDD数据。  Shuffle数据块:用来标识持久化的shuffle数据。  广播变量数据块:标识广播变量数据  任务返回结果数据块:标识存储在存储管理模块内部的任务返回结果,如果通过akka返回到Driver端,会造成akka帧溢出。akka可以并发处理多客户端请求,以及不同机器节点之间的消息传递等。

2016-12-27 23:20:06 388

原创 hive 学习笔记

1.hive文件的三种存储格式textfile,sequence file,recfile。基于HDFS的行存储具备快速数据加载和动态负载的高适应能力,因为行存储保证了相同记录的所有域都在同一个集群节点。但是它不太满足快速的查询响应时间的要求,因为当查询仅仅针对所有列中的 少数几列时,它就不能跳过不需要的列,直接定位到所需列;同时在存储空间利用上,它也存在一些瓶颈,由于数据表中包含不同类型,不

2016-12-25 17:22:28 512

原创 zookeeper常见面试题

zookeeper是如何保证事务的顺序一致性的zookeeper采用了递增的事务Id来标识,所有的proposal都在被提出的时候加上了zxid,zxid实际上是一个64位的数字,高32位是epoch用来标识leader是否发生改变,如果有新的leader产生出来,epoch会自增,低32位用来递增计数。当新产生proposal的时候,会依据数据库的两阶段过程,首先会向其他的server发出事

2016-12-23 18:08:47 47044

转载 一致性哈希算法

转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179    一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到

2016-12-22 15:51:35 336

原创 常见sql整理 常见hive sql整理

1.求两个时间间隔在一定范围内的所有数据selec t UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime)) uid from tblName where UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime)) > 42.求第二大的数 去重后的 来自leet

2016-12-09 11:27:31 732

原创 回调函数

java中的回调函数实现如下:首先定义一个接口类  该接口类中定义了在回调的时候 要调用起的函数定义个实现类,对接口中的函数进行实现。定义一个使用类,这里面有个声明一个成员变量,是这个接口类的实例。然后有个setfunc()用来传入接口的实例参数,该实例参数赋值给内部的接口成员变量,最后有一个call(),能够使用这个接口实例来调用起要执行的函数。在main里调用的时候如下所示:p

2016-12-08 11:34:31 459

原创 当前互联网技术趋势

1.在判断一台master机器和一台slave是否连接通,是否能够持续连接通的时候,可以使用PING命令看是否能通,后来演化成使用tcp的心跳机制,每隔指定时间间隔发送心跳,最后才使用了很厉害的分布式协调组件zookeeper,通过创建znode,注册监听函数watcher,在znode发生变化时调用回调函数来通知master该slave机器出现了问题。

2016-12-08 10:42:40 653

原创 大数据 通用 调度系统 的设计和实现

目标:调度的业务类型是针对ETL数据抽取任务、个性化推荐的离线任务、每天的报表、每周的统计报表、月级别的统计报表等,小时级的日志清洗任务等 能够按照用户的配置,准时进行调度。调度的任务主要是一些脚本文件还有mr写的jar包程序。任务内部存在子任务的依赖关系,这种依赖关系形成DAG图,在调度系统中能够严格的按照依赖关系对任务进行调度执行。整个调度系统有前端和后台两个部分,前端支持任务的创

2016-12-07 21:24:42 2815 3

原创 常见面试算法题整理

下面列的所有的算法题目基本都能在本博客中找到 在使用本博文的过程中,可以按照天来复习,每天一个list,完成这些 基本能应付国内互联网公司的算法问题。第一天1.给定一个链表 在链表的尾部插入一个元素2.用两个队列实现一个栈3.用两个栈实现一个队列4.求两个有序数组的中位数,可以延伸为求两个有序数组的第k大数,要求复杂度最低(使用二分的思想来做,复杂度logN)5.atoi

2016-12-07 16:01:01 531

原创 一个数字二进制中一的个数

int countOneByBinary(int n){ int count = 0; while(n != 0) { int tmp = n & 1; if(tmp == 1) count++; n = n >> 1; } return count;}

2016-12-07 15:48:19 593

原创 leetcode刷题系列:不用加号实现a+b

题目描述:实现a+b,但是不用加号解析:a和b的异或运算被称作没有进位的加法运算。其实可以想象,如果1和1想加 结果为0进位为1  0和0相加 还是0 1和0相加 还有0和1相加都是一  刚好符合异或运算的规则,然后现在要解决的就是进位问题,进位可以通过与运算来解决,与运算后的结果如果左移一位,刚好是进位后的结果,此时用这两个结果再做一次上面描述的过程,那么直到进位为0的时候,就是最终的结

2016-12-07 15:38:50 3861 1

原创 ZooKeeper 典型应用场景

原文地址:http://jm-blog.aliapp.com/?p=1232ZooKeeper典型应用场景一览数据发布与订阅(配置中心)发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地址列表等就非常适合使用。

2016-12-07 11:52:05 373

原创 leetcode刷题系列--206. Reverse Linked List 递归和非递归 c++实现

Reverse a singly linked list.click to show more hints.Subscribe to see which companies asked this questionShow TagsShow Similar ProblemsHave you met this ques

2016-12-06 18:23:59 620

原创 kmeans

Kmeans算法是在机器学习中常用的聚类算法,能够对一些杂乱无章的数据进行聚类,从而形成一个个比较近似的群体。本文主要介绍Kmeans的基本原理以及实现方法。上图a中是一系列杂乱无章的数据,目的是对这些数据可以进行聚类,根据距离得到距离较近的群体,从图a中就可以用肉眼看出,左下面是一个群体,右上面是一个群体,如果可以通过kmeans算法分出肉眼的结果,那么该kmeans算法是比较令人满

2016-12-06 14:54:12 398 1

原创 spark大数据处理技术读书笔记:spark streaming学习笔记

第十章:spark streaming 流数据处理框架一。spark streaming程序的几个步骤1.创建StreamingContext。sparkstreaming context和spark context创建区别不大,唯一要加的就是streaming context需要添加一个Seconds(1),指定处理数据的时间间隔。就是batchDuration,而且该处理间隔一旦设定就

2016-12-04 18:17:42 1657

原创 电商网站应对双十一大流量的常见策略

最近听了公司内部对“双十一”期间为了应对大流量访问而采取的策略的分享,这里做下记录。主要有以下几个方面,1.限流流量入口通过Nginx来进行限流,对接redis,如果秒访问量超过系统能处理的阈值,则直接给用户返回缓存的静态页面,比如当前“排队人数过多,请耐心等待”等。让流量缓慢的进来。2.容量规划针对接口需要提升到多大的访问能力,比如原来的接口能够承受N个人同时访问,那么现在应对双

2016-12-04 12:19:03 1749

原创 storm详解 学习 入门 之路

1.storm在一秒钟时间内能处理100万个100字节的消息。2.storm最基本的使用场景是流式处理,不需要中间队列3.是Twitter开源出的日志处理系统,淘宝也在用4.storm组件5.storm的topology类似于hadoop中mapreduce的job,只不过job是用dag图来标识,而且会执行完,而storm的拓扑流不会停止,直到用户杀死该进程。6.storm的

2016-11-30 16:02:16 534

原创 leetcode刷题 447. Number of Boomerangs

Given n points in the plane that are all pairwise distinct, a "boomerang" is a tuple of points (i, j, k) such that the distance between i andj equals the distance between i and k (the order of t

2016-11-28 20:48:42 310

原创 415. Add Strings

Given two non-negative numbers num1 and num2 represented as string, return the sum of num1 and num2.Note:The length of both num1 and num2 is Both num1 and num2 contains only digits 0-9.B

2016-11-28 16:46:54 432

原创 LeetCode 453. Minimum Moves to Equal Array Elements

Given a non-empty integer array of size n, find the minimum number of moves required to make all array elements equal, where a move is incrementing n - 1 elements by 1.Example:Input:[1,2,3]Ou

2016-11-28 16:05:52 511

原创 zookeeper安装和部署 以及常见问题分析

近日在搭建高可用的分布式hadoop平台,在高可用方面,需要用zookeeper作为分布式协调工具。在搭建zookeeper的过程中虽然简单,但是也是遇见了很多坑这里记录一下。       1.zookeeper下载    直接从官网上下载最新的安装包,然后解压即可,这里写一下官网下载地址http://apache.fayea.com/zookeeper/zookeeper-3.3.6/z

2016-11-28 11:09:21 1452

原创 leetcode刷题系列--152. Maximum Product Subarray

Find the contiguous subarray within an array (containing at least one number) which has the largest product.For example, given the array [2,3,-2,4],the contiguous subarray [2,3] has the largest pr

2016-11-23 16:55:41 251

原创 leetcode刷题系列--442. Find All Duplicates in an Array

Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.Find all the elements that appear twice in this array.Could you do it without extra

2016-11-23 15:27:40 391

原创 leetcode刷题系列 448. Find All Numbers Disappeared in an Array

Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.Find all the elements of [1, n] inclusive that do not appear in this array.Coul

2016-11-23 15:11:12 371

原创 leetcode刷题--459. Repeated Substring Pattern

class Solution {public: bool repeatedSubstringPattern(string str) { vector items(26,0); int len = str.size(); int mid = len / 2; int flag = 0; for(int i =

2016-11-22 18:06:09 325

微服务架构与实践 全部章节 王磊著作

微服务架构与实践 全部章节 王磊著作

2016-11-22

web.py-0.33

最新的web.py的服务器工具,直接下载解压,进入web.py目录以后运行命令python setup.py install,既可以配置好了web.py的服务

2014-06-16

空空如也

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

TA关注的人

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