- 博客(75)
- 资源 (216)
- 收藏
- 关注

原创 flink1.12版本--滚动窗口水位线
flink1.12版本–滚动窗口水位线watermark是用于处理乱序事件的,而正确的处理乱序事件,通常用watermark机制结合window来实现。我们知道,流处理从事件产生,到流经source,再到operator,中间是有一个过程和时间的。虽然大部分情况下,流到operator的数据都是按照事件产生的时间顺序来的,但是也不排除由于网络、背压等原因,导致乱序的产生(out-of-order或者说late element)。但是对于late element,我们又不能无限期的等下去,必须要有个机制
2021-04-14 09:21:01
581
1

原创 缓存伪共享问题以及解决方案缓存行填充
缓存伪共享共享对象存在同一个缓存中,由于MESI协议,一个对象中一些不需要改变的属性因为其他改变的属性,导致整个对象的缓存进入到M被修改状态。MESI缓存一致性协议:https://blog.youkuaiyun.com/huangyueranbbc/article/details/84554271目前的CPU是按照64K的缓存行(Cache Line)进行读取,如果读取的数据在同一个Ca...
2018-11-26 18:32:22
431

原创 通过Spark进行ALS离线和Stream实时推荐
ALS简介ALS是alternating least squares的缩写 , 意为交替最小二乘法;而ALS-WR是alternating-least-squares with weighted-λ -regularization的缩写,意为加权正则化交替最小二乘法。该方法常用于基于矩阵分解的推荐系统中。例如:将用户(user)对商品(item)的评分矩阵分解为两个矩阵:一个是用户对商品隐...
2018-11-23 18:22:15
4661

原创 Redis工具类
学习redis过程中,写的一个redis工具类。功能还有待改进,主要是用来学习的。欢迎指正错误和优化如果觉得代码太长,可以去最下方的项目地址阅读。工具类代码:package com.hyr.redis;import com.hyr.redis.help.RedisHelper;import com.hyr.redis.message.ResultMessage;impo...
2018-11-21 17:40:12
624

原创 QuartzUtils工具类
Quartz工具类。包含一些常用的操作。Job、Trigger、JobDetail、Listener、JobExecutionException、misfire、Priority、Durably、Recovery、DisallowConcurrentExecution、PersistJobDataAfterExecution、ThreadPool、usingJobData、Quartz Plu...
2018-11-08 11:47:03
3062

原创 使用Java实现K-Means聚类算法
第一次写博客,随便写写。关于K-Means介绍很多,还不清楚可以查一些相关资料。个人对其实现步骤简单总结为4步:1.选出k值,随机出k个起始质心点。 2.分别计算每个点和k个起始质点之间的距离,就近归类。 3.最终中心点集可以划分为k类,分别计算每类中新的中心点。 4.重复2,3步骤对所有点进行归类,如果当所有分类的质心点不再改变,则最终收敛。 下面贴代码。...
2018-03-02 18:05:52
3976
1
原创 Apache SeaTunnel On SparkEngine 集成CDP
1、丰富且可扩展的连接器2、连接器插件3、流批集成,支持实时数据同步也支持离线数据同步4、JDBC多路复用5、多引擎支持。支持SeaTunnel原生引擎、Spark引擎、Flink引擎。6、高吞吐量和低延迟7、完善的实时监控8、支持两种作业开发方法:编码和画布设计。
2024-04-19 13:31:29
425
原创 Apache Atlas服务安装
Atlas 是一组可扩展和可扩展的核心基础治理服务——使企业能够有效且高效地满足其在 Hadoop 中的合规性要求,并允许与整个企业数据生态系统集成。Apache Atlas 为组织提供开放的元数据管理和治理功能,以构建其数据资产的目录,对这些资产进行分类和治理,并为数据科学家、分析师和数据治理团队提供围绕这些数据资产的协作能力。Atlas的核心功能依赖于sorl、hbase、kafka,安装Atlas前需要提前安装相关依赖服务。安装步骤主要分为以下7步:1、Hadoop安装2、Hive安装3、Z
2022-07-01 15:43:10
1227
原创 【3】Server Mesh可视化工具Kiali安装部署
*【3】Server Mesh可视化工具Kiali安装部署*Kiali 为我们提供了查看相关服务与配置提供了统一化的可视化界面,并且能在其中展示他们的关联;同时他还提供了界面让我们可以很方便的验证 istio 配置与错误提示。https://kiali.io通过Kiala 可以帮助我们了解服务网格的结构,显示网格的拓扑结构以及分析网格的运行状况。*1、confluence安装Kiali和其他插件,然后等待它们被部署。*kubectl apply -f samples/addonskubectl
2021-06-04 15:52:27
1181
原创 【2】Istio安装部署和第一个DEMO演示
【2】Istio安装部署和第一个DEMO演示\1、下载安装包curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.6.8 TARGET_ARCH=x86_64 sh -2、解压并进入目录tar -zxvf istio-1.10.0-linux-amd64.tar.gzcd istio-1.10.03、配置istio运行的环境变量vi /etc/profile# ISTIOexport PATH=$PATH:/data/softwa
2021-06-04 15:48:45
813
2
原创 【1】Istio介绍
*【1】Istio介绍*Istio解决了开发人员和运营商在分布式或微服务体系结构中面临的挑战。无论您是从头开始构建还是将现有应用程序迁移到云本地,Istio都能提供帮助。Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控等功能,而不需要对服务的代码做任何改动。*1、什么是serve mesh(服务网格)*现代应用程序通常被设计为微服务的分布式集合,每个微服务集合执行一些离散的业务功能。服务网格是可以添加到应用程序中的专用基础结构层。它允许您透明地添加功能,例
2021-06-04 15:42:11
474
原创 Flink+Iceberg环境搭建爬坑指南
Iceberg简介最近在调研Iceberg技术栈,爬过无数坑之后终于搭建运行起来。 记录一下。Apache Iceberg 是一种用于大型分析数据集的开放表格式。Iceberg 向 Trino 和 Spark 添加了使用高性能格式的表,就像 SQL 表一样。https://github.com/apache/icebergIceberg文件结果主要分为data和metadata两部分。data存放具体的数据文件,目前支持orc、avro、parquet三种格式。metadata存放文件的元数据,
2021-06-04 15:26:01
3125
1
原创 Flink1.12 通过CEP实现告警
FlinkCEP是在Flink上层实现的复杂事件处理库。 它可以让你在无限事件流中检测出特定的事件模型,有机会掌握数据中重要的那部分。 https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/dev/libs/cep.html1、导入依赖<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-cep-
2021-05-27 13:22:11
669
2
原创 Flink1.12 - 通过TableAPI实现时间窗口和水位线
package com.hyr.flink.tableApiAndSQL.streamingimport com.hyr.flink.common.StationLogimport com.hyr.flink.common.watermarkgenerator.BoundedOutOfOrdernessGeneratorimport com.hyr.flink.datastream.source.MyCustomSourceimport org.apache.flink.api.common.ev
2021-05-13 15:57:18
431
原创 Kafka源码阅读
一、源码编译官网下载源码,17年出版的书中源码使用的版本为kafka-0.10.1。 准备JDK1.8、Idea、maven、gradle环境。注:kafka-0.10.1不支持gradle5.X,请使用gradle4.X版本 配置kafka源码中的maven地址,改为: maven { url'http://maven.aliyun.com/nexus/content/groups/public/'} maven { url'http://maven.aliyun...
2021-03-04 11:10:21
167
1
原创 Helm方式安装kubernetes-dashboard
Helm 是 Deis 开发的一个用于 Kubernetes 应用的包管理工具,主要用来管理 Charts。有点类似于 Ubuntu 中的 APT 或 CentOS 中的 YUM。Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。1.准备Helm环境wget https://get.helm.sh/helm-v3.3.4-linux-amd64.tar.gztart -zx
2021-03-04 11:05:29
937
1
原创 【安装】1、通过kubeadm安装Kubernetes_准备工作
0、准备三台机器server1、server2、server31、安装相关依赖yum install -y conntrack ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git2、设置防火墙为Iptables并设置空的规则systemctl stop firewalld && systemctl disable firewalldyum -y install i..
2021-03-04 10:04:56
81
原创 kubernetes通过deployment管理pod
Replication Controller为Kubernetes的一个核心内容,应用托管到Kubernetes之后,需要保证应用能够持续的运行,Replication Controller就是这个保证的key,主要的功能如下:确保pod数量:它会确保Kubernetes中有指定数量的Pod在运行。如果少于指定数量的pod,Replication Controller会创建新的,反之则会删除掉多余的以保证Pod数量不变。确保pod健康:当pod不健康,运行出错或者无法提供服务时,Replication
2021-03-04 10:04:28
1130
原创 kubernetes存储
configMap存储配置文件,支持热更新。apiVersion: v1kind: ConfigMapmetadata: name: special-config namespace: defaultdata: special.how: very---apiVersion: v1kind: ConfigMapmetadata: name: env-config namespace: defaultdata: log_level: INFOpod引用con..
2021-03-03 09:07:26
130
原创 【安装】8、将其他节点加入到集群中
1、将其余节点加入到集群中kubeadm-init.log中有加入节点的命令:kubeadm join 192.168.1.128:6443 --token abcdef.0123456789abcdef –discovery-token-ca-cert-hash sha256:016ae3d372b392b0943590fb6f07d5561a287e3cd76ea16630b8a218010b8c2f安装成功后的截图:...
2021-03-03 09:04:35
213
原创 【安装】7、部署网络
安装kube-flannel,实现不同节点内Pod的网络通信。wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml如果访问不了quay.io 将quay.io/coreos/flannel 替换为:quay-mirror.qiniu.com/coreos/flannelkubectl create -f kube-flannel.yml---apiVersion: p
2021-03-03 09:03:40
376
原创 【安装】6、安装Kubeadm
1、安装 Kubeadm (主从配置)cat < /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=0repo_gpgcheck=0gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc
2021-03-03 09:01:16
1115
原创 【安装】5、使用proxy组件开启ipvs、安装Docker 转至元数据结尾
1、kube-proxy开启ipvs的前置条件modprobe br_netfiltercat > /etc/sysconfig/modules/ipvs.modules <<EOF#!/bin/bashmodprobe – ip_vsmodprobe – ip_vs_rrmodprobe – ip_vs_wrrmodprobe – ip_vs_shmodprobe – nf_conntrack_ipv4EOFchmod 755 /etc/sysconfig/modul
2021-03-03 09:00:24
243
原创 【安装】4、升级系统内核至稳定的内核
1、升级内核至4.4 稳定性Docker目前最好的存储引擎是overlay,需要将系统内核升级至相应的版本来避免Docker历史存在的一些BUG。4.0+版本开始支持overlay2,推荐使用。#导入ELRepo仓库的公共密钥rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org#安装ELRepo仓库的yum源rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo
2021-03-03 09:00:05
516
原创 【安装】3、设置日志持久化目录
1、设置 rsyslogd 和 systemd journaldmkdir /var/log/journal # 持久化保存日志的目录mkdir /etc/systemd/journald.conf.dcat > /etc/systemd/journald.conf.d/99-prophet.conf <<EOF[Journal]持久化保存到磁盘Storage=persistent压缩历史日志Compress=yesSyncIntervalSec=5mRateLimit
2021-03-03 08:58:10
353
2
原创 【安装】2、调整Kubernetes内存参数、设置时区、关闭系统非必要服务
1、调整Kubernetes内存参数cat > kubernetes.conf <<EOFnet.bridge.bridge-nf-call-iptables=1net.bridge.bridge-nf-call-ip6tables=1net.ipv4.ip_forward=1net.ipv4.tcp_tw_recycle=0vm.swappiness=0 # 禁止使用 swap 空间,只有当系统 OOM 时才允许使用它vm.overcommit_memory=1 # 不检查
2021-03-03 08:57:52
251
原创 Kudu范围分区、Hash分区、多级分区
范围分区:范围分区使用全序的范围分区键对数据行进行分配。(全序是指,集合中的任两个元素之间都可以比较的关系。比如实数中的任两个数都可以比较大小,那么“大小”就是实数集的一个全序关系。)每个分区都是根据范围分区键分配的连续段。范围分区键必须是主键的子集。如果表只存在范围分区,不存在散列分区,则每个分区恰好对应一个tablet。/** * 预分区模式建表 范围分区 * * @throws KuduException */ @Test .
2021-03-03 08:49:43
2685
2
原创 hdfs-block放置策略源码
FSNamesystem.ReplicationMonitor线程负责对block进行复制。run方法不断循环执行computeDatanodeWork()方法,对blokc进行复制和失效操作。computeReplicationWork()方法会遍历所有需要复制的block,调用computeReplicationWorkForBlock()进行复制操作。该方法调用BlockPlacementPolicyDefault放置策略对象的chooseTarget()来选择复制的所有目标节点。会先将CPU不忙
2021-02-05 08:47:54
408
原创 Java登录Kerberos认证过期问题
问题:最近CDH集群增加了kerberos认证,发现了JavaWeb应用启动后,超过24小时后,kerberos凭证过期到时查询Hbase失败的问题。Spark程序连接CDH时,通过principal和keytab配置方式,内部会将凭证到hdfs上,供Executor和Driver使用。当凭证Ticket快要失效时,会通过Keytab重新生成凭证。spark2-submit \ --master yarn \ --deploy-mode cluster \ --num-exec.
2020-11-30 16:29:36
7513
7
原创 spark算子汇总-Cartesian
Cartesian算子操作。Github项目上已包含Spark所有操作DEMO。Java版本:package com.huangyueran.spark.operator;import java.util.Arrays;import java.util.List;import org.apache.spark.SparkConf;import org.apache.spa...
2019-08-08 09:46:48
561
原创 spark算子汇总-AggregateByKey
AggregateByKey算子操作。Github项目上已包含Spark所有操作DEMO。Java版本:package com.huangyueran.spark.operator;import java.util.ArrayList;import java.util.List;import org.apache.spark.SparkConf;import org....
2019-08-08 09:43:36
214
原创 Java小技巧——动态加载class类,减少项目依赖包
Java动态加载class类最常见的一种场景,某些功能服务项目里根本没有使用到,但是因为项目里引用了该依赖包的class类,所以你不得不在即使没有使用到该服务的情况下,仍让要添加依赖到项目中。但是通过动态加载class类,可以让你的项目大大减少第三方包的依赖。核心思路就是通过反射和基本的判断语句去控制对象的实例化。以Kafka源码为例:以下是kafka中的压缩模块代码...
2019-02-20 15:04:31
1154
1
原创 Kafka-Steam WriteAsText
Kafka-Steam WriteAsTextpackage com.hyr.kafka.demo.streams.high.dsl.operator;import org.apache.kafka.common.serialization.Serdes;import org.apache.kafka.streams.KafkaStreams;import org.apache....
2019-01-14 15:22:09
7593
原创 Kafka-Steam SelectKey
Kafka-Steam SelectKey 为每个记录分配一个新的KEY,可能是一个新的KEY类型。 package com.hyr.kafka.demo.streams.high.dsl.operator;import org.apache.kafka.common.serialization.Serdes;import org.apache.kafka.streams...
2019-01-14 15:06:38
646
原创 Kafka-Steam Print输出打印
Kafka-Steam Print输出打印package com.hyr.kafka.demo.streams.high.dsl.operator;import org.apache.kafka.common.serialization.Serdes;import org.apache.kafka.streams.KafkaStreams;import org.apache.ka...
2019-01-14 15:03:48
1105
1
原创 Kafka-Steam GroupByKey分组和Reduce汇总
Kafka-Steam GroupByKey分组和Reduce汇总package com.hyr.kafka.demo.streams.high.dsl.operator;import com.hyr.kafka.demo.BaseApi.Producer;import org.apache.kafka.common.serialization.Serdes;import org...
2019-01-14 14:59:45
2162
1
原创 Kafka-Steam ForeachAction
ForeachAction对每个记录进行无状态遍历。package com.hyr.kafka.demo.streams.high.dsl.operator;import com.hyr.kafka.demo.BaseApi.Producer;import org.apache.kafka.common.serialization.Serdes;import org.apac...
2019-01-14 14:57:19
465
GC调优(入门篇)
2019-02-15
KmeansDemo
2018-03-02
kafkaDEMO源码下载地址
2017-12-28
图书馆软件演示视频(附带源码地址)
2017-12-05
基于spark的50万亚马逊美食评论分类系统下载地址(决策树 逻辑回归)
2017-08-22
基于ItemCF协同过滤、hadoop-mapreduce的商品推荐系统下载地址
2017-08-22
亚马逊美食评论50万数据集(Amazon Fine Food Reviews)
2017-08-15
02、线性回归与Logistic。案例:电子商务业绩预测.pdf
2017-08-07
基于mapreduce的pagerank实现DEMO下载地址
2017-08-04
Spark 2017最新运行命令样例
2017-08-04
spark最新集群搭建指南2017
2017-08-03
MAHOUT实战2017最新中文版
2017-08-03
Spark最全操作完整示例代码
2017-08-03
深度学习word embedding 下载
2017-06-28
1--深度学习--Deep Learning Introduction
2017-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人