自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bitcarmanlee的博客

https://github.com/bitcarmanlee/easy-algorithm-interview-and-practice 同步更新,欢迎star

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

原创 hive多行变一行

1.需求描述在数据处理过程中,我们不光要将一行变为多行,有时候还需要将多行变为一行。 有如下格式的数据: msgid appid 1490549504092 1002496 1490549504092 1002505 1490549504105 1005565 1490549504105 1002496 我们可能需要将相同的msgid对应的不同的appid汇聚到一起。怎么完成这个任务呢

2017-03-31 17:38:17 9153 1

原创 python读取excel文件

0.前言windows里做数据工作的杀手锏是excel。而且对于大部分产品,运营的同学来说,excel是最常用的工具,甚至都没有之一。但是RD的工作环境大部分情况下都是基于linux系统,linux的世界里是不认识excel这种格式的东东的。所以,在服务器上将excel文件转化成我们需要的格式就显得很常见。1.xlrd模块python中的xlrd模块可以很方便的读取excel文件。使用pip ins

2017-03-30 17:05:08 2603 1

原创 java.io.IOException: Filesystem closed

1.问题描述往集群提交任务的时候,需要在hdfs上面读取一个资源文件。在读取该资源文件的时候,代码爆出如下异常:Error: java.io.IOException: Filesystem closed at org.apache.hadoop.hdfs.DFSClient.checkOpen(DFSClient.java:823) at org.apache.hadoop.hdfs

2017-03-30 15:42:49 12290 2

原创 爬取豆瓣排名前100的电影

最近很多工作需要用到爬虫去爬取各种数据。本人也不是专业爬虫攻城狮,之前也没做过爬虫的相关工作。现在实际中遇到了要用,那就只好硬着头皮上吧。趁着周末稍微有点时间,网上找了找爬虫相关的资料与项目,然后参考其中某一个比较简单一些的,先上手实际搞一个练练手再说。1.爬虫的一般思路爬虫的基本想法就是以一个初始的url为起点,从这个url出发获得更多的url,并从这些网页中获取想要的数据。像google或者ba

2017-03-28 22:18:28 11923 1

原创 python format 格式化输出

0.前言在python2.7及以上的版本,str.format()的方式为格式化提供了非常大的便利。与之前的%型格式化字符串相比,他显得更为方便与优越。下面我们就来看看format的具体用法。1.常见的用法二话不说,首先上代码,看看format的一些常用方法。print "{:.2f}".format(3.1415926) #3.14,保留小数点后两位print "{:+.2f}".format(

2017-03-28 21:01:53 14416 1

转载 Git 基础 - 撤消操作

任何时候,你都有可能需要撤消刚才所做的某些操作。接下来,我们会介绍一些基本的撤消操作相关的命令。请注意,有些撤销操作是不可逆的,所以请务必谨慎小心,一旦失误,就有可能丢失部分工作成果。1.修改最后一次提交有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用 –amend 选项重新提交:$ git commit --amend此命令将使用当前的暂存区域快照

2017-03-27 09:29:03 688

原创 Scrapy ImportError: No module named items

1.问题描述在执行scrapy crawl命令爬取数据的时候,代码报了以下错误:ImportError: No module named items但显然我们代码里面是有items这个类的。那问题出现在哪里呢? 求助万能的stack overflow,发现正好有谈到这个问题。2.问题产生原因简单一句话来描述就是: 爬虫的名字跟项目的名字一样,导致最终导入的时候出错3.解决方案stackoverf

2017-03-25 23:22:34 9822 2

转载 git revert 回滚代码至上一版本

项开发过程中,有时会需要将代码回滚至上一次提交或回滚到某一次提交。项目新版本上经后,如果不能正常运行,或遇到其它极端问题时,我们需要将代码回滚至上一个版本。通过git revert命令,可以实现代码的提交回滚。1.git revert命令介绍git revert作用是回滚已经存在提交。git revert回滚本质是用某次commit时的代码再做一次commit提交,所以git revert不会对已经

2017-03-24 18:14:34 9857

原创 一条拼了40min的hql引发的思考

周末加班,拼一条hql花了40min,里面有许多小细节,特别记录下来方便以后使用。1.表结构hive表里存的是个thrift结构。我们关注的主要字段如下:struct UploadDataItem {1:optional string channel;2:optional string data;...}struct UploadData {1:required list<UploadDa

2017-03-19 15:17:43 1829

原创 MapReduce操作Hbase史上最完整范例

Hbase里的数据量一般都小不了,因此MapReduce跟Hbase就成了天然的好搭档。本文中,本博主将给出最详细的用MR读取Hbase中数据的实例。1.ZK授权表首先一点来说,Hbase是强依赖于ZK的。博主所在的team,就经常出现ZK连接数太多被打爆然后Hbase挂了的情况。一般在访问Hbase表之前,需要通过访问ZK得到授权: /** * 为hbase表授权。 *

2017-03-14 20:50:26 17388 3

原创 自学资料总结(持续更新)

经常有一些比较好的资料不想错过。之前试过加入浏览器的收藏夹,时间稍微长点以后发现加入收藏夹不是一种特别好的方式。一则随着时间的推移,容易积累很多的链接,收藏夹会变得非常大非常臃肿。二则收藏夹大了以后,急需去查某个资料的时候会变得比较困难。三则收藏夹的功能毕竟有限,尤其注释说明起来不是很方便,毕竟好记性不如烂笔头,关键的注释还是需要的。 所以为了方便学习资料的记录与累积,特别新开一篇文章,收藏自己遇

2017-03-12 19:48:30 1074

转载 ETL调优的一些分享

原来链接地址:http://www.transwarp.cn/news/detail?id=173ETL是构建数据仓库的重要一环。通过该过程用户将所需数据提取出来,并按照已定义的模型导入数据仓库。由于ETL是建立数据仓库的必经过程,它的效率将影响整个数据仓库的构建,因此它的有效调优具有很高的重要性。在实际应用中我们通常建议把ETL业务的调优分为若干思路,从而保证调优充分有序进行,避免遗漏,最大化提升

2017-03-11 22:14:14 4558 1

转载 Matplotlib 教程

原文链接地址:http://liam0205.me/2014/09/11/matplotlib-tutorial-zh-cn/1.介绍Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。这里将会探索 matplotlib 的常见用法。2.pylabpylab 是 matplotlib 面向对

2017-03-10 22:26:14 1800

原创 mac上TK Framework double implementation

在mac上实验matplotlib相关功能的时候,发现报以下错误:objc[5431]: Class TKApplication is implemented in both/Users/sykeoh/anaconda/lib/libtk8.5.dylib and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the

2017-03-10 22:06:44 863

转载 异常点/离群点检测算法——LOF

原文链接地址:http://blog.csdn.net/wangyibo0201/article/details/51705966在数据挖掘方面,经常需要在做特征工程和模型训练之前对数据进行清洗,剔除无效数据和异常数据。异常检测也是数据挖掘的一个方向,用于反作弊、伪基站、金融诈骗等领域。 异常检测方法,针对不同的数据形式,有不同的实现方法。常用的有基于分布的方法,在上、下α分位点之外的值认为是异

2017-03-10 15:50:27 8084

原创 python中对象排序的两种方式

很多时候,我们是需要针对对象序列进行排序的,尤其是针对对象的某个属性排序的场景最为常见。以下就实验两种方法来满足这个需求。1.直接调用序列的sort方法class Person(object): def __init__(self,age,name): self.age = age self.name = namedef personSort(): p

2017-03-08 14:35:03 14292

原创 判断一个数是否为质数

1.质数的定义只要有小学毕业证的同学都知道质数是什么鬼。因为本人没有小学毕业证,特意记录一下质数的定义: 对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数。2.判断是否为质数import mathdef isPrime(n): if n == 1: return False elif n < 4: return T

2017-03-06 22:04:59 5528 1

原创 判断一个点是否在多边形区域内

在做LBS,POI相关项目时,经常需要判断一个点是否在某个区域中的问题。在实际场景中,这个区域肯定是没有任何规律的不规则形状。针对这种场景,搜索了几种对应的解法。重点是,最后给大家奉上能工作的源码!有需要的同学们千万不能错过。1.射线法,PNPoly算法本算法是由W. Randolph Franklin提出的。算法的思路如下: 从待测点出发作一条射线,可沿y轴方向也可没x轴方向,然后判断这条射线与

2017-03-06 19:58:19 11106

原创 csdn中让图片居中

1.Problem在csdn中提供的markdown编辑器中,默认插入图片都是左对齐的。效果如下: 效果图: 2.Solution很多时候,我们希望将图片居中,这样看起来效果很好。 对于不怎么懂html,css的后端人员来说,怎么搞定这事。 一种行之有效的方式:在图片上面加入<div align=center>标签。 效果如下: 最后出来的实际效果 完美!

2017-03-05 12:05:26 6020 4

转载 GeoHash核心原理解析

原文链接地址:http://www.cnblogs.com/LBSer/p/3310455.html引子  机机是个好动又好学的孩子,平日里就喜欢拿着手机地图点点按按来查询一些好玩的东西。某一天机机到北海公园游玩,肚肚饿了,于是乎打开手机地图,搜索北海公园附近的餐馆,并选了其中一家用餐。饭饱之后机机开始反思了,地图后台如何根据自己所在位置查询来查询附近餐馆的呢?苦思冥想了半天,机机想出了个方法:计算

2017-03-05 11:31:54 670

原创 Hadoop Partitioner 实战详解

Partitioner是MR中非常重要的组件。Partitioner的作用是针对Mapper阶段的中间数据进行切分,然后将相同分片的数据交给同一个reduce处理。Partitioner过程其实就是Mapper阶段shuffle过程中关键的一部分。在老版本的hadoop中,Partitioner是个接口。而在后来新版本的hadoop中,Partitioner变成了一个抽象类(本人目前使用的版本为2.

2017-03-03 12:44:39 3665 1

原创 大数据分析处理实践的一点心得

最近的项目中,需要对海量的原始数据进行加工处理。并且数据的来源也不尽相同,数据处理链条很长。针对这种实际应用中的场景,有几点小小的新的体会,特意总结一下。1.最重要的是,编码之前尽可能多地搞清楚原始数据各字段的含义。越是原始数据复杂,越是数据多,越是数据大,越是需要从业务角度理解数据的含义。否则可能因为一个小小的细节,会让你痛不欲生,白白浪费好多时间,而且debug过程的痛苦,你懂的。 2.编码前

2017-03-02 16:37:45 10254 1

原创 shell 数组详解

数组是shell中常用的一个东东。现在对shell中的数组做一个小结,方便以后使用。1.初始化数组初始化数组有两种方式,直接上代码array=(0 1 2)arr[0]=0arr[1]=1arr[2]=2这两种方式都能初始化数组,达到的效果是一致的。需要注意的一点是,用第二种方式初始化的时候,不需要先声明arr,否则shell运行的时候会提示找不到arr命令。2.求数组的长度echo ${#a

2017-03-01 12:23:45 1743

空空如也

空空如也

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

TA关注的人

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