自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

转载 Flink小知识--任务调度slot的配置 slotSharingGroup

flink通过调整默认行为以及控制作业链与作业分配(处理槽共享组)来提高应用的性能

2022-07-15 11:10:34 3496 2

原创 ES--top_hits的简单使用获取最早进 最晚出的数据

需求:业务 需要知道工人打卡记录最早进 与 最早出 一天记录原始信息,现通过 top_hits来实现如下:GET /hw-attendance-2022-3month/_search{ "query": { "bool": { "filter": [ { "range": { "record_time": { "gte": "2022-03-07T00:00:00", .

2022-04-12 19:00:00 2032

原创 ES--top_hits的简单使用获取最早进 最晚出的数据

需求:业务 需要知道工人打卡记录最早进 与 最早出 一天记录原始信息,现通过 top_hits来实现如下:GET /hw-attendance-2022-3month/_search{ "query": { "bool": { "filter": [ { "range": { "record_time": { "gte": "2022-03-07T00:00:00", .

2022-04-12 13:39:19 896

原创 Flink-bug:org.apache.flink.table.api.TableException: uv is not found in visitTime, EXPR$0

代码块 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); StreamTableEnvironment tEnv = StreamTableEnvironment.create(env); DataStreamSource<PageVisit> input = env.fromElements( new P

2022-03-04 11:24:55 1673

原创 Flink写数据到 hudi中,hive读取

flink hive on hudi 手动创建表文档 : https://www.yuque.com/docs/share/879349ce-7de4-4284-9126-9c2a3c93a91d?#%20%E3%80%8AHive%20On%20Hudi%E3%80%8B在 /data/app/hive/auxlib 目录放入hudi jar–>hudi-hadoop-mr-bundle-0.10.0.jar或者 修改配置项 hive-site.xmlhive.default.aux.j

2022-02-17 14:51:51 4180 11

原创 Flink小知识: Window详解

官方文档:https://ci.apache.org/projects/flink/flink-docs-release-1.13/zh/docs/dev/datastream/operators/windows/1、什么是WindowFlink 底层引擎是一个流式引擎,认为 Batch 是 Streaming 的一个特例,在上面实现了流处理和批处理。而窗口(window)就是从 Streaming 到 Batch 的一个桥梁。Window窗口就在一个无界流中设置起始位置和终止位置,让无界流变成有

2021-07-29 13:23:54 214

原创 Flink小知识--State Processor API的简单讲解(2) State的Writer

在上一章节中,我简单介绍了State 的读取操作Flink小知识–State Processor API的简单讲解(1) State的读取本章节将重点简述下 state 的写以及修改,主要以 Keyed State为例https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/libs/state_processor_api/1. Writing New Savepoints基于上一期的key state 案例,本期生成的st

2021-07-13 15:40:27 248

原创 Flink小知识--State Processor API的简单讲解(1) State的读取

value_count: 计数cardinality: 去重计数avg: 平均值sum: 求和max: 最大值min: 最小值percentiles: 百分比top_hits: 简单来说就是聚合分组后从每一个组取部分数据作为结果返回统计去重 cardinality## 对时间范围内sn 考勤的人员 身份证去重GET /hw-attendance-aliases/_search{ "query": { "bool": { "must": [

2021-07-07 11:39:54 694

原创 ES--cardinality(统计去重) top_hits(内容去重) 的简单使用

统计去重 cardinality## 对时间范围内sn 考勤的人员 身份证去重GET /hw-attendance-aliases/_search{ "query": { "bool": { "must": [ { "terms": { "sn.keyword": ["5043517855901153563I","5043517855901153563O"] } }, .

2021-07-06 10:21:46 6172

原创 Hudi0.9--初步使用

1. 编译官方网址: https://hudi.apache.org/docs/spark_quick-start-guide.html编译指导: https://github.com/apache/hudi#building-apache-hudi-from-source环境准备Unix-like system (like Linux, Mac OS X)Java 8 (Java 9 or 10 may work)GitMaven下载源码# Checkout code and bui

2021-07-02 13:19:21 741

原创 ES--curl的一些操作命令

创建索引--7.x curl -XPUT 'localhost:9205/st_workerattendance_ds' -d '{ "settings": { "refresh_interval" : "60s", "number_of_shards": 1, "number_of_replicas": 1 }, "mappings" : { "doc": { "properties" : { "@version" : { "ty.

2021-06-25 09:38:35 310

原创 SparkML机器学习(一) TF-IDF的提取

package com.xiaolin.ML.start_studyimport java.utilimport com.xiaolin.RecommenderProgram.util.IKAnalyzerimport org.apache.lucene.analysis.TokenStreamimport org.apache.spark.ml.feature.{CountVectorizer, HashingTF, IDF, Tokenizer}import org.apache.spar

2021-05-23 22:04:25 265

原创 小记--bug:org.apache.hadoop.security.HadoopKerberosName.setRuleMechanism(Ljava/lang/String;)V

在使用新版本的hadoop3.2.2时,启动spark sql 发现以下报错Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.security.HadoopKerberosName.setRuleMechanism(Ljava/lang/String;)V at org.apache.hadoop.security.HadoopKerberosName.setConfiguration(HadoopKerb

2021-05-13 14:52:43 1237

转载 liunx 线上排查 常用命令

内存瓶颈freefree 是查看内存使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。free -h -s 3 表示每隔三秒输出一次内存情况,命令如下[root@hadoop001 ~]$ free total used free shared buff/cache availableMem: 119623656 43052220 45611364 4313760 30960

2021-03-24 17:00:28 495

转载 Flink小知识: KeyState的Rescale与 Key Group

本文先介绍Flink状态的理念,再经由状态——主要是Keyed State——的缩放(rescale)引出KeyGroup的细节。 再认识Flink状态 自从开始写关于Flink的东西以来,“状态”这个词被提过不下百次,却从来没有统一的定义。Flink官方博客中给出的一种定义如下: When it comes to stateful stream processing, state comprises of the information that an application or stre.

2021-03-19 15:19:25 463

原创 pgsql存储过程--异常的捕获

在日常需求开发中,有时候会用到存储过程来预处理小量的数据集, 在此 需要记录存储过程的调度时长,是否正常执行 预警等案例CREATE OR REPLACE FUNCTION "public"."project_statistics_copy1"() RETURNS "pg_catalog"."void" AS $BODY$ -- Routine body goes here... -- 声明游标DECLARE start_time varchar :=now();err_message

2021-03-11 17:15:01 3482 1

原创 demo-flink1.11.2实现数据写入hive

环境准备1. hadoop 集群的开启,hive metastore 服务开启2. flink-conf.yaml, sql-client-defaults.yaml 配置 注意: 必须开启checkpoint ,flink 才可提交分区操作3. flink 集群的开启 启动:yarn-session.sh -n 3 -s 3 -nm flink-session -d 关闭:yarn application -kill applicationId4. KafKa集群开启.

2021-03-10 16:59:10 749

原创 LeetCode_36: 有效的数独

** * @program: spark-scala001 leetcode 36 * @description: 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 * * 数字 1-9 在每一行只能出现一次。 * 数字 1-9 在每一列只能出现一次。 * 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 * [ * ["5","3",".",".","7",".",".",".","."], * ["6",".",".","1

2021-03-03 17:44:43 101 1

原创 LeetCode_146: LRUs 算法

LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰最近最少使用的数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”import java.util.LinkedHashMap;import java.util.Map;/** * @program: LeetCode_146 * @description: LRUs 算法 * LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行

2021-03-03 10:01:26 280

原创 Apache Atlas2.1.0 集成Hive元数据管理

Atlas里的相关概念Type元数据类型定义,这里可以是表,列,视图,物化视图等,还可以细分hive表(hive_table),hbase表(hbase_table)等,甚至可以是一个数据操作行为,比如定时同步从一张表同步到另外一张表这个也可以描述为一个元数据类型,atlas自带了很多类型,但是可以通过调用api自定义类型Classification分类,通俗点就是给元数据打标签,分类是可以传递的,比如user_view这个视图是基于user这个表生成的,那么如果user打上了HR这个标签,

2021-02-26 15:33:36 1103 3

原创 Apache Atlas2.1.0 编译 安装

Apache Atlas 介绍Apache Atlas是托管于Apache旗下的一款元数据管理和治理的产品,Apache Atlas提供api和一系列插件可以方便将数据库元数据信息导入到atlas中进行分析,atlas也提供web界面对元数据进行管理,通过atlas,企业可以对数据库元数据建立资产目录,并对这些资产进行分类和治理,为数据分析,数据治理提供高质量的元数据信息。Apache Atlas 安装1. 安装环境准备jdk1.8+maven3+nodejs2. 下载 Atlas 并

2021-02-25 17:06:17 1805

转载 Flink: CEP详解

本文根据 Apache Flink 系列直播课程整理而成,由哈啰出行大数据实时平台资深开发刘博分享。通过一些简单的实际例子,从概念原理,到如何使用,再到功能的扩展,希望能够给计划使用或者已经使用的同学一些帮助。主要的内容分为如下三个部分:Flink CEP 概念以及使用场景。如何使用 Flink CEP。如何扩展 Flink CEP。Flink CEP 概念以及使用场景1.什么是 CEPCEP 的意思是复杂事件处理,例如:起床–>洗漱–>吃饭–>上班等一系列串

2021-02-20 15:03:46 4871

原创 hive面经之一:大表小表之间join

在Hive调优里面,经常会问到一个很小的表和一个大表进行join,如何优化。 Shuffle 阶段代价非常昂贵,因为它需要排序和合并。减少 Shuffle 和 Reduce 阶段的代价可以提高任务性能。 MapJoin通常用于一个很小的表和一个大表进行join的场景,具体小表有多小,由参数hive.mapjoin.smalltable.filesize来决定,该参数表示小表的总大小,默认值为25000000字节,即25M。 Hive0.7之前,需要使用hint提示 /*+

2021-02-20 13:32:12 1285

原创 MySQL数据库表数据迁移--ibd的使用

需求:        现在线上mysql5.7 +生产库有一张10多个G的表数据,需要迁移到其他库中,现使用ibd的方式 进行数据的迁移;步骤:demo#1. 创建相同结构的表,并添加几条测试数据 mysql> create table test3 like test; mysql> select * from test3; +------+------+----+---------------------

2021-01-28 13:56:57 1381

原创 Spark源码解读(5)--SortShuffleWriter之一(UnsafeShuffleWriter)

1. 简述UnsafeShuffleWriter的使用条件 1. map端 不做聚合操作 2. 数据序列化可寻址,即使用 3. 分区数要小于16777215+12. 源码解析:write函数解析发现结构非常的简单,从迭代器中取出数据,调用 insertRecordIntoSorter 方法public void write(scala.collection.Iterator<Product2<K, V>> records) throws IOException

2020-11-20 15:55:55 216

原创 Spark源码解读(4)--SortShuffleWriter之一(BypassMergeSortShuffleWriter)

简述shuffle在spark中,非常的常见,现在讲的shuffle都是SortShuffle,大家也都知道sortshufflewriter依据不同的条件,会生成不同的ShuffleHandle,最终在task writer的时候,依据之前生成的ShuffleHandle,匹配走不同的SortShuffleWriter模式,今天我要讲的是 BypassMergeSortShuffleWriter,另外的SortShuffleWriter,UnsafeShuffleWriter 之后有空再讲;

2020-11-03 15:11:19 227

原创 Spark源码解读(3)--WordCount简单解析

wordcount 我想大家都是在学大数据的时间,就接触过了,好比在java中的Hello World, 那么大家知道在执行WordCount程序时,发生什么,使得数据在算子间传递; val sparkConf = new SparkConf() .setAppName(this.getClass.getSimpleName) .setMaster("local[2]") val sc = .

2020-10-26 15:50:12 201

原创 Spark算子: combineByKey 简单解析及案列

简述   我们都晓得,gruopByKey、aggregateByKey、foldByKey…等算子 是用于处理Key,Value的Pair数据,底层都是调用 combineByKeyWithClassTag函数,在日常业务数据处理过程中,如果简单一点的逻辑计算 仅需 使用 Spark 封装好的算子就好了,当涉及到复杂一点的统计规则时, 我们就不得不使用 combineByKey 算子来实现.combineByKey 源码def combineByKey[C]( //传入 value值 V ,

2020-10-16 14:36:54 1807

原创 Spark调优(1)--算子map,flatMap与mapValues,flatMapValues的区别

关于 map,flatMap,mapValues,flatMapValues 算子 大家都应该很熟悉,底层都是调用了MapPartitionsRDD 算子,它 的父类是 RDD;我们看下简单的例子,以下两个任务发生了几次shuffle// reduceByKey 之后使用 map 对值进行操作,再 groupByKeydata.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).map(x=>(x._1,x._2*10)).groupByKey()

2020-10-09 16:01:44 970

原创 Spark源码解读(2)--spark.textFile()读取流程

大家都知道RDD的算子分两类: Transform就是RDD的转换,从一个RDD转化到另一个RDD(也有多个的情况)。 Action则是出发实际的执行动作。所以解读spark.textFile()源码将不涉及Action操作,即,仅仅会记录一些RDD信息 val sparkConf = new SparkConf() .setAppName(this.getClass.getSimpleName) .setMaster("local[2]") .

2020-09-23 14:22:34 537

原创 Flink的源码解析:重启策略的解析 RestartStrategy

flink 失败重启策略,可通过flink-conf.yaml 配置 https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/config.html或在代码中添加:如下 //重启最大次数3 次,每次间隔10s// env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3,10000)) //5分钟内重启最大次数10次,每次间隔5s e.

2020-09-11 17:25:40 470

原创 Spark多级目录输出,且输出不同值,重写MultipleTextOutputFormat

数据结构www.alibaba.com 222.38.194.133 440887 [09/20/2019 14:33:52 +0800] 河北 秦皇岛 铁通 2019 09 20www.baidu.com 171.13.146.53 654665 [09/20/2019 14:33:52 +0800] 河南 焦作 电信 2019 09 20www.baidu.com 139.207.106.29 722052 [09/20/2019 14:33:52 +0800] 四川 电信 2019 09 .

2020-09-11 13:51:39 519

原创 LeetCode203:Remove Linked List Elements

/** * @program: spark-scala001 * @description: LeetCode上第203号问题:Remove Linked List Elements * 删除链表中等于给定值 val 的所有节点。 * 示例: * 输入: 1->2->6->3->4->5->6, val = 6 * 输出: 1->2->3->4->5 * @author.

2020-09-11 13:42:20 79

转载 Flink :网络流控及反压剖析

作者 | 张俊整理 | 张友亮(Apache Flink 社区志愿者)本文根据 Apache Flink 系列直播整理而成,由 Apache Flink Contributor、OPPO 大数据平台研发负责人张俊老师分享。主要内容如下:网络流控的概念与背景TCP的流控机制Flink TCP-based 反压机制(before V1.5)Flink Credit-based 反压机制 (since V1.5)总结与思考网络流控的概念与背景为什么需要网络流控&nbs

2020-08-05 17:26:01 545

原创 小记:MySQL 实现 ROW_NUMBER() OVER (PARTITION BY ORDER BY ) 功能

需求:由于项目需求原因,需要从MySQL中获取人员最新在职信息,将查询出来的数据,同步dataxh

2020-07-17 13:25:46 1798

原创 自定义UDF函数二 引入jar注册函数到hive中

   因项目需求原因,需获取中文拼音首字母大写的需求,hive 中 内置函数不满足需求,故新创建一个maven 项目,自定义udf 函数。准备pom.xml <dependencies> <!-- https://mvnrepository.com/artifact/com.belerweb/pinyin4j --> <!--中文转拼音 jar 工具类--> <dependency> <grou

2020-07-15 14:07:21 518

原创 Zeppelin的初体验--安装,hive on Zeppelin

简介eppelin是一个基于Web的notebook,提供交互数据分析和可视化。后台支持接入多种数据处理引擎,如spark,hive等。支持多种语言: Scala(Apache Spark)、Python(Apache Spark)、SparkSQL、 Hive、 Markdown、Shell等。本文主要介绍Zeppelin中Interpreter和SparkInterpreter的实现原理。官方网址: http://zeppelin.apache.org/Zeppelin 下载地址:wge

2020-07-09 13:27:18 696

原创 小记-bug解决:Exception thrown in awaitResult/Connection reset by peer

org.apache.spark.SparkException: Exception thrown in awaitResult"time":"2020-07-02 11:10:15","logtype":"ERROR","loginfo":"Executor self-exiting due to : Driver masterba17fc94-f00c-477a-b1d4-4c165c7893d9cupid-11-194-251-15:45755 disassociated! Shutting dow

2020-07-03 10:40:20 8918

原创 Josn字符串处理 explode/from_json/get_json_object的使用--小记补充

字符串数组解析: 使用 from_json 将字符串转为数组,再使用 explode 切分数组 获取最终结果[ { "real_name":"饶**", "user_photo":null, "gender":"男", "id_card_no":"5224********3614", "start_date":"2016-10-26T00:00:00", "expiry_date":"2036-1.

2020-06-12 17:54:21 898

原创 mysql数据库字段中存在隐藏字符CHAR(0)--解决小记

  在一次数据处理过程中,发现 有几条数据不能直接存储到pgsql 中,mysql 清洗数据,最后落地pgsql中, 通过报错 该数据字段中 存在ckar(0) 字符.   经过百度 Google 发现 ,如果字符串中包含了 char(0) 的字符,字符后面内容是显示不出来的--示例select concat('1',char(0),'2'), --隐藏了数字2 replace(concat('1',char(0),'2'),char(0),'$') --替换char(0),后面的数

2020-06-09 14:12:42 1637

空空如也

空空如也

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

TA关注的人

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