
大数据
都教授2000
这个作者很懒,什么都没留下…
展开
-
日志关键信息处理
从日志文件中根据关键词"dh=",筛选出符合要求的行。从行中筛选出列,这时一个单独的列就是一个字符串。从多行中筛选出最近一次的dh,也就是最后一样。spark任务异常失败后,需要重启任务。如何知道上次失败的时候dh执行到了何处。因此每次重启的任务这个参数都是不同的。用字符串处理方式得到最终的值。需要借助任务执行日志来确定。任务需要一个时间参数dh。dh是动态的向后流动的。原创 2023-11-23 18:53:46 · 266 阅读 · 0 评论 -
azkaban二次开发
springboot封装azkaban的api,提供可调用azkaban任务流的接口流程如下:springboot接口->azkaban api->azkaban project(flow tasks)->shell脚本->spark tasks。原创 2023-11-20 19:02:46 · 408 阅读 · 0 评论 -
Hive小文件处理
null原创 2023-11-20 18:13:02 · 774 阅读 · 0 评论 -
任务流之间的调度依赖
无原创 2023-11-20 12:05:51 · 210 阅读 · 0 评论 -
自定义函数
spark 中的 UDF (UserDefinedFunction) 大家都不会陌生, UDF 其实就是将一个普通的函数, 包装为可以按 “行“ 操作的函数, 用来处理 DataFrame 中指定的 Columns.例如, 对某一列的所有元素进行 +1 操作, 它对应 mapreduce 操作中的 map 操作. 这种操作有的主要特点是: 行与行之间的操作是 独立 的, 可以非常方便的 并行计算 每一行的操作完成后, map 的任务就完成了, 直接将结果返回就行, 它是一种”无状态的“但是 UDAF原创 2023-11-20 11:26:24 · 128 阅读 · 0 评论 -
拉链表-spark版本
拉链表 spark原创 2023-11-20 10:59:25 · 673 阅读 · 0 评论 -
长周期数据更新的处理
长周期数据更新的两种实现方案原创 2023-11-20 10:50:54 · 103 阅读 · 0 评论 -
离线任务的稳定性
日志追踪,关键字提取,任务失败重启策略。原创 2023-11-17 16:40:43 · 188 阅读 · 0 评论 -
基础同步工具
【代码】基础同步工具。原创 2023-11-17 16:03:32 · 200 阅读 · 0 评论 -
基础工具类
【代码】基础工具类。原创 2023-11-17 15:09:50 · 264 阅读 · 0 评论 -
变化的日期
【代码】变化的日期。原创 2023-06-13 10:59:52 · 90 阅读 · 0 评论 -
flink+drools动态规则示例之温度跳变告警
flink+drools动态规则示例之温度跳变告警package com.mz.test;import com.google.common.collect.Lists;import lombok.*;import lombok.Getter;import lombok.NoArgsConstructor;import lombok.Setter;import lombok.ToString;import org.apache.flink.api.common.state.Broadcast原创 2021-06-28 18:38:36 · 1768 阅读 · 2 评论 -
flink状态与kafka消费参数
当没有使用状态的时候,如第一次部署我们设置了 consumer.setStartFromTimestamp(DateUtil.getMillsFromString(startTime));那么这个参数就会起作用当我们任务从ck状态恢复的时候,这个参数就失去了作用如下图任务从ck恢复,时间设置为2021-06-05但是并没有从凌晨消费,而是从下午3点...原创 2021-06-05 15:37:24 · 1153 阅读 · 0 评论 -
作为基础任务的窗口差值
package com.mz.iot.test;import com.mz.iot.utils.DateUtil;import com.mz.iot.utils.FlinkUtils;import com.mz.iot.utils.LogUtils;import lombok.*;import org.apache.commons.compress.utils.Lists;import org.apache.flink.api.common.functions.MapFunction;im.原创 2021-05-24 18:18:41 · 435 阅读 · 0 评论 -
状态编程求窗口差值
package com.mz.iot.test;import com.mz.iot.optional.MyContinuousEventTimeTrigger;import com.mz.iot.utils.DateUtil;import com.mz.iot.utils.FlinkUtils;import com.mz.iot.utils.LogUtils;import lombok.*;import org.apache.commons.compress.utils.Lists;imp.原创 2021-05-24 10:26:03 · 506 阅读 · 0 评论 -
能耗分析使用设备绝对值
package com.mz.iot.test;import com.mz.iot.optional.MyContinuousEventTimeTrigger;import com.mz.iot.utils.DateUtil;import com.mz.iot.utils.FlinkUtils;import com.mz.iot.utils.LogUtils;import lombok.*;import org.apache.commons.compress.utils.Lists;imp.原创 2021-05-22 18:31:40 · 596 阅读 · 0 评论 -
protobuf测试案例
最近物联网实时项目要进行分层以及加大供应商的数据传输频率,必然涉及到大量的网络io,宽带费用因此调研kafka数据传输和存储的压缩方案,决定采用protobuf环境依赖 <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId>原创 2021-04-21 14:45:46 · 1003 阅读 · 0 评论 -
一些开发规范记录
数据采集规范由于需要采集的异构数据源有SQLSERVER,MYSQL,Elastic Search,单独的Sqoop不满足需求,因此选型Spark以自定义的方式采集数据到数据仓库导入策略为新增和变化ES的导入示例#!/bin/bashif [ $1 ];thenhost=$1elseecho 'need es host'exitfiif [ $2 ];thendt=$2elsedt=`date -d "-1 day" +%F`fiif [ $3 ];the原创 2021-03-15 16:44:56 · 422 阅读 · 0 评论 -
es清空索引数据
POST ads_iot_latest_index/_delete_by_query{ "query": { "match_all": { } }}一个异常的解决Caused by: ElasticsearchException[Elasticsearch exception [type=cluster_block_exception, reason=blocked by: [FORBIDDEN/12/index read-only / allow delete.原创 2021-03-05 15:48:34 · 8158 阅读 · 0 评论 -
flink消费kafka偏移量的澄清
/** * 这个offset会保存在状态,也会保存在__consumer_offset中 * 因此如果没有使用新的消费者组,重启任务即使不使用状态也不会从头消费 */ consumer.setCommitOffsetsOnCheckpoints(true); /** * 这里始终不提交,在kafka-eagle中都不会有这个consumer的信息 */ ...原创 2021-03-04 18:39:39 · 1050 阅读 · 4 评论 -
flink的状态恢复之savepoint
savepoint使用场景状态恢复,程序更新,升级,bug修复,版本迁移,暂停或重启应用SavePoint是一个重量级的Checkpoint,你可以把它当做在某个时间点程序状态全局镜像,以后程序在进行升级,或者修改并发度等情况,还能从保存的状态位继续启动恢复。可以保存数据源offset,operator操作状态等信息,可以从应用在过去任意做了savepoint的时刻开始继续消费。用户手动执行,是指向Checkpoint的指针,不会过期,在集群升级/代码迁移等情况下使用。注意:为了能够在作业的原创 2021-03-04 09:47:34 · 1881 阅读 · 2 评论 -
kafka-eagle2.0.4编译以及填坑
编译,下载源码git clone https://github.com/smartloli/kafka-eagle.git用ide打开源码项目,配置好mavenproject的pom文件添加maven编译插件 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId&原创 2021-02-27 16:04:34 · 874 阅读 · 0 评论 -
maven仓库清理脚本
cls @ECHO OFF SET CLEAR_PATH=C: SET CLEAR_DIR=C:\Users\Administrator\.m2\repositorycolor 0a TITLE ClearLastUpdated For Windows GOTO MENU :MENU CLSECHO. ECHO. * * * * ClearLastUpdated For Windows * * * * ECHO. * * ECHO. * 1 清理*.lastUpdated * .原创 2021-02-25 11:23:48 · 1210 阅读 · 0 评论 -
kafka监控-eagle
版本下载http://www.kafka-eagle.org/articles/docs/changelog/changelog.html修改kafka-server-start.sh修改kafka-server-start.sh命令中if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"fi为if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then原创 2021-01-30 09:59:20 · 182 阅读 · 0 评论 -
es生产索引升级实践-索引重建以及索引别名
索引升级方案一,索引重建:PUT /ads_iot_water_index_temp{ "mappings": { "_doc": { "dynamic": "strict", "properties" : { "cnts" : { "type" : "float" }, "dh" : { "type" : "text",原创 2021-01-27 14:15:17 · 407 阅读 · 0 评论 -
es查询dsl使用sql自动生成
原创 2021-01-19 18:38:44 · 1434 阅读 · 0 评论 -
峰谷均计算
package com.mz.iot;import com.alibaba.fastjson.JSON;import com.mz.iot.bean.MaxMinAvg;import com.mz.iot.bean.DataOrigin;import com.mz.iot.utils.Conf;import com.mz.iot.utils.DateUtil;import com.mz.iot.utils.EsSinkUtil;import com.mz.iot.utils.JsonUti.原创 2021-01-16 16:12:48 · 493 阅读 · 0 评论 -
使用量统计
package com.mz.iot;import com.alibaba.fastjson.JSON;import com.mz.iot.bean.DataOrigin;import com.mz.iot.bean.UseResult;import com.mz.iot.utils.Conf;import com.mz.iot.utils.DateUtil;import com.mz.iot.utils.EsSinkUtil;import com.mz.iot.utils.JsonUti.原创 2021-01-16 16:08:31 · 321 阅读 · 0 评论 -
flink的历史checkpoint点不可用的测试
程序升级,代码修改,重构,bug修复等等,当你的代码修改后,什么情况下会导致历史ck不可用?一,job graph变化会导致不可用例如注释掉流的print,print实际上是sink原创 2021-01-14 11:05:43 · 308 阅读 · 0 评论 -
flink的窗口状态的计算
结论:flink的窗口计算是有状态的计算,并且是自动维护状态,持久化到外部系统以下是验证过程import com.mz.iot.utils.DateUtil;import org.apache.flink.api.common.functions.AggregateFunction;import org.apache.flink.api.common.functions.FilterFunction;import org.apache.flink.api.common.functions.原创 2021-01-13 18:51:01 · 1358 阅读 · 0 评论 -
flink窗口偏移
开滚动窗口的时候 /** * Creates a new {@code TumblingEventTimeWindows} {@link WindowAssigner} that assigns * elements to time windows based on the element timestamp and offset. * * <p>For example, if you want window a stream by hour,but window begi原创 2021-01-05 14:03:26 · 653 阅读 · 0 评论 -
ssh_exchange_identification: Connection closed by remote host
待处理原创 2020-12-28 11:23:19 · 216 阅读 · 0 评论 -
es不允许自动新增字段
一个索引在查询的时候,查询者如下写法:GET /iot_ads_x_hour/_doc{ "query": { "bool": { "must": [{ "term": { "equipmentNo.keyword": "R19009-0002-0003-120100LAE-1011" } }, { "term": { "span": "1" } }, { "range": { "t_start": { .原创 2020-12-24 11:27:56 · 2436 阅读 · 0 评论 -
脚本
同步脚本#!/bin/bashif [ $# -lt 1 ]then echo Not Enough Arguement! exit;fifor file in $@do pdir=$(cd -P $(dirname $file); pwd) fname=$(basename $file) for host in mz-hadoop-01 mz-hadoop-02 mz-hadoop-03 do echo ===========.原创 2020-12-22 10:00:48 · 3031 阅读 · 0 评论 -
spark dataframe增加一列
使用任意的值(可以是df中存在的列值,也可以是不存在的)增加一列 .withColumn("last_update_time", lit(DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"))) .withColumn("t_start", col = concat(frame_result("dt"), lit(" "), frame_result("dh"), lit(":00:00")))...原创 2020-12-16 18:32:29 · 2816 阅读 · 0 评论 -
es索引增加字段以及数据备份
随着业务的发展,这是一个很常见的需求#创建索引,手动指定mappingPUT /ads_iot_electricity_index2{ "mappings": { "_doc": { "properties": { "dh": { "fields": { "keyword": {原创 2020-12-16 13:52:22 · 892 阅读 · 0 评论 -
样例类解决模式匹配row字段为null的问题
sparksql的dataframe进行etl的时候,一行数据就是一个row我们如果用模式匹配:某一个字段定义的是String,但是该字段的值有可能为null的情况,此时会有MatchError为避免此类错误,我们可以使用匹配样例类:...原创 2020-12-14 16:04:25 · 783 阅读 · 0 评论 -
kafka_consumer不消费数据的问题排查
背景:初始的时候,在cdh中部署了kafka集群后来方案改为kafka消息平台和cdh中的hive,spark等计算平台分离由于之前的kafka部署配置,污染到后面的apache的kafka集群,使得其消费不到消息我们查看__consumer_offsets 这个topic情况我们apach kafka中的broker根本没有123,这个是cdh中的配置实际的三个brokerid是0,1,2停掉集群,在zookeeper中删除 rmr /brokers/topics/__co原创 2020-11-19 14:51:23 · 6220 阅读 · 0 评论 -
flink on yarn(cdh5.16.2)
版本:flink1.10.1cdh 5.16.2参考链接:https://www.cnblogs.com/TurboWay/p/13095579.htmlhttps://www.cnblogs.com/TurboWay/p/13095579.html原创 2020-11-13 10:31:06 · 505 阅读 · 1 评论 -
数仓表的升级
如果跑了一年的数据的一个表,突然想增加一个字段,如何处理?像git一样,新开分支,分支的数据跑完了,可以完全替代旧的了,切换到新分支原创 2020-10-13 16:46:01 · 165 阅读 · 0 评论