大数据
文章平均质量分 55
huangyueranbbc
这个作者很懒,什么都没留下…
展开
-
Apache Atlas血缘依赖管理
Atlas 血缘 元数据管理原创 2022-07-01 15:48:01 · 784 阅读 · 1 评论 -
Apache Atlas服务安装
Atlas 是一组可扩展和可扩展的核心基础治理服务——使企业能够有效且高效地满足其在 Hadoop 中的合规性要求,并允许与整个企业数据生态系统集成。Apache Atlas 为组织提供开放的元数据管理和治理功能,以构建其数据资产的目录,对这些资产进行分类和治理,并为数据科学家、分析师和数据治理团队提供围绕这些数据资产的协作能力。Atlas的核心功能依赖于sorl、hbase、kafka,安装Atlas前需要提前安装相关依赖服务。安装步骤主要分为以下7步:1、Hadoop安装2、Hive安装3、Z原创 2022-07-01 15:43:10 · 1114 阅读 · 0 评论 -
TiDB知识导图
原创 2022-01-13 17:12:57 · 234 阅读 · 0 评论 -
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 · 2818 阅读 · 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 · 591 阅读 · 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 · 396 阅读 · 0 评论 -
flink1.12版本--滚动窗口水位线
flink1.12版本–滚动窗口水位线watermark是用于处理乱序事件的,而正确的处理乱序事件,通常用watermark机制结合window来实现。我们知道,流处理从事件产生,到流经source,再到operator,中间是有一个过程和时间的。虽然大部分情况下,流到operator的数据都是按照事件产生的时间顺序来的,但是也不排除由于网络、背压等原因,导致乱序的产生(out-of-order或者说late element)。但是对于late element,我们又不能无限期的等下去,必须要有个机制原创 2021-04-14 09:21:01 · 536 阅读 · 1 评论 -
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 · 141 阅读 · 1 评论 -
Kudu范围分区、Hash分区、多级分区
范围分区:范围分区使用全序的范围分区键对数据行进行分配。(全序是指,集合中的任两个元素之间都可以比较的关系。比如实数中的任两个数都可以比较大小,那么“大小”就是实数集的一个全序关系。)每个分区都是根据范围分区键分配的连续段。范围分区键必须是主键的子集。如果表只存在范围分区,不存在散列分区,则每个分区恰好对应一个tablet。/** * 预分区模式建表 范围分区 * * @throws KuduException */ @Test .原创 2021-03-03 08:49:43 · 2515 阅读 · 2 评论 -
hdfs-block放置策略源码
FSNamesystem.ReplicationMonitor线程负责对block进行复制。run方法不断循环执行computeDatanodeWork()方法,对blokc进行复制和失效操作。computeReplicationWork()方法会遍历所有需要复制的block,调用computeReplicationWorkForBlock()进行复制操作。该方法调用BlockPlacementPolicyDefault放置策略对象的chooseTarget()来选择复制的所有目标节点。会先将CPU不忙原创 2021-02-05 08:47:54 · 346 阅读 · 0 评论 -
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 · 7069 阅读 · 6 评论 -
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 · 519 阅读 · 0 评论 -
Java小技巧——动态加载class类,减少项目依赖包
Java动态加载class类最常见的一种场景,某些功能服务项目里根本没有使用到,但是因为项目里引用了该依赖包的class类,所以你不得不在即使没有使用到该服务的情况下,仍让要添加依赖到项目中。但是通过动态加载class类,可以让你的项目大大减少第三方包的依赖。核心思路就是通过反射和基本的判断语句去控制对象的实例化。以Kafka源码为例:以下是kafka中的压缩模块代码...原创 2019-02-20 15:04:31 · 1112 阅读 · 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 · 7547 阅读 · 0 评论 -
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 · 610 阅读 · 0 评论 -
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 · 1057 阅读 · 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 · 2065 阅读 · 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 · 428 阅读 · 0 评论 -
通过flume将日志下沉到hdfs
# Name the components on this agenta3.sources = r1a3.sinks = k1a3.channels = c1 # Describe/configure the sourcea3.sources.r1.type = avroa3.sources.r1.bind = 192.168.68.131a3.sources.r1.port =...原创 2018-11-20 16:13:12 · 400 阅读 · 0 评论 -
QuartzUtils工具类
Quartz工具类。包含一些常用的操作。Job、Trigger、JobDetail、Listener、JobExecutionException、misfire、Priority、Durably、Recovery、DisallowConcurrentExecution、PersistJobDataAfterExecution、ThreadPool、usingJobData、Quartz Plu...原创 2018-11-08 11:47:03 · 3006 阅读 · 0 评论 -
HBase表设计----预分区和散列存储
hbase设计存在一个常见的问题便是HBase对于row的不均衡分布,它们被存储在一个唯一的rowkey区间中,被称为region,区间的范围被称为Start Key和End Key。热门数据key连续,导致热门数据被分到同一个region中,即同一个服务器节点中,会导致该节点的压力远大于其他服务器节点的压力,数据倾斜。 解决思路很简单:散列存储+预分区散列可以采用hash散...原创 2018-11-21 17:22:16 · 762 阅读 · 0 评论 -
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 · 554 阅读 · 0 评论 -
RedisMonitor监视器
RedisMonitor监视器 。主要用于监视redis集群环境下的命令。依赖于RedisUtils工具包。 https://blog.csdn.net/huangyueranbbc/article/details/84326844 github地址:https://github.com/huangyueranbbc/RedisMonitor The commands that ...原创 2018-11-21 17:45:56 · 407 阅读 · 0 评论 -
CDH集群环境进行IP变更
★【如果三台服务器IP地址发生改变】(需要重启服务器)1.在host重新设置ip地址。2、停止CM相关服务cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/./cloudera-scm-agent stop./cloudera-scm-server stop3、 查看postgresql 的scm用户的密码 cat /opt/cl...原创 2018-11-21 17:57:29 · 675 阅读 · 0 评论 -
CDH 集群安装
centos7.0+ 查看ip命令: ip addr1.下载http://archive.cloudera.com/cdh5 CDHhttps://www.cloudera.com/downloads/manager/5-4-3.html Cloudera Manager2.Cloudera Manager安装137 134 136======...原创 2018-11-21 18:08:19 · 154 阅读 · 0 评论 -
通过Spark进行ALS离线和Stream实时推荐
ALS简介ALS是alternating least squares的缩写 , 意为交替最小二乘法;而ALS-WR是alternating-least-squares with weighted-λ -regularization的缩写,意为加权正则化交替最小二乘法。该方法常用于基于矩阵分解的推荐系统中。例如:将用户(user)对商品(item)的评分矩阵分解为两个矩阵:一个是用户对商品隐...原创 2018-11-23 18:22:15 · 4525 阅读 · 0 评论 -
Hash算法碰撞率统计
之前公司需要调研这方面的,做了统计。 10万 50万 100万 500万 1000万 一亿 1000万次的平均执行时间 一亿次的平均执行时间 一亿次的平均长度 BKDRHash 0.00002 0.000112 0.000251 0.0011894 0.0023321 0.0229439 ...原创 2018-11-23 15:12:38 · 5242 阅读 · 2 评论 -
Zookeeper 分布式锁工具类
ZK分布式锁工具类:package com.hyr.lock.zkcurator;import org.apache.curator.RetryPolicy;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory...原创 2018-11-27 13:43:21 · 1081 阅读 · 0 评论 -
参考Hadoop源码 实现项目启动和停止时,输出项目版本信息工具
读过Hadoop源码的人一定不陌生,其实就是借鉴Hadoop源码里的启动工具类。只不过Hadoop源码是用package-info.java来实现。原理大致一样,通过打包脚本,在maven打包之前生成相关的信息载体文件放入项目资源文件中,然后进行maven打包。项目启动时,加载资源文件到VersionInfo信息类中,给消息输出工具类进行使用。由于工作中的项目是通过生成txt的版本...原创 2018-12-05 15:07:22 · 166 阅读 · 0 评论 -
redis操作工具-----Lettuce
之前一直用的jedis,最近才了解到Lettuce也可以对redis进行操作,并且线程安全性和性能都比jedis强。 Lettuce官网介绍Lettuce is a fully non-blockingRedis client built with nettyproviding Reactive, Asynchronous and Synchronous Data Access ....原创 2018-12-11 16:05:54 · 2885 阅读 · 0 评论 -
Kafka-Steam Branch功能 对数据进行切分Steam,发送到指定的Topic
Kafka-Steam Branch介绍通过Kafka Steam的Branch功能,可以实现对数据进行筛选,然后根据数据匹配规则对Steam进行切分。应用场景通过Branch功能,我们可以实现一个数据过滤/转发器。例如该Steam收到了如下业务数据。9:38:xiaojiu 1:25:xiaoming 4:34:xiaosi 7:75:xiaoqi 1...原创 2019-01-14 14:01:55 · 1045 阅读 · 0 评论 -
Kafka-Steam Filter 拦截器
Kafka-Steam 拦截器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.kafka.st...原创 2019-01-14 14:48:49 · 1557 阅读 · 0 评论 -
Kafka-Steam FlatMap扁平化
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.kafka.streams.KeyValue;imp...原创 2019-01-14 14:51:34 · 896 阅读 · 0 评论 -
JAVA 短链接的实现
公司要求实现短链接的功能,整理了实现的思路。基本思路就是行记录的主键(唯一标识)和N(包含连接中允许的字符数)进制互相转换。例如短链接内容允许包含数组和大小写字母,则N=62(数字0~9【10位】、字母a~z【26位】、大写字母A~Z【26位】)。该方案是最佳方案。如果没有行记录的主键进行参考,可以考虑使用redis缓存实现ID发号器,来生成唯一标识。网上也有用hash等方法来实现...原创 2018-11-20 16:03:49 · 677 阅读 · 0 评论