- 博客(44)
- 收藏
- 关注
原创 基于Flink-sql的负毛_实时地址相似度计算
一、背景 在电商平台中,用户通过利用多个账号领取优惠券,薅平台补贴力度比较大的商品,为了躲避平台的同一个地址的规则:平台会限制一个收件地址在同一天内只能下一单的规则,会加一些干扰项来逃避平台的规则,比如:上海市浦东新区张江路88号 、上海市浦东新区张江路88号哈哈哈哈,其实这两个地址其实代表的同一个地址,因此本文讲述一种方法,来实时检测出这部分订单并加以拦截。 本文基于公司的实时计算平台,借助Flink实时计算能力,实现对实时地址相似度的计算。二、实现流程 ...
2021-08-12 20:34:45 701
原创 hive中的正则表达式及其应用
今天来说一下hive中的正则表达式,主要包含:元字符匹配、位置匹配、频率匹配1、元字符匹配(.) 表示匹配除换行符以外的任意字符。(\w) 表示匹配字母、下划线、数字或汉字(\\W)。(\d) 表示匹配数字(\s) 表示匹配任意的空白符([ ]) 表示匹配方括号中任一字符([^匹配内容]) 表示匹配方括号中任一字符2、位置匹配(^) 表示匹配字符串的开始,...
2018-07-20 15:18:01 60876 1
原创 使用docker部署数据可视化平台Metabase
目前公司没有人力开发数据可视化看板,因此考虑自己搭建开源可视化平台MetaBase。在此记录下部署过程~目前演示页面配置的是metabase从mysql读取数据进行展示和计算。metabase真没以前公司自研开发的可视化平台好用和灵活,凑合着用吧~地址为:部署容器的宿主机地址:3000,3000是端口号。
2024-04-16 19:07:05 582
原创 使用docker部署mysql数据库
将车端采集的数据写入到MongoDB数据库时,将解析的数据写入到mysql,由于公司只有服务器,所以还是使用docker部署mysql数据库。
2024-04-02 14:20:02 327
原创 使用docker部署MongoDB数据库
最近由于工作需要搭建MongoDB数据库,现公司只有服务器,因此考虑容器化部署MongoDB数据,特此记录一下~
2024-04-01 18:12:07 811 2
原创 我的创作纪念日
提示:你过去写得最好的一段代码是什么?提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。提示:在创作的过程中都有哪些收获。提示:职业规划、创作规划等。
2023-06-07 10:14:02 114
原创 获取hdfs文件到本地的两种方法比较
一、前言最近在搞数据传输的东西,涉及到hdfs的操作,主要有两种方法:1、hive -e方法2、hdfs dfs -get方法二、详解:两者都可以将集群的数据写入到本地,但是所存储的格式存在差别:方法一:hive -e将集群的数据拉取到本地,所 存储的格式是服务器默认存储的格式,这种格式存在的问题是:如果在将文件导入到另外一台集群时,如果创建表的分割符与机器的默认分割不一致,就会导致列分割失败,所有的列会写入一个字段中。hive -e "USE htl_data;SELEC
2021-09-18 16:40:24 4724
原创 服务器免密数据传输及hdfs文件操作记录
需求描述: 最近需要在两台没有打通的服务器之间进行数据传输,因为设置的任务每天自动调度,因此不能直接使用scp命令直接拿数据,不然每次都要手动输入密码。后发现可以使用spwan命令可以解决这一问题,同时将另外一个机器的数据上传到hdfs集群上。在此记录一下~通过shell脚本实现上述需求,实现代码如下:#!/bin/shdata_target="/home/admin/hotel/jk_data"set -eWORKDIR=`dirname $0`DIR=`cd $WOR...
2021-09-15 14:51:18 263
原创 阿里云服务器装JAVA和Scala环境
去年双十一买的阿里云服务器一直闲置到现在,今天打算进去看看,刚好最近也在学习scala相关,今天就把环境的安装记录一下~首先我这里是用xshell连接,连接方式就不说了,直接上安装JAVA和Scala环境的安装。#创建下载目录mkdir /usr/java#进入到创建的目录并用wget获取Java安装包到服务器wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.
2020-06-27 15:27:22 501
原创 Python与 Hive & Spark & MYSQL连接方式汇总
一、python连接Hive1、需要知道集群的参数host :地址port: 端口号database:数据库user: 用户名auth_mechanism:依赖于hive-site.xml配置文件password:密码(可有可无)2、连接及使用:# -*- coding: utf-8 -*-import pandas as pdfrom impala import dbapiimport numpy as np#连接参数配置hive_connection =
2020-05-24 18:19:55 1623
原创 机器学习笔记之线性回归技术
一、概念 线性回归是一种有监督的回归分析技术,其是找出自变量与因变量之间的因果关系,本质上是一个函数估计的问题。回归分析的因变量应该是连续变量,若因变量为离散变量,则问题就转化为分类问题。回归分析主要应用场景为预测,常用的算法有如下:线性回归、二项式回归、岭回归、Lasso等。二、模型的表达式及推导现有如下训练集:D={(X1,Y1),(X2,Y2),...,(Xn...
2019-09-14 13:12:11 3194
原创 Hive中存在的数据倾斜问题
真是好久没写博客了。。。趁着今天休息,把以前遇到的问题整理一下吧。互联网中的数据量通常会很大,比如埋点数据。。。因此在日常数据处理中就会遇到数据倾斜的问题,就是那种跑半天跑不出数据或者reduce阶段卡在99%的那种情况。。。今天来说一下日常遇到数据倾斜的解决办法!本文将从一下几个方面进行总结:1、去重问题: 1.1 union-union all(子查询实现job的并行...
2019-07-06 16:17:05 1846 1
原创 WIN10系统下,安装可视化工具GraphViz
以前安装过这个包,成功了,但是电脑重做系统后,装了好半天才装好,老是提示:InvocationException: GraphViz’s executables not found这是由于环境变量没有添加到系统path导致的,在此写个教程记录一下吧。首先在官网下载这个安装包:https://graphviz.gitlab.io/_pages/Download/Download_win...
2019-05-16 23:40:15 1858 1
原创 Hive之Grouping Sets函数
最近在看一些关于Hive优化的东西,看到一个很好用的函数:Grouping Sets函数,今天就先总结一下关于这个函数的用法!在一个GROUP BY 查询中,根据不同的维度组合进行聚合,等价于将不同维度的GROUP BY结果进行UNION ALL操作。GROUPING SETS就是一种将多个GROUP BY逻辑UNION写在一个HIVE SQL语句中的便利写法。GROUPING SETS会把在...
2019-03-17 22:33:41 32816 3
原创 spyder中安装第三方库的包
最近遇到一个问题:在CMD命令窗口安装的python包,在anaconda中spyder编辑器中找不到已安装的python包,经过网上的资料查看,原来是因为,cmd中python包的工作路径与anaconda安装路径是同一级目录,因此anaconda下的spyder并不能检测到该包,通过资料的查询与实现,终于找到如下解决办法:第一步:找到anaconda命令窗口,依次点击开始—>所有程序...
2019-02-24 21:08:01 54213 9
原创 hive中日期问题—取具体某一天为周几的方法及其应用
在实际的业务中,我们会遇到取历史某一天为周几,类似的这样的问题,我这里提供一个方法。具体如下:场景:取历史一年的数据,按周汇总,并且将每周汇总数据统计到周一对应的日期。(当然这里可以对应到任意周几)数据存放在表:dw_db.tmp_data_info_week,数据格式如下:下面提供具体的解决方法:思路:1、求出上述日期对应周几,找出每一天所在周的周一和周日。 ...
2019-02-24 14:47:32 9280
原创 hive之求累计值
最近做项目真是忙到昏厥,抽个空写篇博客吧,保持良好的学习习惯~今天要写的是工作中经常遇到的求累计值的问题。从订单表中取出orderid,uid,time,ciiamount,数据格式如下:现需要计算每个uid每天累计的成交金额。SQL代码如下:--汇总每个uid每天的订单成交金额USE edw_htl;DROP TABLE IF EXISTS tmp_linshi_c...
2018-10-22 22:12:05 12248 1
原创 pandas小技巧之求行最大值及其索引
在平时训练完模型后,需要对模型预测的值做进一步的数据操作,例如在对模型得到类别的概率值按行取最大值,并将最大值所在的列单独放一列。数据格式如下:arrayarray([[ 0.47288769, 0.23982215, 0.2261405 , 0.06114962], [ 0.67969596, 0.11435176, 0.17647322, ...
2018-09-20 14:26:34 76655 1
原创 windows下Xgboost算法包的安装
以前在安装xgb算法包时,看了网上很多篇教程都没有成功,但最后还是找到了解决方法,恰好最近在整理笔记就与大家分享一下:安装成功得益于如下网站下载的一个xgboost安装包的whl文件:https://www.lfd.uci.edu/~gohlke/pythonlibs/通过Ctrl+F后输入xgboost回车就可以到达xgboost所在的目录。根据自己的电脑系统选择对应的安装包,我的电...
2018-09-17 13:58:11 2111
原创 hive中提高代码运行效率的参数配置及代码优化
今天整理下平时hive中用以提高代码运行效率的几个参数,和大家分享一下:1、set mapreduce.map.memory.mb=5120; 此参数是设置每个map使用内存的大小,默认1024M,这个参数是控制map数量的关键参数。如果需要处理的文件较多或 较大时,则分开处理效率会较快,如果文件较少或较小时会造成map资源的浪费。2、set mapr...
2018-09-06 19:09:35 2296
原创 hive中两种日期格式的转换
在解析埋点数据时会遇到两种不同的日期格式:yyyymmdd和yyyy-mm-dd,此类型之间的转换主要有两种思路:第一种方法:from_unixtime+unix_timestamp--20180905转成2018-09-05select from_unixtime(unix_timestamp('20180905','yyyymmdd'),'yyyy-mm-dd')from dw....
2018-09-05 13:45:48 74053 3
原创 机器学习笔记之模型的评价指标小结
当我们训练好模型后,我们要对得到的模型作出评价,那我们怎么评价我们的模型呢,主要有如下指标:一、对于回归模型,主要从下面四个指标出发:1、explained_variance_score:解释回归模型的方差得分,其值取值范围是[0,1],越接近于1说明自变量越能解释因变量的方差变化,值越小说明效果越差。2、mean_absolute_error:平均绝对误差(Mean Absolut...
2018-09-02 18:19:57 5291
原创 python中部分函数用法的总结
在写python脚本时,通常会遇到一些函数,下面对这些的函数用法做一个总结:1、strip()函数作用:移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。案例:#案例a=' asdjfadf ' #创建对象a.strip()Out[75]: 'asdjfadf'#删除开头和结尾还有字符aa.strip('a')Out[89]: 'sdjfadf'2...
2018-08-29 17:01:22 699
原创 利用pandas对数据离散化
在实际的工作场景中,我们经常会遇到这样一种场景:想要将某些字段进行离散化即分桶,简单来说就是讲年龄分成几个区间。pandas中的cut方法能很好地完成此操作。#导入相关库,并创建数据集import pandas as pd import numpy as npindex = pd.Index(data=["Tom", "Bob", "Mary", "James"], name="na...
2018-08-28 16:44:26 8188
原创 hive中求相邻时间问题的两种解决方法
hive中经常会有求连续数字或者连续的时间这种问题,其实处理的方法一致。首先给出数据的结构:假如表dw.tmp_interview_data中存放有如下样式的数据: 求出表dw.tmp_interview_data中每个人连续工作时间段及对应的工资和,结果表如下: 姓名 开始日期 结束日期 总工资 ...
2018-08-28 10:20:12 5386
原创 python中分组函数groupby和分组运算函数agg小结
今天来介绍pandas中一个很有用的函数groupby,其实和hive中的groupby的效果是一样的,区别在于两种语言的写法问题。groupby在Python中的分组统计中很有用~groupby:首先创建数据:import pandas as pdimport numpy as npdf = pd.DataFrame({'A': ['a', 'b', 'a', 'c', 'a'...
2018-08-27 18:15:53 43593
原创 机器学习笔记之交叉验证
在评估算法的效果时,为什么要进行交叉验证呢,查看了官方说明文档后,对交叉验证做了如下的描述:在了解交叉交叉验证之前,我们先了解如下知识:过拟合:是指所建立的机器学习模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳。为了避免这种情况,通常的做法是执行(监督)机器学习实验时将部分可用数据作为测试集 。关于测试集和训练集的划分,sklearn模型中有如下方法:#导入...
2018-08-14 13:01:19 1408
原创 hive中关于子查询的问题
在传统的关系型数据库中,是支持子查询操作的,但是在基于Hadoop的hive中却不支持这一操作,因此可以通过一些方法进行转换。实例,执行如下sql:select * from dw.ordersnap_total where d='2018-08-09' and session_id in ( select session_id ...
2018-08-13 10:40:27 15760 2
原创 hive中表操作的汇总
在使用hive时,会时常遇到一些表的操作,今天就把平时积累的和大家分享一下~1、修改字段名--语法格式alter table 表名 CHANGE col_old_name col_new_name new_type;--实例use dw_bi;alter table dimcity CHANGE region war_zone string;2、增加字段名--语法格式...
2018-08-09 14:08:37 1421
原创 hive中零星知识点总结
工作中会遇到(想起)一些小的知识或者函数,集中一篇文章来进行总结:1、on和where的区别on:是指表与表之间连接条件where:表与表之间连接之后,再按照where指定的条件进行筛选2、COALESCE其是非空查找函数案例:select COALESCE(null,’aaa’,50)from lxw_dual;返回值为:aaa其函数作用是返回列表中第一个不为nu...
2018-08-09 13:41:06 318
原创 hive中dense_rank&row_number&rank函数
hive中三个排序函数rank、row_number、dense_rank日常中比较常用到,今天来说说三者的区别:1、rank()函数此排序方法进行排序时,相同的排序是一样的,而且下一个不同值是跳着排序的。2、row_number()函数此方法不管排名是否有相同的,都按照顺序1,2,3…..n 3、dense_rank()函数此方法对于排名相同的名次一样,且后面名次不跳跃...
2018-08-08 20:03:21 10209
转载 机器学习笔记之-数据共线性的问题
在将数据放入到模型中进行训练时,经常需要检验各维度之间的可能存在的多重共线性的问题,本文将着重讲解将如何识别和解决多重共线性的问题~多重共线性: 其是指模型中的自变量之间存在较强的线性关系,多重共线性的存在不仅会导致模型的过拟合,而且还会导致回归模型的稳定性和准确性大大的降低。因此对于多重共线性的识别和解决就变得尤其重要。容易出现多重共线性的场景:1...
2018-08-08 15:47:06 9546
原创 机器学习笔记之—数据的标准化
数据的标准化是一个比较常用的数据预处理方法,其目的是处理不同量纲的数据,使其缩放到相同的数据区间和范围,以减少规模,特征、分布差异对模型的影响。标准化后的数据还具有了直接计算并生成符合指标的意义。数据的标准化主要有以下四种方法:1、实现中心化和正态分布的Z-score2、实现归一化的Max-Min3、用于稀疏矩阵的MaxAbs4、针对离群点的RobustSca...
2018-08-06 13:58:05 4328
原创 机器学习笔记之-Kmeans
今天来聊聊聚类分析中最基础的一个算法:Kmeans。Kmeans思想及算法流程: 首先Kmeans是一种无监督的聚类算法。对于给定的样本集,按照样本之间的距离大小,将样本划分为K个簇,让簇内的点尽量紧密的连接在一起,而让簇间的距离尽量的大。算法流程:1、给各个簇中心以适当的初值。2、更新样本x1,x2,...,xn对应的簇标签y1,y2,...,yn。 ...
2018-08-05 16:50:59 24464 3
原创 基于余弦夹角计算句子相似度的应用——房型名称匹配
项目背景: 将平台所售卖的房型与竞争对手的房型进行匹配,以节省人力及提高效率和匹配准确率~数据的处理: 竞对的房型名称相对于平台来说,显得非常的复杂,但是配合平台的强大的业务能力,在和运营人员讨论数据清洗规则方面花费了大量的时间,不过好在最后的数据清洗的已经足够干净了,不过这部分数据量庞大,已经在hive上面进行清洗好了。(ps:个人认为数据库真是的一个强大的...
2018-07-31 18:21:11 1997
原创 pandas小技巧之--值替换
通常,我们在将数据集进入到模型进行训练时时,需要将数据框中的某些模型不支持的值进行替换,比如性别这种。今天就来讲讲在pandas中进行特定值替换。首先数据格式如下:df = pd.DataFrame({"id": [25,53,15,47,52,54,45,9], "sex": list('mfmfmfmf'), 'score': [1.2, 2.3, 3.4, 4.5,6.4...
2018-07-28 23:01:22 56174
原创 hive技巧之—行转列的另一种实现方法
前两天有个行转列的需求困扰了同事,我看了之后想出如下自认为较为简单的实现方法,和大家分享一下~数据格式如下:现在的目标是像转为一行,即:productid 服务 位置 设施 卫生344920 ** ** ** ** 现在想到的方式case when 结合concat_ws与collect_set实现,代码如下:se...
2018-07-23 14:33:49 7381
翻译 机器学习—决策树算法学习笔记
最近真的忙的要死,不过还是要学习的,今天打算写一篇关于机器学习的学习笔记~一、决策树简介 首先决策树是一种有监督的机器学习算法,其采用的方法是自顶向下的递归方法,构建一颗树状结构的树,其具有分类和预测功能。其基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零。决策树的构建通常分为三个步骤:1、特征选择 特征选择就是要选取具有较强分类能力...
2018-07-15 15:02:51 389
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人