在日常的工作过程中,我们常常会遇到各种需要分析数据的场景,简单的比如说统计今天服务访问中有多少请求的 status_code 是 500,或是从几天的后台服务 log 中寻找特定的 log 来定位错误。复杂的情况下可能涉及到多天的数据聚合发现异常,或是从实时日志中统计用户信息,甚至是从TB、PB级别的数据中检索、聚合出需要的信息。
继续阅读 »
前言
除了上一篇中提到的使用 Shell 处理日志等文本数据,我们在日常工作中更多时候需要处理各种结构化数据。
存储结构化数据的组件通常而言是关系型数据库,各种各样的业务数据和统计数据通常都会存放到关系型数据库中。
继续阅读 »
写在前面
本系列是综合了自己在学习spark过程中的理解记录 + 对参考文章中的一些理解 + 个人实践spark过程中的一些心得而来。写这样一个系列仅仅是为了梳理个人学习spark的笔记记录,所以一切以能够理解为主,没有必要的细节就不会记录了,而且文中有时候会出现英文原版文档,只要不影响理解,都不翻译了。若想深入了解,最好阅读参考文章和官方文档。
继续阅读 »
假设我们现在有这样一个任务,需要快速从 Nignx logs 中统计出访问量前10的 ip 及其访问次数。
以 github 上的nginx_logs 为例 (格式参考官方文档)
继续阅读 »
什么是 ELK
ELK 是三个开源项目的首字母缩写,分别为: Elasticsearch,Logstash 和 Kibana。
分别解决什么问题
1. Logstash
继续阅读 »
更新日志
macOS 上搭建 R 开发环境
R 语言官方网站:https://www.r-project.org
RStudio 官方网站:https://www.rstudio.com
RStudio 是 R 语言的IDE。
安装包安装
安装 XQuartz
下载地址:https://www.xquartz.org
安装 R
下载地址:https://cran.r-project.org
安装 RStudio
下载地址:https://www.rstudio.com/products/rstudio/download/
命令行安装
安装 Homebrew
/usr/bin/rub
继续阅读 »
Regularization
上周已经讲了overfitting,那么当我们所有的数据量特别大的时候,即使有很多个特征模型也很难overfit。
继续阅读 »
花了好久写好的R包与shiny应用。R包可以在通过github安装,repo上也有安装说明,安装完成后运行runExample()能够调出本地版本的shiny app,app上的使用说明更加明确。不会R语言的可以直接无视package,有shinyio上托管的应用,可以自己上传文件查看。注意上传文件是将目录 /data/data/com.xiaomi.hm.health/databases 压缩命名为databases.zip得到,注意是整个databases目录压缩,不是databases目录下的文件。用户id可以在手环官方应用个人信息页面得到。
继续阅读 »
Drill:大数据的交互式分析
简介
Drill是开源世界中“交互式”的数据分析系统。目标是可以组建超过10000台机器的集群,并且可以在秒级处理PB级别或者万亿条数据。Hadoop作为大数据处理的事实标准,设计目标是实现大数据处理的高吞吐量。MapReduce处理一个数据,需要分钟级的时间。而业界对交互式的低延迟的数据分析和挖掘提出了新的需求,Google的Dremel希望将处理时间缩短到秒级。当前Dremel已经为Google的bigquery提供服务。Drill作为Google Dremel的开源实现,并非Hadoop的替代品,只是其补充。和Dremel一样,Drill可以高效的处理嵌套式数据格式。此外,Drill加入了额
继续阅读 »
如何评估一个回归模型
loss function
首先定义loss function,即预测错误带来的损失,通常使用y-yhat的绝对值或者平方。但不绝对,比如在预测放假时如果估值过高,则可能完全卖不出去,带来的损失更大,因此可以定义loss function使估值过高带来的loss比估值过低带来的loss更大。
继续阅读 »