自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

原创 FLINKSQL注意事项

flinksql实战注意事项

2023-01-16 17:39:11 934

原创 Flink状态计算TTL

在Flink开发过程当中经常会遇到类似:统计当一个用户从进入商品页面到下单的时间,一个用户从编辑到保存的时间,分析这种问题大多是通过前端打点来获取用户行为,这就会造成有很多用户点击了商品或者编辑了,但是最终并没有购买或者保存,所以这时候我们就要有一个对点击商品或者编辑的开始打点数据设置一个过期时间,最开始想的是用redis来存储开始的行为信息,在redis对数据设置过期时间,理论上是没什么问题,但是考虑一般能不依赖外部系统就不依赖的原则,另外不确定redis能否扛住非常大的QPS,所以也就找了其他方

2021-07-29 17:28:24 770

原创 针对flink窗口统计PV,UV的优化

背景招聘类App前端对于app上的聊天动作埋点统计一个职位30分钟下的聊天的pv和uv分析 //30分钟特征 val job_char_features_jch30 = job_chat_dataStream_filtered.keyBy(x => x.getString("actionp5")).window(TumblingEventTimeWindows.of(Time.minutes(30))).process(new ProcessWi

2021-07-22 11:42:47 611

原创 解决Spark,MapReduce和Flink提交到yarn集群jdk版本不一致问题

最近遇到一个问题,在提交spark任务到yarn集群报错,具体报错内容如下:Exception in thread "main" java.lang.UnsupportedClassVersionError: com/iteblog/mobile/UserMobileInfo : Unsupported major.minor vat java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineCl

2020-12-10 11:52:14 571

原创 在Idea以yarn-cluster/client方式提交spark程序到yarn上

前期准备:在hosts文件已经配置了集群的主机和ip的映射 本地解压spark安装包 本地解压Hadoop安装包 到集群上下载好yarn的配置文件,并解压,以cdh为例下载之后解压即可(位置没要求)编写代码:提交代码类:package com.hzx.spark;import org.apache.spark.launcher.SparkLauncher;import java.io.*;import java.util.*;/** * Created by Hua.

2020-06-16 14:30:33 763

原创 如何在Spark,MapReduce和Flink程序里面指定JAVA_HOME

最近遇到一个bug,自己编写的spark程序本地调试没问题之后想提交到集群上运行,报错内容如下:Exception in thread "main" java.lang.UnsupportedClassVersionError: com/iteblog/mobile/UserMobileInfo : Unsupported major.minor version 52.0现特此整理了一下分享给大家:其实报错已经很明显了,java8版本有问题,那具体原因是什么呢,其实就是本地编写spark用的是j

2020-06-04 18:54:45 1578

原创 Ubuntu16.04安装L2TP

系统要求:ubuntu 16.04LTS1.L2TP协议安装:1. 添加PPAsudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp2. 刷新软件包缓存sudo apt-get update3. 安装network-manager-l2tpsudo apt-get install network-manager-...

2020-06-04 17:56:38 1876

原创 普通用户安装jdk

分享一下在linux下普通用户安装jdk环境的具体过程:1.准备材料 组件 jdk-8u251-linux-x64.tar.gz 目标路径 /home/huang/jdk JDK下载地址为https://www.oracle.com/java/technologies/javase-jdk8-downloads.html2.安装步骤2.1解压安装包> tar -zxvfjdk-8u251-..

2020-06-04 17:51:12 377 1

原创 非root用户且没有sudo权限搭建mysql

现在大部分企业对用户的权限要求特别严格,大多数都不能直接用root用户,当然也可能没有sudo的权限,接下来就分享一下自己在用普通用户搭建mysql的过程:1.准备材料 组件 mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz 目标路径 /home/huangzx/mysql/ Mysql下载地址为https://cdn.mysql.com/Downloads/MySQ..

2020-06-04 15:58:40 594

原创 离线环境搭建CDH

本例子以安装 cm5.13.0和 cdh5.13.0适用操作系统:yum RHEL/CentOS/Oracle 71.材料准备名称 详情 用途 yum安装依赖源 oracle_linux_release_7.iso 离线安装时依赖包 CDH 版本包 CDH-5.13.0-1.cdh5.13.0.p0.2-el7.parcel , CDH-5....

2019-11-12 10:52:11 265

原创 spark给某一列字段进行加密

有一些数据存在一些敏感数据,需要进行一些特殊处理,比如身份证号,可以用hash算法或者md5进行加密,我用的处理方式是将加密算法自定义成udf函数,拿MD5举例子,直接上代码//加密算法 def hashMD5(content: String): String = { val md5 = MessageDigest.getInstance("MD5") val encod...

2019-10-24 19:29:12 1478

原创 利用java代码发送邮件

最近遇到一个需求,实现一个预警的邮件通知功能,自己写了一个小demo,首先,在发送邮件的邮箱要进行一些设置,登录发送邮件的邮箱将设置当中的SMTP打开,以网易和qq为例:网易:qq:此时需要记录下授权码,下面会用到,申请位置都在上面的截图,其他邮箱自行查找下面贴出代码:用到两个pom的依赖 <!--邮件--> <!-- ...

2019-10-23 16:28:35 637

原创 hive中的rank() over(),dense_rank() over(),row_number() over()使用案例

准备数据浙江,杭州,300浙江,宁波,150浙江,温州,200浙江,嘉兴,100江苏,南京,270江苏,苏州,299江苏,某市,200江苏,某某市,100创建表CREATE table pcp(province string,city string,people int)ROW FORMAT DELIMITED FIELDS TERMINATE...

2019-09-10 17:02:40 875

原创 java从倒数第n个指定字符串开始截取到最后

需求:有一个字符串,想从倒数第n个特定的字符串开始截取字符串到最后例: 有一字符串"/home/root/test/a/b/c",想截取倒数第2个"/"后面的字符串,得到b/c代码: /** *@Author huangzx *@Description: 从倒数第n个"/"开始截取到最后 *@Date 11:41 AM 7/31/19 *...

2019-08-01 17:00:39 3741

原创 python列表的交并差

list1=[1,2,3]list2=[1,4,6]# 并集a = set(list1) | set(list2)a -> {1, 2, 3, 4, 6}# 交集b = set(list1) & set(list2)b -> {1}# 差集(在list1当中有,list2当中没有的元素)c = set(list1) - set(list2)c -&gt...

2019-05-06 16:34:54 1737

原创 java在远程服务器上执行终端命令并获得返回结果

最近经常会用到java到指定机器上执行终端命令并且获得返回结果,所以借此机会来记录一下1.首先通过ip,用户名,密码链接到远程服务器上,然后执行终端命令userName:主机的用户名,password:密码,ipAddr:主机ip地址,cmd:你要执行的命令 public String execute(String userName, String password, Stri...

2019-04-09 17:33:35 4187 6

原创 利用idea的maven实现tomcat的自动化部署

之前都是将程序达成war包然后放到tomcat上运行,每次利用vpn上传到服务器都需要话费大量的时间,而且很麻烦,后来才知道idea这个强大的工具还有这么简单易用的操作,真是应该给idea点个赞,真的太强大了,那就来分享一下吧.第一步:到你要部署的服务器上安装tomcat,这是必须的,我用的是tomcat8,然后有几个东西需要改一下1.修改conf下的tomcat-users.xml文...

2019-03-23 19:37:06 1374

转载 Java线程池

Java并发编程:线程池的使用  在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?  ...

2019-03-01 14:41:07 116

原创 客户端从部署服务器或者hdfs的下载功能

最近遇到一个需求,通过系统配置的路径来完成一个下载功能,这个系统配置路径可能是hdfs路径也可能是部署服务器的路径,所以写了一个比较通用的方法,特此跟大家分享一下,也便于自己的记忆,主要是忘了还可以看一看,^_^直接上代码: /** *@Author huangzx *@Description: 文件下载到客户端 *@Date 5:04 PM 2/23/19 ...

2019-02-28 15:06:53 206

原创 hbase单机版安装

最近需要用到hbase做测试,想在本地搭建一个单机版的hbase,上网上找了很多例子,只能说坑很多,但还是爬出来了,在这儿给大家做个参考:1.安装jdk这个对于开发人员来说应该不是什么问题,安装完成之后在/etc/profile下配置一下环境变量export JAVA_HOME=/usr/local/java/jdk1.8.0_191export PATH=$JAVA_HOME/b...

2019-02-25 15:55:54 1554

转载 趣谈23种设计模式(帮助理解)

创建型模式1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的套餐和肯德基的套餐都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“两个B套餐”就行了。麦当劳和肯德基就是B套餐的Abstract Factory, B套餐里含有汉堡, 鸡翅和饮料. 麦当劳或肯德基会根据B套餐的规格, 让汉堡Factory, 鸡翅Factory, 饮料Factor...

2019-02-21 17:38:46 136

原创 java实现对hdfs上文件的上传与下载

从hdfs上下载到本地/***src:hdfs路径 例:hdfs://192.168.0.168:9000/data/a.json*dst:本地路径*/ public static void Hdfs2Local(String src, String dst) { try { Configuration conf = new Con...

2019-02-21 15:08:24 4202

原创 java实现本地与服务器之间文件的上传与下载

从本地上传的到服务器 /** * 上传文件到指定目录 * @param filePath 服务器路径 * @param file 本地文件 * @return */ public static int uploadFile(String filePath,MultipartFile file){ File desFil...

2019-02-21 14:51:37 5393

转载 linux常用命令

1、cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:cd /root/Docements # 切换到目录/root/Docements cd ./path          # 切换到当前目录下的path目录中,“.”表示当前目录 cd ../path         # 切换到上层目录中的...

2019-02-13 16:04:14 261

原创 java操作hdfs上的文件及文件夹

Hadoop文件系统基本的文件系统命令操作, 通过hadoop fs -help可以获取所有的命令的详细帮助文件。Java抽象类org.apache.hadoop.fs.FileSystem定义了hadoop的一个文件系统接口。该类是一个抽象类,通过以下两种静态工厂方法可以过去FileSystem实例:public static FileSystem.get(Configuratio...

2019-02-13 15:38:26 1713 1

原创 hive汇总

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。Metastore (hive元数据)Hive将元数据存储在数据库中,比如mysql ,derby.Hive中的元数据包括表的名称,表的列和分区及其属性,表的数据所在的目录Hive数据存储在HDFS,大部分的查询、计算由ma...

2019-02-11 19:30:26 512

原创 kafka创建topic时是如何在不同的broker当中放置分区与副本的

我们都知道,Kafka每个主题有多个分区,每个分区会存在多个副本,我们今天要讨论的是这些副本是怎么样放置在 Kafka 集群的 Broker 中的。大家可能在网上看过这方面的知识,网上对这方面的知识是千变一律,都是如下说明的:为了更好的做负载均衡,Kafka尽量将所有的Partition均匀分配到整个集群上。Kafka分配Replica的算法如下:将所有存活的N个Brokers和待分配的Pa...

2019-01-15 09:37:17 891

原创 截取字符串从开头到第n个重复的字符

在对字符串的处理当中我们经常会遇到从0到第n个字符的截取要求,或者是从第n个字符截取到最后,例如:截取url中的ip和端口号,下面就来编写一个小demo吧 public static void main(String[] args) { System.out.println(getbatchId("https://localhost:4040/jobs","/", ...

2019-01-04 17:32:20 1787

原创 利用反射将实体类对象转成Map

在我们编程的过程中往往会用到反射,利用反射有时候可以更容易的做到一些事情,下面就说一个反射的实际应用场景吧,就是将object转化成一个map,object里的属性名对应map的key,object里的属性值对应map的valuepublic static Map&lt;String, Object&gt; objectToMap(Object obj) { Map&lt;S...

2019-01-04 17:20:10 898 1

原创 Jsoup解析sparkUI

在跑spark程序的时候我们可以通过sparkUI的方式来监控程序的运行状态如下图:最近项目遇到一个需求,需要把sparkUI上的一些参数获取到前段展示,然后自己上网查找了一些资料,发现jsoup可以轻松解析搞定,他可以解析html,非常方便而且实用,代码如下://测试方法:public static void main(String[] args) {Map&lt;String...

2019-01-04 17:04:02 224

原创 spark算子总结

spark一些算子的demo,为了方便理解把运行结果也给大家看一下,主要是加深对算子的熟练程度与深入的理解Transformation算子:1.map /** * map算子,将RDD中的每个元素传入自定义函数,获取一个新的元素, * 然后用新的元素组成新的RDD。 */ val conf = new SparkConf().setAppName("mapDe...

2018-12-27 17:58:32 344

原创 SparkSQL自定义udf

自定义udf求平均值:测试数据:{"name":"Michael", "salary":3000}{"name":"Andy", "salary":4500}{"name":"Justin", "salary":3500}{"name":"Berta", "sala

2018-12-24 19:17:54 302 1

原创 基于原生hadoop的多租户开发与xpath解析xml

上一篇文章讲到需要修改远程服务器的一些配置文件,其实这个场景需要修改的配置文件是原生hadoop的yarn-site.xml文件,目的是基于原生hadoop实现多租户,多租户其实就是在提交任务时根据不同的用户和组分配不同的计算资源,说白了就是修改一些配置文件,yarn-site.xml会根据yarn.scheduler.fair.allocation.file这个属性找到我们fair-schedu...

2018-12-22 15:19:42 632

原创 java实现scp功能本地与远程服务器之间的文件传输

最近遇到一个场景,需要利用web前端以图形化界面的方式修改远程服务器的一些配置文件,我的思路是这样的,首先从远程服务器上把文件拷贝下来,然后在本地修改完成之后再上传到服务器的原路径,下面直接上代码:从服务器到本地: public static boolean getConfFile(String userName, String password, String ipAddr, S...

2018-12-22 14:14:29 4113

原创 Spark运行原理

1 创建SparkContext对象,然后SparkContext会向Clutser Manager(集群资源管理器),例如Yarn、Standalone、Mesos等申请资源2 资源管理器在worker节点上创建executor并分配资源(CPU、内存等),后期excutor会定时向资源管理器发送心跳信息3 SparkContext启动DAGScheduler,将提交的作业(job)转换成若...

2018-10-07 19:52:54 146

转载 常用的SQL优化

一.常用的优化方式:  1、尽量避免全表扫描,首先硬考虑在 where 及 order by 涉及的列上简历索引。  2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描。  3、应尽量避免在 where 子句中使用 != 或者 &lt;&gt; 操作符,否则将引擎放弃使用索引而进行全表扫描。  4、应尽量避免在 where 子句中使...

2018-10-07 19:41:42 224

原创 MapReduce执行流程

MapReduce执行流程:在我们提交一个MRjob的时候,首先启动的是AppMaster,AppMaster启动之后,它会根据job的提交信息计算出所需要的maptask数量,并且向集群申请启动maptask,maptask启动之后,会根据给定的数据切片范围进行数据处理,切片大小默认等于block块大小(128M),读取数据形成KV对,将KV对传递到自定义的map()方法中执行我们自己规...

2018-10-07 19:37:43 164

原创 sparkstreaming直连kafka(0.10版本)

sparkstreaming直连kafka0.10,将偏移量保存在kafka当中,当然也可以根据自己的需要保存到其他地方,话不多说直接上代码:object DirectStream { def main(args: Array[String]): Unit = { val group = "g0011" val topic = "my-topic666" //...

2018-09-13 18:44:58 579

原创 Echarts实例

一、先在mysql建一张表(goods)如下:二、工程的目录结构为:三、具体的代码:配置文件:别忘记改成自己相应的配置&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;c3p0-config&gt; &lt;default-config&gt; &lt;property name="driverCla...

2018-09-13 18:38:54 1022

原创 sparksql练习

题目: -------学生表 //学号//学生姓名//学生性别 //学生出生年月//学生所在班级 --------课程表 //课程号//课程名称//教工编号   ------成绩表 //学号(外键)//课程号(外键)//成绩 ----教师表  //教工编号(主键)//教工姓名//教工性别//教工出生年月//职称//部门  1、...

2018-09-04 11:39:25 2377 1

spark-2.4.5-bin-hadoop2.7.tar.gz

spark-2.4.5-bin-hadoop2.7.tgz的安装包,适用ubuntu,Redhat等linux系统,解压即可安装,解压命令:tar -zxvf spark-2.4.5-bin-hadoop2.7.tar.gz -C dst(解压后存放路径)

2020-06-04

空空如也

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

TA关注的人

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