Browse Month: 二月 2016

Hive编程指南

  1. 基础知识
  2. 基础操作
  3. 数据类型和文件格式
  4. HiveQl 数据定义
  5. HiveQL 数据操作
  6. HiveQL 查询
  7. HiveQL 视图
  8. HiveQL 索引
  9. 模式设计
  10. 调优
  11. 其他文件格式和压缩方法
  12. 开发
  13. 函数
  14. Streaming
  15. 自定义Hive文件和记录格式
  16. Thrift服务
  17. 存储处理程序和NoSQL
  18. 安全
  19. Hive和Oozie整合
  20. Hive和亚马逊网络服务系统
  21. HCatalog
  22. 案例研究I

数据分析之数据模型

事件模型:描述用户在产品上的各种行为

事件模型核心实体:事件(Event),用户(User)

Event实体

一个Event描述:一个用户在某个时间点、某个地方,以某种方式完成了某个具体的事情

  • who: 未登录 cookie, 设备id;登录用户 实际用户id
  • when:
  • where: ip, GPS定位的地理信息(city, province)
  • how: 用户从事这个事件的方式,包括用户使用的设备、使用的浏览器、使用的APP版本、操作系统版本、进入的渠道、跳转过来时的referer等
  • what: 描述用户所做的这个事件的具体内容

后端埋点

  1. 很多字段在前端拿不到
  2. 后端修改程序更加方便便捷
  3. App收集数据相对低效

Event划分原则

  1. 从需求出发,只记录会分析的Event
  2. Event不见局限与用户在app, web前端操作,用户电话投诉,线下接收服务,用户在线下商家进行消费等都可做相应的Event

字段设计原则

  1. 根据需求梳理分析的指标和维度,然后再从指标和维度倒推需要在每个Event记录的字段
  2. 数据分析工具,并不是一个日志存储和备份系统,所以,一些用不到的字段,没有必要作为一个Event的字段来进行记录和收集
  3. 字段的设计一旦确定,则不要再修改它的类型和取值含义,新增字段时应该增加一个新的字段,而不是去改变已有字段含义

User实体

每个User实体对应一个真实的用户,用distinct_id进行标识,描述用户的长期属性(也即Profile),并且通过distinct_id与用户行为(Event)进行关联。

记录User Profile场所
– 用户注册
– 完善个人资料
– 修改个人资料

字段记录在User 和 Event的取舍

Profile 记录的是用户的基本固定不变的属性

Vim配色

基础

用户自定义主题 ~/.vim/colors*.vim命名

切换主题 :colorscheme 主题插件名称

在~/.vimrc 中开启

" 256颜色支持
set t_Co = 256
" 语法高亮
syntax enable
syntax on

定制主题

主题色调

存在两种色调 dark/light

set background = dark

重新设置语法高亮

if version > 580  
    hi clear  
    if exists("syntax_on")  
        syntax reset  
    endif  
endif

主题名称

let g:colors_name = "themename"

基础属性

vim可以在黑白终端、彩色终端、GUI界面下运行,所以需要对其分贝进行配置

  • term 黑白终端的属性
  • cterm 彩色终端的属性
  • ctermfg 彩色终端前景色
  • ctermbg 彩色终端背景色
  • gui GUI属性
  • guifg GUI前景色
  • guibg GUI背景色

以彩色终端为例

VIM安全色

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • Brown, DarkYellow
  • LightGray, LightGrey, Gray, Grey
  • DarkGray, DarkGrey
  • Blue, LightBlue
  • Green, LightGreen
  • Cyan, LightCyan
  • Red, LightRed
  • Magenta, LightMagenta
  • Yellow, LightYellow
  • White

配色语法

hi Type ctermfg = LightYellow ctermbg = Black cterm = bold

  • hi是 highlight命令的缩写,用于高亮配置
  • Type是要配色的元素名称
  • 参数采用的是 Key=Value的形式

元素列表

状态栏

  • hi StatusLine 状态栏
  • hi StatusLineNC 非当前窗口的状态栏
  • ErrorMsg 错误信息
  • WarningMsg 警告信息
  • ModeMsg 当前模式
  • MoreMsg 其他文本
  • Question 询问用户
  • Error 错误

文本搜索

  • Pmenu 弹出菜单
  • PmenuSel 菜单当前选择项

窗体边框相关

  • VertSplit 垂直分割窗口的边框
  • LineNr 行号
  • Cursor 光标所在字符
  • CursorLine 光标所在行
  • ColorColumn 光标所在列
  • ColorColumn 标尺
  • NonText 窗口尾部的~和@,以及文本里实际不显示的字符

diff模式

  • DiffAdd diff模式增加的行
  • DiffChange diff模式改变的行
  • DiffDelete diff模式删除的行
  • DiffText diff模式插入文本

语法

  • Comment 注释
  • PreProc 预处理
  • Type 数据类型
  • Constant 常量
  • Statement 控制语句
  • Special 字符串中的中的特殊字符
  • String 字符串
  • cCppString Cpp字符串
  • Number 数字
  • Todo TODO、HACK、FIXME等标签

示例

set background=dark  
if version > 580  
    hi clear  
    if exists("syntax_on")  
        syntax reset  
    endif  
endif  
let g:colors_name="themename"  
hi Normal               ctermfg=Grey            ctermbg=Black         
hi ColorColumn          ctermfg=White           ctermbg=Grey  
                                               ·  
hi ErrorMsg             term=standout             
hi ErrorMsg             ctermfg=LightBlue       ctermbg=DarkBlue      
hi WarningMsg           term=standout             
hi WarningMsg           ctermfg=LightBlue       ctermbg=DarkBlue      
hi ModeMsg              term=bold               cterm=bold            
hi ModeMsg              ctermfg=LightBlue       ctermbg=Black         
hi MoreMsg              term=bold               ctermfg=LightGreen    
hi MoreMsg              ctermfg=LightBlue       ctermbg=Black         
hi Question             term=standout           gui=bold  
hi Question             ctermfg=LightBlue       ctermbg=Black         
hi Error                term=bold               cterm=bold            
hi Error                ctermfg=LightBlue       ctermbg=Black         
                                               ·  
hi LineNr               ctermfg=LightBlue       ctermbg=Black         
hi CursorColumn         ctermfg=White           ctermbg=Grey          
hi CursorLine           ctermfg=LightBlue       ctermbg=Black         
hi ColorColumn          ctermfg=White           ctermbg=Grey          
                                               ·  
hi IncSearch            ctermfg=Black           ctermbg=DarkGrey      
hi Search               ctermfg=Black           ctermbg=DarkGrey      
hi StatusLine           term=bold               cterm=bold            
hi StatusLine           ctermfg=Black           ctermbg=Grey          
hi StatusLineNC         term=bold               cterm=bold            
hi StatusLineNC         ctermfg=Black           ctermbg=Grey          
                                               ·  
hi VertSplit            ctermfg=Grey            ctermbg=Grey          
hi Visual               term=bold               cterm=bold            
hi Visual               ctermfg=Black           ctermbg=Grey          
                                               ·  
highlight Pmenu         ctermfg=Black           ctermbg=Grey        
highlight PmenuSel      ctermfg=LightBlue       ctermbg=DarkBlue    
            ·  
hi Comment              ctermfg=DarkCyan        ctermbg=Black  
hi PreProc              ctermfg=Blue            ctermbg=Black  
hi Type                 ctermfg=LightYellow     ctermbg=Black           cterm=bold  
hi Constant             ctermfg=Blue            ctermbg=Black           cterm=bold  
hi Statement            ctermfg=LightYellow     ctermbg=Black           cterm=bold  
hi Special              ctermfg=Red             ctermbg=Black           cterm=bold  
hi SpecialKey           ctermfg=Red             ctermbg=Black           cterm=bold  
hi Number               ctermfg=Blue            ctermbg=Black  
hi cCppString           ctermfg=Red             ctermbg=Black  
hi String               ctermfg=Red             ctermbg=Black  
hi Identifier           ctermfg=Red             ctermbg=Black           cterm=bold  
hi Todo                 ctermfg=Black           ctermbg=Gray            cterm=bold  
hi NonText              ctermfg=LightBlue       ctermbg=Black  
hi Directory            ctermfg=Blue            ctermbg=Black  
hi Folded               ctermfg=DarkBlue        ctermbg=Black           cterm=bold  
hi FoldColumn           ctermfg=LightBlue       ctermbg=Black  
hi Underlined           ctermfg=LightBlue       ctermbg=Black           cterm=underline  
hi Title                ctermfg=LightBlue       ctermbg=Black  
hi Ignore               ctermfg=LightBlue       ctermbg=Black  
hi Directory            ctermfg=LightBlue       ctermbg=Black  
hi browseSynopsis       ctermfg=LightBlue       ctermbg=Black  
hi browseCurDir         ctermfg=LightBlue       ctermbg=Black  
hi favoriteDirectory    ctermfg=LightBlue       ctermbg=Black  
hi browseDirectory      ctermfg=LightBlue       ctermbg=Black  
hi browseSuffixInfo     ctermfg=LightBlue       ctermbg=Black  
hi browseSortBy         ctermfg=LightBlue       ctermbg=Black  
hi browseFilter         ctermfg=LightBlue       ctermbg=Black  
hi browseFiletime       ctermfg=LightBlue       ctermbg=Black  
hi browseSuffixes       ctermfg=LightBlue       ctermbg=Black  
hi TagListComment       ctermfg=LightBlue       ctermbg=Black  
hi TagListFileName      ctermfg=LightBlue       ctermbg=Black  
hi TagListTitle         ctermfg=LightBlue       ctermbg=Black  
hi TagListTagScope      ctermfg=LightBlue       ctermbg=Black  
hi TagListTagName       ctermfg=LightBlue       ctermbg=Black  
hi Tag                  ctermfg=LightBlue       ctermbg=Black  

参考