Talk is Cheap的博客专栏

机器学习、NLP、【数据结构与算法】、大数据、编程语言知识分享

0
推荐
1603
阅读

【Python实战】Django建站笔记

前一段时间,用Django搭建一个报表分析的网站;借此正好整理一下笔记。1. 安装python有包管理工具pip,直接cd Python27/Scripts,输入pip install django # install by version pip install --upgrade Django==<version>安装完成后,python -c "import django; print(django.get_version())",若能打印出Django的...

发表了文章 • 2017-05-02 16:08 • 0 条评论

0
推荐
2011
阅读

【Python实战】Scrapy豌豆荚应用市场爬虫

对于给定的大量APP,如何爬取与之对应的(应用市场)分类、描述的信息?且看下面分解。1. 页面分析当我们在豌豆荚首页搜索框输入微信后,会跳转到搜索结果的页面,其url为http://www.wandoujia.com/search?key=%微信。搜索结果一般是按相关性排序的;所以,我们认为第一条搜索结果为所需要爬取的。紧接着,点进去后会跳...

发表了文章 • 2017-05-02 16:01 • 0 条评论

0
推荐
1576
阅读

【Python实战】Pandas:让你像写SQL一样做数据分析(二)

1. 引言前一篇介绍了Pandas实现简单的SQL操作,本篇中将主要介绍一些相对复杂一点的操作。为了方便后面实操,先给出一份简化版的设备统计数据:0 android NLL 387546520 2099457911 0 ios NLL 52877990 916421755 1 android 魅族 8995958 120369597 1 android 酷派 9915906 200818172 1 android 三星 ...

发表了文章 • 2017-05-02 15:56 • 0 条评论

4
推荐
2688
阅读

【Python实战】Pandas:让你像写SQL一样做数据分析(一)

1. 引言Pandas是一个开源的Python数据分析库。Pandas把结构化数据分为了三类:Series,1维序列,可视作为没有column名的、只有一个column的DataFrame;DataFrame,同Spark SQL中的DataFrame一样,其概念来自于R语言,为多column并schema化的2维结构化数据,可视作为Series的容器(container);Panel,为3维的结构化数据...

发表了文章 • 2017-04-28 16:48 • 1 条评论

1
推荐
1701
阅读

【Python实战】机型自动化标注(搜狗爬虫实现)

1. 引言从安卓手机收集上来的机型大都为这样:mi|5mi|4cmi 4c2014022kiw-al10nem-tl00h收集的机型大都杂乱无章,不便于做统计分析。因此,标注显得尤为重要。中关村在线有对国内大部分手机的介绍情况,包括手机机型nem-tl00h及其对应的常见名称荣耀畅玩5C。因而,设计机型自动化标注策略如下:在搜狗搜索中输入机型进行...

发表了文章 • 2017-04-28 16:37 • 0 条评论

0
推荐
1745
阅读

Java实现过滤中文乱码

最近在日志数据清洗时遇到中文乱码,如果只要有非中文字符就将该字符串过滤掉,这种方法虽简单但并不可取,因为比如像Xperia™主題、天天四川麻将Ⅱ这样的字符串也会被过滤掉。1. Unicode编码Unicode编码是一种涵盖了世界上所有语言、标点等字符的编码方式,简单一点说,就是一种通用的世界码;其编码范围:U+0000 .. U+10...

发表了文章 • 2017-04-28 16:23 • 0 条评论

0
推荐
1457
阅读

Java实时读取日志文件

古怪的需求在实习的公司碰到一个古怪的需求:在一台服务器上写日志文件,每当日志文件写到一定大小时,比如是1G,会将这个日志文件改名成另一个名字,并新建一个与原文件名相同的日志文件,再往这个新建的日志文件里写数据;要求写一个程序能实时地读取日志文件中的内容,并且不能影响写操作与重命名操作。RandomAccessF...

发表了文章 • 2017-04-28 16:13 • 0 条评论

0
推荐
1829
阅读

【JDK源码分析】String的存储区与不可变性

// ... literals are interned by the compiler // and thus refer to the same object String s1 = "abcd"; String s2 = "abcd"; s1 == s2; // --> true // ... These two have the same value // but they are not the same object String s1 = new String("abcd"); String s2 = new String("abcd"); s1 == s2; ...

发表了文章 • 2017-04-27 16:29 • 0 条评论

0
推荐
1412
阅读

【JDK源码分析】浅谈HashMap的原理

这篇文章给出了这样的一道面试题:在 HashMap 中存放的一系列键值对,其中键为某个我们自定义的类型。放入 HashMap 后,我们在外部把某一个 key 的属性进行更改,然后我们再用这个 key 从 HashMap 里取出元素,这时候 HashMap 会返回什么?文中已给出示例代码与答案,key 更新后 hashCode 确实更新了,而且 HashMap 里面...

发表了文章 • 2017-04-27 16:24 • 0 条评论

0
推荐
1807
阅读

Java中的逆变与协变

看下面一段代码Number num = new Integer(1); ArrayList<Number> list = new ArrayList<Integer>(); //type mismatch List<? extends Number> list = new ArrayList<Number>(); list.add(new Integer(1)); //error list.add(new Float(1.2f)); //error有人会纳闷,为什么Number的对象可以由...

发表了文章 • 2017-04-27 16:20 • 0 条评论

0
推荐
2558
阅读

灵活可扩展的工作流管理平台Airflow

1. 引言Airflow是Airbnb开源的一个用Python写就的工作流管理平台(workflow management platform)。在前一篇文章中,介绍了如何用Crontab管理数据流,但是缺点也是显而易见。针对于Crontab的缺点,灵活可扩展的Airflow具有以下特点:工作流依赖关系的可视化;日志追踪;(Python脚本)易于扩展对比Java系的Oozie,Airfl...

发表了文章 • 2017-04-26 13:32 • 0 条评论

0
推荐
1479
阅读

工作流引擎Oozie(二):coordinator

1. 简介coordinator是workflow的定时提交器,基于时间条件与数据生成触发(based on time and data triggers)。简单点说,coordinator按所定义的时间周期进行轮询,若数据生成条件满足,则触发workflow任务;否则,则等待数据生成或跳过(调度策略由设置的超时时间决定)。2. 详解coordinator-app<coordinator-app n...

发表了文章 • 2017-04-26 13:26 • 0 条评论

0
推荐
1792
阅读

工作流引擎Oozie(一):workflow

1. Oozie简介Yahoo开发工作流引擎Oozie(驭象者),用于管理Hadoop任务(支持MapReduce、Spark、Pig、Hive),把这些任务以DAG(有向无环图)方式串接起来。Oozie任务流包括:coordinator、workflow;workflow描述任务执行顺序的DAG,而coordinator则用于定时任务触发,相当于workflow的定时管理器,其触发条件包括两类...

发表了文章 • 2017-04-26 13:24 • 0 条评论

0
推荐
2727
阅读

轻量级OLAP(二):Hive + Elasticsearch

1. 引言在做OLAP数据分析时,常常会遇到过滤分析需求,比如:除去只有性别、常驻地标签的用户,计算广告媒体上的覆盖UV。OLAP解决方案Kylin不支持复杂数据类型(array、struct、map),要求数据输入Schema必须是平铺的,但是平铺后丢失了用户的聚合标签信息,而没有办法判断某一个用户是否只有性别、常驻地标签。显然,...

发表了文章 • 2017-04-24 14:42 • 0 条评论

0
推荐
2061
阅读

轻量级OLAP(一):Cube计算

有一个数据多维分析的任务:日志的周UV;APP的收集量及标注量,TOP 20 APP(周UV),TOP 20 APP标注分类(周UV);手机机型的收集量及标注量,TOP 20 机型(周UV),TOP 20 手机厂商(周UV);初始的解决方案:Spark读取数据日志,然后根据分析需求逐一进行map、distinct、reduceByKey得到分析结果。但是,这种方案存在着非...

发表了文章 • 2017-04-24 14:39 • 0 条评论