自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(120)
  • 资源 (2)
  • 收藏
  • 关注

转载 SPARK SQL中自定义udf,udaf函数统计uv(使用bitmap)

在实际工作中统计uv时,一般会使用count(distinct userId)的方式去统计人数,但这样效率不高,假设你是统计多个维度的数据,当某天你想要上卷维度,此时又需要从原始层开始统计,如果数据量大的时候将会耗费很多时间,此时便可以使用最细粒度的聚合结果进行上卷统计,即需要自定义聚合函数进行统计,将bitmap序列化为一个字节数组。1)一次聚合/***/// 构造一个空的bitmap// 将bitmap序列化为字节数组// 将buff反序列化为bitmap/***//**

2023-10-26 16:10:33 423

转载 实时数仓方案介绍和选型

本文介绍了市面上常见实时数仓方案,并对不同方案的优缺点进行了介绍。在使用过程中我们需要根据自己的业务场景选择合适的架构。另外想说明的是实时数仓方案并不是“搬过来”,而是根据业务“演化来”的,具体设计的时候需要根据自身业务情况,找到最适合自己当下的实时数仓架构。延申思考我们在实时数仓的构建过程中比较大的争议是采用标准分层体系+流计算+数据湖的方案,还是试用基于全场景MPP数据库实现。

2023-10-26 15:05:59 535

原创 flink-addSource和addSink分别是kafka、自定义数据、mysql、hbase的java实现

flink主程序public class FinkTest { public static void main(String[] args) throws Exception{ StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setStreamTimeCharacteristic(TimeCharacteristic.Ingesti

2021-05-25 10:07:49 4344

原创 hive解析json数据方法get_json_object、json_tuple、正则化方法

get_json_object数据样例:{"id": 1701439105,"ids": [2154137571,3889177061,1496915057,……,1663973284],"total_number": 493}建表导入数据CREATE TABLE IF NOT EXISTS tmp_json_test ( json string) STORED AS textfile ;load data local inpath '/opt/datas/weibo

2021-05-24 18:19:25 895

原创 阿里云ecs上的一次神奇操作导致系统盘被占用但是找不到数据在哪里问题

问题描述在Linux中使用df -hT命令查看硬盘占用情况 ,系统盘显示占用92%, 但是使用du -h --max-depth=1 查看/目录实际占用情况 并没有全部占用重上面两个图可以看出系统盘实际使用才36G,多出来51G被谁偷走了呢?问题出现过程1.我在阿里云的ecs上安装了cdh,在根目录下面创建了一个data目录,然后挂载了一个数据盘2.不知道什么时候数据盘掉了,导致hadoop和kafka的数据写到了系统盘中,但是还是在data目录下3.我没有删除系统盘data目录下的数据,直

2021-05-24 11:17:23 840 8

原创 运行mapreduce报错CannotObtainBlockLengthException: Cannot obtain block length for LocatedBlock

报错日志如下:Error: java.io.IOException: java.lang.reflect.InvocationTargetException at org.apache.hadoop.hive.io.HiveIOExceptionHandlerChain.handleRecordReaderCreationException(HiveIOExceptionHandlerChain.java:97) at org.apache.hadoop.hive.io.H

2021-05-18 10:02:29 478 4

原创 zabbix-agent安装

环境准备系统:Centos7服务:Zabbix 3.0.32一.安装Zabbix_agent 服务1.安装zabbix 3.0 yum源rpm -vhi http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm2.安装Zabbix_agentyum install zabbix-agent -y3.修改配置文件vim /etc/zabbix/zabbix_agentd.conf

2021-05-12 18:23:33 336 1

原创 Zabbix安装部署

环境准备CentOS 7.2 64bitZabbix版本:3.0.12MySQL版本:5.6注意:zabbix3.0相关要求 mysql5.0以上版本、apache1.3以上版本、php5.4以上版本。版本选择在版本选择建议选择官方技术支持时间较长(LTS)的稳定版本,从上图我我们可以看到没有最新最稳定的是Zabbix3.0安装步骤一,关闭selinux和iptables[root@linux-node2 ~]# systemctl stop firewalld.service [ro

2021-05-12 17:48:49 6805 6

原创 Mac 10.15下安装brew

在Mac下初次使用brew命令会出现:-bash: brew: command not found随后找了各大博客,要在命令行输入如下命令:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"进行安装homebrew, 但是在安装的过程中出现“xcode-select –install安装失败不能安装该软件 因为当前无法从软件更新服务器获得”提示xcode-select: err

2021-03-03 10:57:03 554

原创 Flink-windows10测试环境配置

1.JDK安装安装(不会请百度)—版本在1.8及之上(如果有多版本的话,在path中将JAVA_HOME放在最前面)2.Scala安装下载地址:https://www.scala-lang.org/download/环境变量的配置新增环境变量: SCALA_HOME3.Flink的下载(JDK1.8及之上)下载地址: https://flink.apache.org/downloads.html此处使用版本的是1.9.1下载后直接解压可使用;进入解压目录的bin目录,运行start-cl

2021-02-07 10:31:57 1071

原创 Flink-kafka数据到mysql

pom比较多取自己需要的<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring-boot-version>2.1.3.RELEASE</spring-boot-version> <java-version>1.8</java-version> <scala-version>2.11.

2021-02-02 20:34:29 646

原创 IDEA中已配置阿里镜像但maven无法下载jar包的问题及解决方法

在网上拷贝的所有阿里云镜像比如:<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror>都不能解决我的问题,我

2021-01-31 20:15:59 890 1

原创 Flink-flink原理解读

1 Task和subtask1.1 概念Task(任务):Task 是一个阶段多个功能相同 subTask 的集合,类似于 Spark 中的 TaskSet。subTask(子任务):subTask 是 Flink 中任务最小执行单元,是一个 Java 类的实例,这个 Java 类中有属性和方法,完成具体的计算逻辑。Operator Chains(算子链):没有 shuffle 的多个算子合并在一个 subTask 中,就形成了 Operator Chains,类似于 Spark 中的

2021-01-28 19:11:45 1227

原创 Flink-watermark

1 基本概念Flink中可以让window延迟触发的一种机制我们知道,流处理从事件产⽣,到流经source,再到operator,中间是有⼀个过程和时间的,虽然⼤部分情况下,流到operato的数据都是按照事件产⽣的时间顺序来的,但是也不排除由于⽹络、背压等原因,导致乱序的产⽣,所谓乱序,就是指Flink接收到的事件的先后顺序不是严格按照事件的Event Time顺序排列的。那么此时出现⼀个问题,⼀旦出现乱序,如果只根据eventTime决定window的运⾏,我们不能明确数据是否全部到位,但⼜不能

2021-01-28 17:53:02 211

原创 Flink-Window

streaming流式计算是⼀种被设计用于处理⽆限数据集的数据处理引擎,而⽆限数据集是指一种不断增长的本质上无限数据集,⽽window是一种切割无限数据为有限块进行处理的手段。Window是无限数据流处理的核心,Window将⼀个⽆限stream拆分成有限大小的”buckets”桶,我们可以在这些桶上做计算操作。1.Time(Flink中涉及的时间)Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每⼀条⽇志都会记录⾃己的生成时间,Flink通过时间戳分配器访

2021-01-28 17:10:21 406

原创 Flink-入门编程及算子介绍

编程模型Flink提供了不同级别的编程抽象,通过调用抽象的数据集调用算子构建DataFlow就可以实现对分布式的数据进行流式计算和离线计算,DataSet是批处理的抽象数据集,DataStream是流式计算的抽象数据集,他们的方法都分别为Source、Transformation、SinkSource主要负责数据的读取Transformation主要负责对数据的转换操作Sink负责最终计算好的结果数据输出。DataStream实时wordcountpackage com.wedoctor.

2021-01-28 16:22:14 374

原创 Flink-安装部署及部署模式介绍

Flink支持三大部署模式:1. Local 本地部署Flink 可以运行在 Linux、Mac OS X 和 Windows 上。本地模式的安装唯一需要的只是Java 1.7.x或更高版本,本地运行会启动Single JVM,主要用于测试调试代码。2. Standalone Cluster集群部署Flink自带了集群模式Standalone,这个模式对软件有些要求:1.安装Java1.8或者更高版本2.集群各个节点需要ssh免密登录3. Flink ON YARNFlink ON YAR

2021-01-27 15:32:24 5580

原创 Flink-了解flink

一 flink简介1.1 什么是flinkApache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。1.2 flink特点批流统一支持高吞吐、低延迟、高性能的流处支持带有事件时间的窗口(Window)操作支持有状态计算的Exactly-once语义支持高度灵活的窗

2021-01-27 09:33:10 671

原创 Python Flask接口开发

一、操作步骤1. 导入:import flask,json2. 实例化:api = flask.Flask(__name__)3. 定义接口访问路径及访问方式:@api.route('/index',methods=['get/post/PUT/DELETE'])4. 定义函数,注意需与路径的名称一致,设置返回类型并支持中文:def index(): return json.dumps(ren,ensure_ascii=False)5. 三种格式入参访问接口:5.1 url格式入参:flask.

2021-01-26 20:02:24 8055

原创 12种降维方法及python实现

你遇到过特征超过1000个的数据集吗?超过5万个的呢?我遇到过。降维是一个非常具有挑战性的任务,尤其是当你不知道该从哪里开始的时候。拥有这么多变量既是一个恩惠——数据量越大,分析结果越可信;也是一种诅咒——你真的会感到一片茫然,无从下手。面对这么多特征,在微观层面分析每个变量显然不可行,因为这至少要几天甚至几个月,而这背后的时间成本是难以估计的。为此,我们需要一种更好的方法来处理高维数据,比如本文介绍的降维:一种能在减少数据集中特征数量的同时,避免丢失太多信息并保持/改进模型性能的方法。什么是降维?每

2021-01-15 14:49:19 8705 2

原创 不使用外键实现 Flask-SQLAlchemy 中多表链接查询

# -*- coding: utf-8 -*-from sqlalchemy import Column, Integer, Float, JSON, DATE, Text, ForeignKeyfrom sqlalchemy.ext.declarative import declarative_base# 创建基础的元数据base_one = declarative_base()class AnalysisModule(base_one): """ 模型,将映射到数据库表中

2021-01-11 10:28:07 821

原创 Django、Flask、Tornado的区别

初步印象应该是 django大而全、flask小而精、tornado性能高。底层io处理机制:tornado、gevent、asyncio、aiohttp:自带异步特性,底层使用的是事件循环+协程,nodejs和go语言都得益于协程轻松实现了高并发。tornado 或 go 开发的应用因为自己实现了高效 http 处理的应用只需要部署自己就可以了django和flask: 传统的模型,同步框架,阻塞io模型。api写同步代码,使用celery /apscheduler处理异步任务。python 传统的

2021-01-08 14:32:11 962

原创 python flask使用session.delete(result)删除数据库数据报错Class ‘builtins.list‘ is not mapped

下面代码报错results = session.query(SchoolModel).filter_by(exam_id=examId).all()session.delete(results)session.commit()Class 'builtins.list' is not mapped修改代码results = session.query(SchoolModel).filter_by(exam_id=examId).all() for result in r

2021-01-06 09:49:46 1314 2

原创 python字典与对象

python字典字典初始化的N种方法#直接赋值a = {"one": 1, "two": 2, "three": 3}#先新建字典对象,再动态赋值b = dict()b["one"] = 1b["two"] = 2b["three"] = 3#新建字典对象时,通过参数赋值c = dict(one=1, two=2, three=3)#新建字典对象时,通过嵌套的元组和列表来赋值d = dict([("one", 1), ("two", 2), ("three", 3)])#通过zip

2021-01-05 19:33:07 867

原创 cdh版hue+oozie调度,部署后时区的修改且解决Bundle异常问题

hue修改时区时区修改为: Asia/Chongqingoozie修改时区值为:oozie.processing.timezoneGMT+0800不过oozie修改这个参数之后,有个坑爹地方,那就是不能通过hue提交Bundle,会报以下错误,目前还没有解决这个问题。Error submitting bundle My Bundle: E1310: Bundle Job submission Error: [E1301: Could not read the bundle job de.

2020-12-28 20:27:26 573

原创 kafka配置内外网访问

listeners: 学名叫监听器,其实就是告诉外部连接者要通过什么协议访问指定主机名和端口开放的 Kafka 服务。advertised.listeners:和 listeners 相比多了个 advertised。Advertised 的含义表示宣称的、公布的,就是说这组监听器是 Broker 用于对外发布的。如下是我们的测试配置:listeners=PRIVATE://192.198.10.01:9092,PUBLIC://192.198.10.01:9093advertised.listen

2020-12-22 19:19:28 1705

原创 hive对分区表全量count(1)出现错误ArrayIndexOutOfBoundsException

hive查询orc格式分区表全量count(1)出现如下报错:原因及解决方法如下:这个表中途修改过字段信息,造成旧分区的信息和新分区的信息不一致。CDH5 中 hive1.1 版本,当修改表格的元数据信息后,使用ORC格式的文件与Hive的矢量化特性不兼容 ,需要先设置矢量化为falseset hive.vectorized.execution.enabled=false;set hive.vectorized.execution.reduce.enabled=false;...

2020-12-17 10:33:48 993

原创 WARN Received a PartitionLeaderEpoch assignment for an epoch < latestEpoch

Topic 处于 under replicated 状态.server.log 充满:[2020-11-30 19:00:00,006] WARN Received a PartitionLeaderEpoch assignment for an epoch < latestEpoch. This implies messages have arrived out of order. New: {epoch:0, offset:17990690}, Current: {epoch:4, offse

2020-12-07 11:42:28 2833 2

转载 python 用逐步回归筛选变量

在回归分析中,影响因变量y的因素很多,而有些自变量的对目标变量y的影响程度不同,为了建立一个相对最优的回归方程,我们需要筛选掉对目标变量y影响不大的变量,这就涉及到了变量选择问题。逐步回归是通过假设检验的方法来筛选强特征,但如果直接用特征变量和结果变量做回归,看系数的正负和大小来判断变量的相关性,其实也是合理的,但是为了考虑变量间的相互作用在回归模型中对结果的影响,通常还是应用逐步回归的方法。在逐步回归中,提取哪些变量主要基于的假设是:在线性条件下,哪些变量组合能够更显著的影响因变量,则将其保留。保留

2020-12-02 14:00:43 4021 1

原创 MySQL中concat以及group_concat的使用

本文中使用的例子均在下面的数据库表tt2下执行:一、concat()函数1、功能:将多个字符串连接成一个字符串。2、语法:concat(str1, str2,…)返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。3、举例:例1:select concat (id, name, score) as info from tt2;中间有一行为null是因为tt2表中有一行的score值为null。例2:在例1的结果中三个字段id,name,score的组合没有分

2020-11-27 18:01:45 98

原创 稳健回归 : RANSACRegressor随机采样一致性算法和TheilSenRegressor泰尔森回归

最小二乘法的弊端之前文章里的关于线性回归的模型,都是基于最小二乘法来实现的。但是,当数据样本点出现很多的异常点(outliers),这些异常点对回归模型的影响会非常的大,传统的基于最小二乘的回归方法将不适用。当然,可以考虑在做回归分析之前,对数据做预处理,剔除掉那些异常点。但是,在实际的数据中,存在两个问题:异常点并不能很好的确定,并没有一个很好的标准用于确定哪些点是异常点即便确定了异常点,但这些被确定为异常的点,真的是错误的数据吗?很有可能这看似异常的点,就是原始模型的数据,如果是这样的话,那么

2020-11-27 17:52:34 4781

转载 有监督回归:鲁棒学习

1.前言虽然最小二乘学习法是非常实用的机器学习方法,但是当训练样本中包含异常值的时候,学习效果非常易于受到影响。下图展示的是对于线性模型:以10个训练样本进行最小二乘学习的例子。测试结果如下图所示:最小二乘学习法具有容易受到异常值影响的弱点(a)图显示的是没有一场值得情况下能够得到合理的学习结果。但是在(b)图中,如果存在一个异常值,那么最小二乘学习的最终结果会发生极大地变化。在实际应用中,当样本数量很多的时候,自然会或多或少的包含一些异常值。因此,在这种情况下应用最小二乘学习法,并不能得到令

2020-11-27 17:34:41 939

原创 linux centos安装python3.7.7

不用卸载linux自带的2,python2,3可以共存安装依赖包1)首先安装gcc编译器,gcc有些系统版本已经默认安装,通过 gcc --version 查看,没安装的先安装gccyum -y install gcc2)安装其它依赖包,(注:不要缺少,否则有可能安装python出错,python3.7.0以下的版本可不装 libffi-devel )yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-

2020-11-25 15:36:11 509

原创 数据分析平台查询优化

Druid 与知乎数据分析平台背景知乎作为知名中文知识内容平台,业务增长和产品迭代速度很快,如何满足业务快速扩张中的灵活分析需求,是知乎数据平台组要面临的一大挑战。知乎数据平台团队基于开源的 Druid 打造的业务自助式的数据分析平台,经过研发迭代,目前支撑了全业务的数据分析需求,是业务数据分析的重要工具。目前,平台主要的能力如下:1.统一的数据源管理,支持摄入离线数仓的 Hive 表和实时数仓的 Kafka 流2.自助式报表配置,支持多维分析报表、留存分析报表3.灵活的多维度多指标的组合分.

2020-11-12 19:58:05 300

原创 Python3实现一个简单的接口服务实现跨域请求

使用Python实现一个简单的接口服务,可以通过get、post方法请求该接口,拿到响应数据。创建一个api_server.py文件,添加代码如下:import flask, jsonfrom flask import request '''flask: web框架,通过flask提供的装饰器@server.route()将普通函数转换为服务登录接口,需要传url、username、passwd'''# 创建一个服务,把当前这个python文件当做一个服务server = flask.Fl

2020-11-10 19:40:23 2296

原创 社区划分的评价标准-模块度原理及代码实现-python3

在社区发现算法中,几乎不可能先确定社区的数目,于是,必须有一种度量的方法,可以在计算的过程中衡量每一个结果是不是相对最佳的结果。模块度(Modularity)用来衡量一个社区的划分是不是相对比较好的结果。一个相对好的结果在社区内部的节点相似度较高,而在社区外部节点的相似度较低。全局模块度设Avw为网络的邻接矩阵的一个元素,定义为:假设cv和cw分别表示点v和点w所在的两个社区,社区内部的边数和网络中总边数的比例:函数δ(cv,cw)的取值定义为:如果v和w在一个社区,即cv=cw,则为 1,否

2020-11-09 14:07:55 2469

原创 pearsonr(x,y)、corr()、corrcoef(u1) 相关系数计算

函数:pearsonr(x,y)功能:计算特征与目标变量之间的相关度参数说明:1)输入:x为特征,y为目标变量.2)输出:r: 相关系数 [-1,1]之间,p-value: p值。注: p值越小,表示相关系数越显著,一般p值在500个样本以上时有较高的可靠性。pearson相关系数的计算公式为:cov(X,Y)表示的是协方差var(x)和var(y)表示的是方差python实现import numpy as npfrom scipy.stats import pearsonrim

2020-11-05 19:32:20 9623

原创 LinearRegression、岭回归、Lasso回归和ElasticNet回归总结-附python3代码实战及回归检验

过拟合和欠拟合开始我是很难弄懂什么是过拟合,什么是欠拟合以及造成两者的各自原因以及相应的解决办法,学习了一段时间机器学习和深度学习后,分享下自己的观点,方便初学者能很好很形象地理解上面的问题。无论在机器学习还是深度学习建模当中都可能会遇到两种最常见结果,一种叫过拟合(over-fitting )另外一种叫欠拟合(under-fitting)。首先谈谈什么是过拟合呢?什么又是欠拟合呢?网上很直接的图片理解如下:所谓过拟合(over-fitting)其实就是所建的机器学习模型或者是深度学习模型在训练样

2020-11-05 15:06:42 5947 3

转载 机器学习 BP神经网络(Python实现)

一个神经元即一个感知机模型,由多个神经元相互连接形成的网络,即神经网络。这里我们只讨论单隐层前馈神经网络,其连接形式入下:神经网络模型的待估参数即,每个神经元的阈值,以及神经元之间的连接权重。对于该模型有如下定义:训练集:D={(x1, y1), (x2, y2), …, (xm, ym)},x具有d个属性值,y具有k个可能取值则我们的神经网络(单隐层前馈神经网络)应该是具有d个输入神经元,q个隐层神经元,k个输出层神经元的神经网络 ,我们默认输入层只是数据的输入,不对数据做处理,即输入层没有阈

2020-11-03 15:44:29 1459 3

原创 mapreduce中一个map多个输入路径

package duogemap;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;im

2020-10-22 20:15:12 315

wordVectors.npy,wordsList.npy,idsMatrix.npy

nlp情感分析的npy文件wordVectors.npy,wordsList.npy,idsMatrix.npy

2020-09-18

chineseStopWords.txt

中文停用词,分词必备,chineseStopWords.txt。

2020-08-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除