留20%的时间给自己

留20%的时间给自己,很多人从是从Google那个听说了这个规则。我们这就找老大呼吁说我们要想Google一样,上班要少上一个小时,恐怕是有点痴人说梦了。上班时间的规定也许我们无力改变,但是下班时间必须由自己来安排。可是我平时回家以后要么陪伴家人,或者继续加班做工作上的事情,却忘记了自己发展的需要,新的机会时来临时,错失机会,遇到问题后。我不想再听到自己说:“我太忙,忙的没时间学习/思考/总结/运动了。”专注是一件好事,但是过于专注就让人视线狭窄,当人固步自封。磨刀不误砍柴工的故事大家都听过,下面的一个小故事也是讲述的同样的道理:

一只野猪在大树旁勤奋地磨獠牙。狐狸看到了,好奇地问它:“既没有猎人来追赶,也没有任何危险,为什么要这样用心地磨牙?”野猪答道:“你想想看,一旦危险来临就没时间磨牙了。现在磨好了利牙,等到要用的时候就不会慌张了。”这里讲的也是未雨绸缪的道理。如果平时不勤奋地“磨刀”,等机会来临,却发现自己能力不够、基础不实,亡羊补牢,那就为时已晚。

所以,请留下20%的时间给自己!

当然道理都说的很容易,我试图从昨晚开始就留点时间给自己看书及学习,女儿9点睡觉后,连上VPN只想看看hadoop集群的跑数情况,却不知不觉陷了进去,回过神来已经11点多了。改变旧有的习惯的确不容易,但是要对自己说,不要忘记我自己,自己真正的需要。

大数据异构环境数据同步工具DataX 与Sqoop 之比较

从接触DataX起就有一个疑问,它和Sqoop到底有什么区别,昨天部署好了DataX和Sqoop,就可以对两者进行更深入的了解了。

两者从原理上看有点相似,都是解决异构环境的数据交换问题,都支持oracle,mysql,hdfs,hive的互相交换,对于不同数据库的支持都是插件式的,对于新增的数据源类型,只要新开发一个插件就好了,

但是只细看两者的架构图,很快就会发现明显的不同

DataX架构图

  • Job: 一道数据同步作业
  • Splitter: 作业切分模块,将一个大任务与分解成多个可以并发的小任务.
  • Sub-job: 数据同步作业切分后的小任务
  • Reader(Loader): 数据读入模块,负责运行切分后的小任务,将数据从源头装载入DataX
  • Storage: Reader和Writer通过Storage交换数据
  • Writer(Dumper): 数据写出模块,负责将数据从DataX导入至目的数据地

Sqoop架构图

DataX 直接在运行DataX的机器上进行数据的抽取及加载。
而Sqoop充分里面了map-reduce的计算框架。Sqoop根据输入条件,生成一个map-reduce的作业,在Hadoop的框架中运行。
从理论上讲,用map-reduce框架同时在多个节点上进行import应该会比从单节点上运行多个并行导入效率高。而实际的测试中也是如此,测试一个Oracle to hdfs的作业,DataX上只能看到运行DataX上的机器的数据库连接,而Sqoop运行时,4台task-tracker全部产生一个数据库连接。调起的Sqoop作业的机器也会产生一个数据库连接,应为需要读取数据表的一些元数据信息,数据量等,做分区。
Sqoop现在作为Apache的顶级项目,如果要我从DataX和Sqoop中间选择的话,我想我还是会选择Sqoop。而且Sqoop还有很多第三方的插件。早上使用了Quest开发的OraOop插件,确实像quest说的一样,速度有着大幅的提升,Quest在数据库方面的经验,确实比旁人深厚。
  • Transfer highly clustered data more than five times faster than with Sqoop alone
  • Avoid scalability issues that can occur with Sqoop when data has no primary key or is not stored in primary key order
  • Reduce CPU by up to 80 percent and IO time by up to 95 percent
  • Prevent disruption to concurrently running Oracle workload
  • Get free use of Data Transporter for Hive, a Java command-line utility that allows you to execute a Hive query and insert the results into an Oracle table
在我的测试环境上,一台只有700m内存的,IO低下的oracle数据库,百兆的网络,使用Quest的Sqoop插件在4个并行度的情况下,导出到HDFS速度有5MB/s ,这已经让我很满意了。相比使用原生Sqoop的2.8MB/s快了将近一倍,sqoop又比DataX的760KB/s快了两倍。
另外一点Sqoop采用命令行的方式调用,比如容易与我们的现有的调度监控方案相结合,DataX采用xml 配置文件的方式,在开发运维上还是有点不方便。
附图1.Sqoop with Quest oracle connector

微博与RSS

微博对我的作用有点像以前的RSS,我可以订阅我想关注的东西,只不过以前是来源是网站,现在更多是”自媒体”。所谓自媒体却更加强大,能让人与人的思想互相联系,碰撞。

但微博字数的限制,总是不适合做一些思考和积累,而且有有点碎片化的感觉,很多好的东西,慢慢就被淹没了,而且东西放在别人平台上总有点不安全,把我的wordpress装上插件,这样就能把博客上的文章同步发到微博啦。

 

我们的核心竞争力是什么?

what makes you special?这对个人来讲是个好问题,这其实就是在问一个人的核心竞争力是什么。如果人没有核心竞争力那你总会在他嘴里听到各种抱怨,为什么不受重用,为什么晚来的都PM了,为什么薪资不如别人。

那么一个企业的核心竞争力是什么?肯定不会是某一项特殊的技术,技术是有生命周期的,也许你有一招鲜,但是一招鲜的企业肯定不会长久,他就会像moore的技术生命周期图所描述一样,自然地发展,衰落。这样的企业看的太多。市场从来不是一个耐心的等待着,就算是先入市场,就算有了巨大的市场份额,也不代表安全了,后来者会迅速突破。企业缺乏核心竞争力是个恶性循环。当几家公司一起,谁都能做的时候,到最后竞争只能是拼的是价格,关系。于是合同收入金额,人月价格走低,同时人力成本又必然按年提高,于是开始削减福利待遇,从公司内部下手,从而造成优秀人才的流失,流失后就更加缺乏核心竞争力。

最近看了很多案例,创新,主动变化,协作这是大家共有的关键词

这点上马化腾说的挺好

这一年来,我也在越来越多地思考一个问题:一个企业该以什么样的型态去构建它的组织?什么样的组织,决定了它能容忍什么样的创新灰度。

进化度,实质就是一个企业的文化、DNA、组织方式是否具有自主进化、自主生长、自我修复、自我净化的能力。我想举一个柯达的例子。很多人都知道柯达是胶片影像业的巨头,但鲜为人知的是,它也是数码相机的发明者。然而,这个掘了胶片影像业坟墓、让众多企业迅速发展壮大的发明,在柯达却被束之高阁了。

为什么?我认为是组织的僵化。在传统机械型组织里,一个“异端”的创新,很难获得足够的资源和支持,甚至会因为与组织过去的战略、优势相冲突而被排斥,因为企业追求精准、控制和可预期,很多创新难以找到生存空间。这种状况,很像生物学所讲的“绿色沙漠”——在同一时期大面积种植同一种树木,这片树林十分密集而且高矮一致,结果遮挡住所有阳光,不仅使其他下层植被无法生长,本身对灾害的抵抗力也很差。

要想改变它,唯有构建一个新的组织型态,所以我倾向于生物型组织。那些真正有活力的生态系统,外界看起来似乎是混乱和失控,其实是组织在自然生长进化,在寻找创新。那些所谓的失败和浪费,也是复杂系统进化过程中必须的生物多样性。

互联网生态的瞬息万变,通常情况下我们认为应变能力非常重要。但是实际上主动变化能力更重要。管理者、产品技术人员而不仅仅是市场人员,如果能够更早的预见问题、主动变化,就不会在市场中陷入被动。在维护根基、保持和增强核心竞争的同时,企业本身各个方面的灵活性非常关键,主动变化在一个生态型企业里面应该成为常态。这方面不仅仅是通常所讲的实时企业、2.0企业,社会化企业那么简单。互联网企业及其产品服务,如果不保持敏感的触角、灵活的身段,一样会得大企业病。腾讯在2011年之前,其实已经开始有这方面的问题。此前我们事业部BU制的做法,通过形成一个个业务纵队的做法使得不同的业务单元保持了自身一定程度的灵活性,但是现在看来还远远不够。

创意、研发其实不是创新的源头。如果一个企业已经成为生态型企业,开放协作度、进化度、冗余度、速度、需求度都比较高,创新就会从灰度空间源源不断涌出。从这个意义上讲,创新不是原因,而是结果;创新不是源头,而是产物。企业要做的,是创造生物型组织,拓展自己的灰度空间,让现实和未来的土壤、生态充满可能性、多样性。这就是灰度的生存空间。

互联网越来越像大自然,追求的不是简单的增长,而是跃迁和进化。腾讯最近的组织架构调整,就是为了保持创新的活力和灵动性,而进行的由“大”变“小”,把自己变成整个互联网大生态圈中的一个具有多样性的生物群落。

我相信每一个创业者都怀有一个成功的梦想,我与大家分享的是腾讯14年互联网实践的一点体会。它肯定是不完整的,但它同样也遵循“小步快跑”的灰度法则,需要一步一步去完善,大家可以继续发挥和探索。我希望的是,腾讯不仅是能让大家赚到钱的平台,更能成为业界一起探索未来、分享思考的平台。以后每年,但凡在创新方面能有所心得,我都会跟大家一起分享。

互联网的一个美妙之处就在于,把更多人更大范围地卷入协作。我们也可以感受到,越多人参与,网络的价值就越大,用户需求越能得到满足,每一个参与协作的组织从中获取的收益也越大。所以,适当的灰度还意味着,在聚焦于自己核心价值的同时,尽量深化和扩大社会化协作。

互联网时代不再流行单打独斗,闭门研发。共享,协作成为新的趋势,不懂得共享知识利用开源社区,回馈开源社区,只能是永远跟在最后,干着脏活累活。

以前我们说手里拿个锤子,就总觉得什么都是钉子,说的是那种不懂得情况分析差异,总想要自己最熟悉的方式去解决问题的。可是现在反过来亦成立,有个新技术出现了,大家就打算抛掉现在现有一切了,什么都想用新东西来做。但是不会如果没有学会持久创新,主动应变,就算学会了。辉煌也只会是昙花一现。