自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我想成为摄影家

一个既不会编程也不会摄影,本科电子专业,研究生通信专业,工作计算机方向的有理想的青年

  • 博客(31)
  • 收藏
  • 关注

原创 python队列queue模块详解

队列queue 多应用在多线程应用中,多线程访问共享变量。对于多线程而言,访问共享变量时,队列queue是线程安全的。从queue队列的具体实现中,可以看出queue使用了1个线程互斥锁(pthread.Lock()),以及3个条件标量(pthread.condition()),来保证了线程安全。queue队列的互斥锁和条件变量,可以参考另一篇文章:python线程中同步锁queue的用法

2016-08-22 13:55:21 38903 1

原创 python 线程池threadpool之实现

上一节介绍了线程池threadpool的安装和使用,本节将主要介绍线程池工作的主要流程: (1)线程池的创建 (2)任务的创建 (3)任务的推送到线程池 (4)线程处理任务 (5)线程池的退出

2016-08-20 05:24:04 17486

原创 python 线程池threadpool(使用篇)

可以使用python语言自己实现线程池,或者可以使用第三方包threadpool线程池包,本主题主要介绍threadpool的使用以及其里面的具体实现。

2016-08-20 02:44:23 76541 1

转载 Python中的property() 函数 和@property 装饰符

http://www.linuxidc.com/Linux/2011-10/45082.htm 大家也许知道C#中提供了属性Property这个概念,让我们在对私有成员赋值、获取时更加方便,而不用像C++分别定义set*和get*两个函数,在使用时也就像直接使用变量一样。 今天突然发现Python中竟然也提供了如此类似的方法,感到甚为亲切,发上来大家一起讨论一下,有不妥的地方还请多多指教。 假

2016-08-25 11:25:56 546

原创 Hive UDF开发

Hive UDF开发 Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。Hive的UDF开发只需要重构UDF类的evaluate函数即可。例:package com.ghl.hive.udf;import org.apache.hadoop.hive.ql.exec.UDF;public class helloUDF

2016-08-23 19:09:20 641

转载 Hive 分区,静态分区,动态分区

一直对hive 的分区有点模糊,看到一篇具体一点的文章,转载过来。http://f.dataguru.cn/thread-526681-1-1.html1  导入作业数据集total.csv到Hive中,用日期做为分区表的分区ID。要求有描述型文字,Hive脚本和截图。回购表数据:tradedate:交易日期tradetime:交易时间

2016-08-23 15:37:53 567

转载 IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)

自己一直对 同步,异步,阻塞,非阻塞模棱两可。对推荐这篇文章,有助于自己的理解!

2016-08-22 19:49:17 527

转载 python 多线程中的同步锁 Lock Rlock Semaphore Event Condition

在使用多线程的应用下,如何保证线程安全,以及线程之间的同步,或者访问共享变量等问题是十分棘手的问题,也是使用多线程下面临的问题,如果处理不好,会带来较严重的后果,使用python多线程中提供Lock Rlock Semaphore Event Condition 用来保证线程之间的同步,后者保证访问共享变量的互斥问题Lock & RLock:互斥锁 用来保证多线程访问共享变量的问题 Semapho

2016-08-21 02:14:08 4758 1

原创 MYsql IN谓词优化

最近在完成小任务时,遇到多表联查的问题,更改某个数据表中符合过滤条件的商品的分类字段:cat_paths数据表结构简化如下数据表1,product:product_id   product_name      cat_paths123                 '补差价'                 '58.70'数据表2,

2016-08-20 00:08:55 659

原创 linux开机出现一下错误Give root password for maintenance (or type Control-D to continue):

第一种错误的情况:由于错误的编辑/etc/fstab文件 而引起的不能正常进入系统。假如你将某一个分区或者磁盘最后一个参数设置为1或2时,系统默认会在开机过程中检查这个磁盘的扇区。假如系统检查不到这个磁盘,或者这个磁盘根本检测不到(尤其是在网络存储时)那么系统就会报错,导致出现这种情况。解决办法:输入root密码,此时整个文件系统是只读系统,不能进行修改文件,首先利用下面的命令将文件系统改为可写的文

2016-08-19 23:52:53 27622 1

原创 Linux内存管理(下)

虽然应用程序操作的对象是映射到物理内存之上的虚拟内存,但是处理器直接操作的却是物理内存。所以当用程序访问一个虚拟地址时,首先必须将虚拟地址转化成物理地址,然后处理器才能解析地址访问请求。地址的转换工作需要通过查询页表才能完成,概括的讲,地址转换需要将虚拟地址分段,使每段虚地址都作为一个索引指向页表,而页表项则指向下一级别的页表或者指向最终的物理页面。每个进程都有自己的页表。进程描述符号的pgd域指向

2016-08-19 23:51:18 389

原创 Linux内存管理(上)

摘要 本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存地使用方法。力求从外自内、水到渠成地引导网友分析Linux地内存管理与使用。在本章最后我们给出一个内存映射地实例,帮助网友们理解内核内存管理与用户内存管理之间地关系,希望大家最终能驾驭Linux内存管理。 详见:http://www.cnblogs.com/h

2016-08-19 23:50:02 455

原创 gcc编译中常用参数: -I dir -L dir -w -Wall -On

1、-I dir 在头文件的搜索路径中添加目录dir目录。在include语句中“<>”表示在默认路径“/usr/include”和/usr/local/include中搜索头文件,引号“”表示在本目录下搜索。如果在即编写头文件,如果头文件位置与当前.c文件不在同一个目录,则就需要利用-I 头文件所在目录即可。2、-L dir gcc到系统默认的路径“/usr/lib”下查找库文件。头文件包含声明,

2016-08-19 23:45:23 2733

原创 calloc(), malloc(), realloc(), free() 异同点

void *calloc(size_t nobj, size_t size); 分配足够的内存给nobj个大小为size的对象组成的数组, 并返回指向所分配区域的第一个字节的指针; 若内存不够,则返回NULL. 该空间的初始化大小为0字节.char p = (char ) calloc(100, sizeof(char));void *malloc(size_t size); 分配足够的内存给

2016-08-19 23:37:45 306

转载 Linux多线程中使用信号

在Linux的多线程中使用信号机制,与在进程中使用信号机制有着根本的区别,可以说是完全不同。在进程环境中,对信号的处理是,先注册信号处理函数,当信号异步发生时,调用处理函数来处理信号。它完全是异步的(我们完全不知到信号会在进程的那个执行点到来!)。然而信号处理函数的实现,有着许多的限制;比如有一些函数不能在信号处理函数中调用;再比如一些函数read、recv等调用时会被异步的信号给中断(inter

2016-08-19 23:35:46 432

转载 CPU亲和性(affinity)及与亲和性有关的两个函数 sched_setaffinity()和 sched_getaffinity()

转自: http://www.ibm.com/developerworks/cn/linux/l-affinity.html简单地说,CPU 亲和性(affinity) 就是进程要在某个给定的 CPU 上尽量长时间地运行而不被迁移到其他处理器的倾向性。Linux 内核进程调度器天生就具有被称为 软 CPU 亲和性(affinity) 的特性,这意味着进程通常不会在处理器之间频繁迁移。这种状态正是我们

2016-08-19 23:29:08 749

转载 linux内核线程、轻量级进程、用户进程

linux内核线程、轻量级进程、用户进程

2016-08-19 23:19:20 550

转载 Python中中文乱码问题

为什么Python使用过程中会出现各式各样的乱码问题,明明是中文字符却显示成“\xe4\xb8\xad\xe6\x96\x87”的形式?为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题。字符

2016-08-19 23:14:22 498

转载 用python解析html[SGMLParser]

文章转载自:http://pnig0s1992.blog.51cto.com/393390/412049/因为要用python做学校网络的认证程序,需要解析服务器传回的html,本以为会像javascript里操作DOM那样简单,结果发现并不是 这样,被搞了一下。其实python里面有xml.dom模块,但是这次却不能用,为啥呢?因为服务器传回的html从xml角度看不是良构的,没

2016-08-19 23:03:43 672

转载 Python 之ConfigParser

一、ConfigParser简介ConfigParser 是用来读取配置文件的包。配置文件的格式如下:中括号“[ ]”内包含的为section。section 下面为类似于key-value 的配置内容。1: [db]2: db_host = 127.0.0.13: db_port = 224: db_user = root5:

2016-08-19 22:57:51 294

转载 Python的内存管理

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!语言的内存管理是语言设计的一个重要方面。它是决定语言性能的重要因素。无论是C语言的手工管理,还是Java的垃圾回收,都成为语言最重要的特征。这里以Python语言为例子,说明一门动态类型的、面向对象的语言的内存管理方式。**对象的内存使用**赋值语句是语言最常见的功能了。但即使是最简单

2016-08-18 15:37:49 421

原创 python中set去重注意事项

python中set结构是 唯一的可被哈希的(hashable)对象(object)的无序的集合。也就是说set内的元素必须是可被哈希的。有时候我们需要使用set结构来检测两个列表或其它的数据类型的元素差异。如下:m1=[1,2,3]m2=[2,3,4]m=set(m1)-set(m2)print(m)输出结果为:set([1])上面的代码 使用m1和m2初始化两个set对象,然

2016-08-15 12:35:20 4297 3

原创 lce的回调实现(Bidirectional Connections)双向通信

1、需求使用ice 进行client和server之间的通信,请求(request)往往是单向的,即client请求server。然而这种情况有时候不能满足我们的项目设计需求,需要server向客户端进行回调。这种情况下server端通常向client建立一个新的链接。如下图所示:不幸运的是,有时候收到网络限制,客户端与服务端之间间隔这防火墙,防火墙阻止服务端向客户端主动建立连接,如下图:

2016-08-12 18:13:31 2959

原创 python 命名元组(namedtuple)

我们知道c/c++语言中,有结构体这种数据类型:struct{ string name; int age; char sex; }student;在对结构体对象进行赋值或者取值时可以使用.运算符进行操作。那么问题来,python中有没有这个数据类型呢?答案是肯定有的,它就是命名元组(namedtyple)。首先来看一下python中普通元组的

2016-08-11 15:54:44 10147 1

原创 python URLObject url处理模块

使用urlobject模块处理URL

2016-08-11 12:21:31 1205

转载 spark性能调优-shuffle篇

shuffle调优调优概述      大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占

2016-08-10 11:33:38 365

转载 spark性能调优-数据倾斜篇

前言   继《Spark性能优化:开发调优篇》和《Spark性能优化:资源调优篇》讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。1.数据倾斜调优调优概述      有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此

2016-08-10 11:32:22 626

转载 Spark性能调优-开发篇

1、前言      在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据

2016-08-10 11:30:47 380

转载 Spark性能调优-资源篇

在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无论是哪

2016-08-10 11:29:31 428

转载 Spark面对OOM问题的解决方法及优化总结

Spark面对OOM问题的解决方法及优化总结

2016-08-10 11:01:37 485

原创 python多线程异常处理

python 多线程异常

2016-08-06 18:31:44 4924

空空如也

空空如也

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

TA关注的人

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