自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (3)
  • 收藏
  • 关注

原创 解决Linux报错:error opening terminal :xterm或者xterm: unknown terminal type

服务器重新设置之后,使用vim操作文件或者使用nano操作文件时出现问题,具体报错为:error opening terminal :xterm或者xterm: unknown terminal type

2023-04-19 21:19:13 3612

原创 IDEA中使用Git提交代码(包括合并分支)

在IDEA中使用git提交代码到远程仓库,整体可分为如下几个步骤:前提:注册有GitHub或者gitee账号;本地安装有git。1.创建远程仓库(github或者gitee);2.创建本地仓库并提交代码到本地仓库;3.提交代码到远程仓库。

2023-04-15 14:59:13 18161 3

原创 spark3.0版本中sparkSQL自定义聚合函数(UDAF)

spark3.0版本可以继承Aggregator> 1.继承import org.apache.spark.sql.expressions.Aggregator,定义泛型> IN:输入的数据类型> BUF:缓冲区的数据类型> OUT:输出的数据类型> 2.重写方法> 3.注册自定义聚合函数> spark.udf.register("函数名称",functions.udaf(new MyAgeAvg()))

2023-03-25 17:13:19 950

原创 Spark中cache、persist、checkpoint区别

spark中的cache、persist、checkpoint都可以将RDD保存起来,进行持久化操作,供后面重用或者容错处理。但是三者有所不同。

2023-03-22 15:57:05 544

原创 Spark中groupByKey和reduceByKey的区别

在spark中,groupByKey和reduceByKey都有按照相同的key进行分组的功能,但reduceByKey自带了一个聚合的功能。两者在性能上也有差异。

2023-03-21 18:30:33 266

原创 spark中distinct函数去重原理

spark中的distinct函数去重方式

2023-03-21 15:21:23 1046

原创 在脚本中取出hive表的字段名

现在要写一个脚本,拿到hive表的字段名,并使用逗号分隔可以使用hive -e "SET hive.cli.print.header=true;select * from yewu.data1 limit 0;" | sed -e "s/\t/,/g;s/data\.//g" | grep -v "WARN" > fileds.csv使用这种方法,拿下来的字段名前面都会带有一个表名....

2019-12-16 15:55:04 2920

原创 使用AWK按照符号截取字符串

现在要写一个脚本,传入一个表名,格式为库名.表名,例如:yewu.data1现在要取出data1可以使用命令:table_name=$(echo "yewu.data1" | awk -F '.' '{print $2}')

2019-12-16 15:43:49 1304

原创 shell脚本按要求拆分文件,并按照指定格式命名

写一个shell脚本,按照每200000行对一个文件进行拆分,拆分之后命名为原始文件_01.csv,原始文件_02.csv假设原始文件名是data.txt处理后的结果为:data_01.csv,data_02.csv…一开始我使用的是split对文件进行拆分:split -l 200000 data.txt -d -a 2 data_然后再匹配出所有的结果文件,将其命名为.csv文件。...

2019-12-16 15:38:02 2249

原创 sqoop将Oracle数据接入到hive中中文乱码问题

今天使用sqoop从Oracle中接入数据,有一个字段中文乱码,跟Oracle那边确认是UTF8格式编码。于是开始进行转码:1.convert(字段名,'ZHS16GBK','UTF8')问题解决了。2.其他编码格式还有US7ASCII...

2019-12-16 15:09:04 1124

原创 Linux三剑客之sed常用命令

1.在一个文件的首行添加内容例如:现有一个test.csv文件,要在首行添加上hello world:sed -i "1i\hello world" test.csv**注意:**如果要将一个变量添加到文件行首,需要将变量用单引号引着a="hello world"sed -i "1i\'${a}'" test.csv...

2019-11-05 12:36:56 309 2

原创 正则表达式匹配json格式的字符串

最近在使用Python2爬取网页,获取的是json格式的字符串。内容如下:{“message”:"",“content”:{“total”:351027,“datas”:[{“total”:338513,“name”:“字段”,“path”:“org”},{“total”:12514,“name”:“表”,“path”:“org”}]},“state”:“1”}现在我要取出所有tot...

2019-10-24 09:32:46 13509

原创 centos最小化安装

CentOS 7的安装其实很简单,主要是网络配置。 选英文、设置时区等 最小化安装 先启动一个网络Begin 吧在安装的时候设置好root密码。很简单  别去点安装tools。等待安装完成后,点击reboot  登陆,username用root密码就是刚才我们设置的密码&nbsp...

2019-09-25 11:02:42 239

原创 selenium解决由于浏览器支持不好而导致的元素无法定位的问题

最近在做一个selenium的测试,对网页进行爬取,遇到了很多问题。下面来总结一下。我在测试的时候,明明通过xpath或者css匹配到了元素,但是就是无法进行点击。研究了之后,发现是浏览器的支持性不太好导致的。首先,当出现这个问题的时候,我们要学会排除可能导致出错的原因,第一点就是可能是frame导致的,当你发现前端代码出现iframe标签时,要想定位里面的元素,必须进行表单切换。切换的方法...

2019-09-24 17:07:43 1012

原创 Linux中统计一个文件中文本的行数

第一种方法:sed -n '$=' 文件名-n抑制输出, $到最后一行,=打印行号。第二种方法:cat 文件名 | wc -l等同于wc -l 文件名

2019-08-21 17:43:05 2205

原创 常用正则表达式

下面所有例子均是在菜鸟教程上看到的,觉得很常用,在此记录一下。菜鸟教程链接:https://c.runoob.com/front-end/854**一、校验数字的表达式**1.数字:^[0-9]*$2.n位的数字:^\d{n}$3.至少n位的数字:^\d{n,}$4.m-n位的数字:^\d{m,n}$5.零和非零开头的数字:^(0|[1-9][0-9]*)$6.非零开头的最多带两位...

2019-08-21 16:33:08 2817

原创 Windows下为pip配置国内源

在用Python做开发的时候经常需要安装第三方库,那么经常用到的就是pip这个工具。但是pip在下载过程中用的是pythonhosted.cn这个域名,下载速度会非常慢。不过可以通过修改下载源路径加快下载速度。pip的配置文件在%APPDATA%/pip目录下,配置文件的名称为pip.ini。第一步:按下win+R键,或者在开始菜单上点击右键->运行。然后在弹出窗口中输入%APPDATA...

2019-08-20 11:04:12 1928

原创 hive窗口函数(over)详解

hive窗口函数:一.函数说明:OVER():指定分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变而变化CURRENT ROW:当前行n PRECEDING:往前n行数据n FOLLOWING:往后n行数据UNBOUNDED:起点,UNBOUNDED PRECEDING表示从前面的起点,UNBOUNDED FOLLOWING表示到后面的终点LAG(col,n)往前第n行数...

2019-08-01 11:25:26 4270 1

原创 hadoop中的Yarn和spark的StandAlone调度模式的对比

YARN的基本思想是将JobTracker的两个主要功能(资源管理和作业调度/监控)分离,主要方法是创建一个全局的ResourceManager(RM)和若干个针对应用程序的ApplicationMaster(AM)。这里的应用程序是指传统的MapReduce作业或作业的DAG(有向无环图)。YARN 分层结构的本质是 ResourceManager。这个实体控制整个集群并管理应用程序向基础计算...

2019-05-28 09:16:37 537

原创 flume数据采集架构

在日常生产环境中,如果想要做数据采集基本上都要用到flume,现在就记录一下flume在整个项目中的架构。先简单说一下这个项目,从微信小程序中记录用户数据,项目后台程序使用springBoot编写,部署在服务器上,使用Nginx实现负载均衡,然后要计算实时指标和离线指标。Nginx服务器中产生的数据直接写入到kafka集群中,用于sparkStreaming进行实时指标的计算,这时Nginx服...

2019-05-14 11:14:48 819

原创 flume--KafkaChannel的使用

一.为什么使用KafkaChannel?在使用flume对接Kafka时,我们往往使用TailFileSource–>MemoryChannel–>KafkaSink的这种方式,然后将数据输送到Kafka集群中。如图所示:但是这种方式有弊端:1.TailFileSource只能监听一个文件2.MemoryChannel数据会有堆积,内存可能溢出(而FileChannel又比较...

2019-05-08 20:19:42 5144 6

原创 flume--自定义可记录偏移量的TailFileSource

使用flume实时采集Nginx产生的log数据时,如果机器宕机了,数据就会丢失,而且会重复读取数据,那么避免这种情况的发生,我们就要自定义一个可以记录偏移量的Source。这里使用TailFileSource,一次监听一个文件。代码如下:(根据execSource源码编写)package cn.edu360.flume.source;import org.apache.commons...

2019-05-06 11:14:23 679

原创 启动Nginx时报错:error while loading shared libraries: librdkafka.so.1: cannot open shared object file: No

安装了Nginx之后,启动时报错:error while loading shared libraries: librdkafka.so.1: cannot open shared object file: No such file or directory报错信息上说明是找不到kafka.so.1这个文件。解决办法:加载so库:执行命令:echo "/usr/local/lib" &...

2019-04-22 14:18:25 3166

原创 Kafka0.10创建生产者向topic中写数据时报错:ERROR Error when sending message to topic track with key: null, value: 1

我用三台虚拟机建立了一个Kafka集群,启动之后创建一个生产者,向topic中写数据时,报如下错误:然后我查看了一下日志文件:看了日志文件之后,是因为Kafka中的数据无法和其他机器进行同步。于是我查看了一下刚才创建的topic的信息:./bin/kafka-topics.sh --describe --zookeeper L1:2181,L2:2181,L3:2181 --topic...

2019-04-22 14:12:36 6665

原创 Nginx整合Kafka0.10实现负载均衡

首先服务器或者虚拟机上要有zookeeper和Kafka0.10集群。详细安装步骤可以参考博客:zookeeper安装:https://blog.youkuaiyun.com/weixin_43866709/article/details/88416431Kafka0.10安装:https://blog.youkuaiyun.com/weixin_43866709/article/details/89241045N...

2019-04-22 13:54:25 1031 3

原创 解决git clone速度很慢的问题

我们经常要从使用git工具从GitHub上克隆代码,但是git clone速度很慢。出现这个问题的原因就是github.global.ssl.fastly.net这个域名被限制了。那么解决的办法就是将这个域名和他对应的IP映射添加到hosts文件中。##首先我们要查询出这个域名对应的IP是多少(这个域名对应的IP不是固定的)使用win+R,输入cmd打开Windows下的命令行模式,然后输...

2019-04-21 16:14:14 8775

原创 在虚拟机中以后台进程运行jar包或者war包

将Java程序打成jar包或者war包提交到虚拟机上执行时,有时候我们需要以后台进程运行。(当程序中有jsp文件时要打成war包)下面是执行的命令:java -jar XXX-0.0.1-SNAPSHOT.war >> ./logs 2>&1 &...

2019-04-21 14:38:57 1375

原创 配置Nginx实现负载均衡

Nginx安装详细步骤请看我的上一篇博客。修改nginx的配置文件,让nginx实现负载均衡功能:sudo vi /usr/local/nginx/conf/nginx.conf将配置文件修改为:#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log noti...

2019-04-21 14:34:04 213

原创 centos7安装Nginx

1.下载Nginx源码包:下载地址:http://nginx.org/en/download.html2.上传nginx安装包,并使用root用户登录虚拟机3.解压nginxtar -zxvf nginx-1.12.2.tar.gz -C /usr/local/src/4.进入到nginx的源码目录cd /usr/local/src/nginx-1.12.2/5.预编译./co...

2019-04-21 10:58:41 146

原创 使用springBoot制作后台管理

springBoot制作web后台对接共享单车小程序:https://download.youkuaiyun.com/my

2019-04-21 10:44:23 468

原创 共享单车项目(三)--Centos7安装mongodb数据库(单机)

mongdb一个NoSQL数据库,里面存储的是BSON(Binary Serialized Document Format,支持集群,高可用、可扩展。mongdb中的一些概念(和MySQL的一些区别)MongoDBMySQLdatabasedatabasecollectiontablejson二维表不支持SQLSQL_id主键安装...

2019-04-19 11:10:18 516

原创 共享单车项目(二)--开发微信小程序

首先我们要制作一个微信小程序。该微信小程序要有定位,添加单车,扫码解锁单车,支付等功能。1.首先要去微信公众平台注册一个账号https://mp.weixin.qq.com/2.登录账号,完善信息(这里不再详细讲解),下载微信开发者工具3.使用微信开发者工具创建一个小程序项目这里只记录一下我写的代码(由于我并非擅长js,所以代码比较low,),详细的开发API再微信公众平台的小程序开发...

2019-04-19 10:35:34 3445

原创 共享单车项目(一)--项目简介

学习spark已经有一段时间了,做了一个共享单车的项目,现在记录一下。首先说一下这个项目的一个整体流程:首先要有一个供用户使用的微信小程序,然后还有一个后台管理系统,用于记录用户的行为数据,后台将用户的行为数据保存到mongodb中,然后使用spark对数据进行分析,生成报表系统。整体流程图:web系统架构图:然后这个项目所用到的技术:1.微信小程序–供用户使用2.sparin...

2019-04-19 10:17:41 9699 2

原创 SparkStreaming整合Kafka(0.10.2.1)--直连方式实现

pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...

2019-04-12 15:33:39 871

原创 Kafka集群安装--0.10.2.1版本

1.下载源码包下载地址:http://kafka.apache.org/downloads2.上传源码包并解压到指定目录tar -zxvf kafka_2.11-0.10.2.1.tgz -C /home/hadoop/app/3.修改配置文件cd kafka_2.11-0.8.2.2/configsudo vim server.properties修改如下内容:#1.指定...

2019-04-12 15:19:30 720

原创 SparkStreaming整合Kafka(0.8.2.1)计算不同业务指标并实现累加(结合Redis)

业务是订单成交信息,要求计算出成交总金额,每一类商品的金额,区域成交的金额这三个指标。数据格式:C 202.102.152.3 家具 婴儿床 2000SparkStreaming读取Kafka中的数据,使用直连方式,然后实现数据的累加,数据保存到Redis中。OrderCount.scalapackage XXXimport io.netty.handler.codec.strin...

2019-04-11 17:29:42 764

原创 Redis3.2.11安装

1.下载redis3的稳定版本:下载地址:http://download.redis.io/releases/2.上传redis-3.2.11.tar.gz到虚拟机3.解压redis源码包:tar -zxvf redis-3.2.11.tar.gz -C /解压目录/比如:tar -zxvf redis-3.2.11.tar.gz -C /home/hadoop/app/4.进入到源...

2019-04-11 13:16:19 839

原创 SparkStreaming整合Kafka(0.8.2.1)--直连方式实现

方式一:package XXXimport kafka.common.TopicAndPartitionimport kafka.message.MessageAndMetadataimport kafka.serializer.StringDecoderimport kafka.utils.{ZKGroupTopicDirs, ZkUtils}import org.I0Itec.z...

2019-04-09 18:46:29 317

原创 SparkStreaming整合Kafka(0.8.2.1)--之Receiver和直连方式介绍

配置Spark Streaming以从Kafka接收数据,有两种方法 :1.使用Receivers和Kafka的高级API的旧方法。2.不使用Receiver的新方法(在Spark 1.3中引入,就是直连方式)。它们具有不同的编程模型,性能特征。Receiver此方法使用Receiver接收数据。Receiver是使用Kafka高级消费者API实现的。与所有接收器一样,从Kafka通过R...

2019-04-08 17:03:07 503

原创 SparkStreaming--深入理解DStream

Spark Streaming是一个基于Spark Core之上的实时计算框架,可以从很多数据源消费数据并对数据进行处理。在Spark Streaing中有一个最基本的抽象叫DStream(代理),本质上就是一系列连续的RDD,DStream其实就是对RDD的封装DStream可以看作是一个RDD的工厂,该DStream里面生产都是相同业务逻辑的RDD,只不过是RDD里面要读取数据的不相同深...

2019-04-08 16:23:46 396

springBoot制作web后台对接共享单车小程序

使用springBoot开发一个web后台程序,用于对接共享单车微信小程序,收集微信小程序产生的用户数据,以及单车的信息。

2019-04-21

用python绘制小猪佩奇

使用python自带的画图库turtle绘制小猪佩奇

2019-03-22

python自定义爬虫之爬取豆瓣网和腾讯招聘网信息并进行数据可视化分析文档

python自定义爬虫之爬取豆瓣网和腾讯招聘网信息并进行数据可视化分析文档

2019-03-22

空空如也

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

TA关注的人

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