注册 登录
    • 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

hive连接优化相关

1. Join的基本原理大家都知道,Hive会将所有的SQL查询转化为Map/Reduce作业运行于Hadoop集群之上。在这里简要介绍Hive将Join转化为Map/Reduce的基本原理(其它查询的原理请参考这里)。假定有user和order两张表,分别如下:user表:sidname1apple2orange……

mapreduce之shuffle操作

Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce, Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job 性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我……

hive桶概念

Hive 分桶分桶对于每一个表或者分区,Hive可以进一步组织成桶,也就是更为细粒度的数据范围划分Hive是针对某一列进行分桶Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中好处获得更高的查询处理效率使取样(sampling) 更高效分桶的使用select * from bucketed_u……

DML、DCL等基本概念

博主日常使用查询的工具就是hive,与mysql还是有很多共同之处,但是很多时候也要去hive官网查询相关信息,遇到最多了就是ddl等相关的名词,在这记录一下DDL数据定义方法,创建数据表,更改数据表相关信息,新增分区等等操作Data Definition Language (DDL) statements are used to define the……

hive文件存储格式对比

列式存储和行式存储上图左边为逻辑表,右边第一个为行式存储,第二个为列式存储。 行存储的特点: 查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快。 列存储的特点: 因为每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能……

hive传递参数变量方法

最近写的脚本都需要向hive中传递相关参数,所以搜集一下网上的资料备注一下,也顺便学习一下。使用Hive编写程序最常用的方法是将Hive语句写到文件中,然后使用hive -f filename.hql来批量执行查询语句。经常需要将外部参数传入到hql语句中替换其中的变量来动态执行任务,比如动态设定数据库名、表名、时间值、字段序列等变量,以达到脚本泛化执行的……

hive静态与动态分区理解

今天博主需要建立一个备份带分区的数据表,拷贝时若采用静态分区方式需要写N行语句,因此可以使用动态分区,节省大量时间。Hive的分区方式:由于Hive实际是存储在HDFS上的抽象,Hive的一个分区名对应一个目录名,子分区名就是子目录名,并不是一个实际字段。一)hive中支持两种类型的分区:静态分区SP(static partition)动态分区D……

机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率

在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度。错误率指的是在所有测试样例中错分的样例比例。实际上,这样的度量错误掩盖了样例如何被分错的事实。在机器学习中,有一个普遍适用的称为混淆矩阵(confusion matrix)的工具,它可以帮助人们更好地了解分类中的错误。比如有这样一个在房子周围可能发现的动物类型的预测,这个预测的三类问题的混……

Shell脚本逐行处理文本文件

经常会对文体文件进行逐行处理,在Shell里面如何获取每行数据,然后处理该行数据,最后读取下一行数据,循环处理.有多种解决方法如下:1.通过read命令完成.read命令接收标准输入,或其他文件描述符的输入,得到输入后,read命令将数据放入一个标准变量中.利用read读取文件时,每次调用read命令都会读取文件中的”一行”文本……

linux shell中使用awk sed等命令

cutcut 命令不能在分割符是空格的字符串中截取列,只能是 制表符 或 具体的分割符。选项-b :仅显示行中指定直接范围的内容;-c :仅显示行中指定范围的字符;-d :指定字段的分隔符,默认的字段分隔符为”TAB”;-f :显示指定字段的内容;-n :与”-b”选项连用,不分割多字节……

Deep Learning TensorFlow实践:mnist手写识别(二)

mnist_inference.py实现参数设置,前向网络的计算:#!/usr/bin/python#-*- coding:utf-8 -*- ############################ #File Name: mnist_inference.py#Author: yang#Mail: milkyang20……

Deep Learning TensorFlow实践:mnist手写识别(一)

代码如下:#!/usr/bin/python#-*- coding:utf-8 -*- ############################ #File Name: Softmax_Regression.py#Author: yang#Mail: milkyang2008@126.com #Created Time……

随机森林python

博主尝试对一个数据集使用构建一个二分类随机森林,所有特征都是连续属性,也尝试画一下随机森林的流程图代码# -*- coding: utf-8 -*-#-------------------#@Author: cuijian #-------------------import pandas as pdimport numpy a……

特征选择(7)-基于树模型的选择

上一篇文章使用基于模型的方法进行特征选择,其中主要描述了使用正则项、lasso等方法实现的特征选择,这篇文章是这个主题的最后一篇,主要是通过树模型来选择特征。常见的决策树模型原理基本知道,从单棵树到多棵树,过渡到随机森林和GBDT,这些在实际中都有很大用途,尤其是在陈天奇博士的xgboost中,完全将决策树提升到一个新的层次。sklearn函数剖析&n……

特征选择(6)-嵌入式选择(embedded)

上一篇讲解了使用基于递归消除法,从大范围来讲是通过wrapper的方法,中文就是包装的方法,递归消除是这其中主要的方法,还有其他类似GA等启发式搜索方法。从根本上来说基于wrapper是一种搜索方式,将当前的特征组合作为待搜索的大集合,然后在其中找出最优的特征组合然后返回结果。区别于wrapper方法,embedded方法是在选定模型的情况下,选取出对模型……

特征选择(5)-递归消除法

上一篇文章使用最大信息系数筛选特征,本篇使用递归消除法筛选特征。递归消除法,首先递归肯定是要循环执行多次来筛选特征,原理上首先要指定一个基模型,这个模型可以是lr或者decisionTree都可以,套用sklearn官方的说法First, the estimator is trained on the initial set of features an……

特征选择(4)-最大信息系数方法

上一篇使用卡方系数进行特征选择,使用的是假设检验的思路,这篇文章使用最大信息系数的方法进行计算。为什么要使用mic?MIC的优越性根据MIC的性质,MIC具有普适性、公平性和对称性。所谓普适性,是指在样本量足够大(包含了样本的大部分信息)时,能够捕获各种各样的有趣的关联,而不限定于特定的函数类型(如线性函数、指数函数或周期函数),或者说能均衡覆盖所有的……