自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

为一个人走几座城

学习与工作中遇到问题与大家分享

  • 博客(36)
  • 收藏
  • 关注

原创 MongoDB集合结构分析工具Variety

对于Mongo这种结构松散的数据库来说,如果想探查某个集合的结构,通过其本身提供的功能很不方便,通过调研发现一个很轻便的工具--variety,可以让使用者很轻松的了解存储在Mongo中具体集合的数据结构。满足特定查询条件的数据:--eval "var collection='{collectionName}', query={'key': true}"结果输出格式:--eval "var collection='{collectionName}', outputFormat='json'"

2024-04-03 12:50:34 770

原创 大数据必回之LSM树

LSM树(Log-Structured-Merge-Tree)并不像B+、红黑树一样是一颗严格的树状数据结构,它其实是一种存储结构,像HBase、RocksDB这些NoSQL存储都是采用LSM树。它是一种分层、有序、面向磁盘的数据结构,核心思想是顺序写性能远高于随机写性能,将批量随机写转化为一次性的顺序写。

2023-08-14 18:55:54 253

原创 策略+工厂类替换IF ELSE

一、创建工厂类public class OpenStrategyFactory { private static final Map<String, OpenApiStrategy> STRATEGY_MAP = new HashMap<>(); // 枚举值维护 static { STRATEGY_MAP.put("businessdata", new BusinessImpl()); STRATEGY_M

2022-02-16 15:36:40 378 2

原创 Superset汉化、支持Oracle连接及自定义CSS样式

一、汉化二、支持Oracle数据库连接三、自定义CSS样式

2021-12-25 20:15:17 2024

原创 flink SQL 体验遇到问题

一、报错:[ERROR] Could not execute SQL statement. Reason:org.apache.flink.table.api.ValidationException: Could not find any factory for identifier 'kafka' that implements 'org.apache.flink.table.factories.DynamicTableFactory' in the classpath.Available fac

2021-10-27 14:32:40 5541 1

原创 SpringBoot整合DJL

通过DJL框架可以实现算法Java化,当然这也并不是说完全可以取代,但是当前大多数场景还是可以兼容的,尤其是有关Paddlepaddle,Tensorflow,Pytorch等模型支持还是比较好的,DJL社区活跃度目前相对也比较高。在和SpringBoot整合过程中,需要特别注意以下一个问题:<dependency> <groupId>ai.djl</groupId> <artifactId>api</artifactId> &lt

2021-07-23 09:34:48 2361 3

原创 Flink之异步请求AsyncDataStream生产问题记录

最近生产在搞实时统计需求,在开发环境进行开发的初期,想通过Flink的AsyncDataStream.orderedWait()异步请求的方式,将统计结果最终落地到数据库中。过程中需要查询一些MongoDB中维表的数据,本地测试数据量可能不是很大,所以没有问题。但是当到生产上运行后,就出现了下述问题:java.util.concurrent.RejectedExecutionException: java.lang.IllegalStateException: Mailbox is in state

2021-04-29 10:57:42 1564 6

原创 Flink两种方式动态写入Kafka多个topic

<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-kafka-0.11_2.12</artifactId> <version>1.10.2</version></dependency><dependency> <groupId>org.apache.

2021-04-16 19:01:33 2534 1

原创 自定义Flink消费和生产Kafka消息(消费时Schema、生产时Key&Value&分区)

当我们在消费Kafka数据时,比较常用的是SimpleStringSchema,我个人比较喜欢用的是JSONKeyValueDeserializationSchema。上述两个API可以完成绝大多数的开发场景,但是但遇到个别的特殊场景时,我们需要自定义数据格式,此时我们就需要自定义xxSchema了,这里我们需要实现KafkaDeserializationSchema,从而来完成重定义消费时Kafka的数据格式。以下是基本的模板,需要什么样的数据格式,只需要做简单的修改即可。package com

2021-04-13 10:52:42 1471

原创 Flink 查看作业执行计划

当我们在开发Flink任务的时候,一般情况下Source-Transform-Sink流程就能满足基本的需求了。但是当应用变得非常复杂的时候,可能在一个Job里算子的个数会达到很多,几十、几百。这个时候整个程序就会变得非常复杂,所以如果能随时本地开发时能及时知道Job的执行计划就非常方便了。为了满足我们类似的需求,可以两种方式去实现。一、<dependency> <groupId>org.apache.flink</groupId> <

2021-04-01 15:06:50 1151

原创 Flink执行报错<很晦涩>

org.apache.flink.streaming.runtime.tasks.ExceptionInChainedOperatorException: Could not forward element to next operator at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.pushToOperator(OperatorChain.java:658) at org.apache.

2021-04-01 09:17:36 2111 2

原创 Flink算子之RichParallelSourceFunction、RichSourceFunction因数据源不同,存在的差异

两套代码流程,完全一样。但是在读取到同样的数据后,数据返回给addSource算子后,通过transform算子后,继承RichSourceFunction的消息会出现丢失。但是是区分数据源的,MySQL就没有类似的情况,但是Elasticsearch就会出现。public class ElasticSource extends RichParallelSourceFunction<String>/RichSourceFunction { @Override pub.

2021-03-12 17:41:58 2666 1

原创 log4j日志写入路径动态重定向

实际开发中,日志对于我们定位问题,快速解决问题是非常重要的,所以好的日志输出项与日志文件有效的拆分是至关重要的。最近新开发的一个项目就要求,按照不同日志级别、不同的类将信息写入到不同的文件,具体结构如图。这样通过自己在实际方法中定义输出日志级别,出现问题后直接进入到对应的类中看对应的日志信息即可。这里需要在项目中引入对应的pom依赖:<dependency> <groupId>log4j</groupId> <artifactId&

2020-11-11 10:01:34 292

原创 Flink两阶段提交之关系型数据库(MySQL)

最近在一边学习,一边将Flink流处理技术应用到公司的业务场景中。目前会通过采集方式将数据库的数据变更写入到Kafka,后面通过Flink处理后,落地到数仓中,因为目前数仓对外提供的是一些接口服务,所以目前还是以Oracle为主,其他的数据存放在Greenplum中。当前主要任务是将Kafka中的数据通过Flink落地到Oracle中。因为是一些交易数据,所以对数据的准确性非常敏感,Flink的强大之处就在于帮我们实现了方式来保证数据仅一次处理(Exactly-once)。这里我们抛开其他的点不说,只说Tw

2020-10-29 17:44:52 1593 12

转载 Spark Security面面观

一、背景作为一款成熟的商业软件,安全往往鲜少被提及但又不可忽略,大数据软件也是如此。在生产环境中,对于一款成熟的大数据软件的考量,不仅需要考虑其功能完备性和性能,同时安全也是不可缺少的一环。为什么安全如此重要呢?首先,商业环境通常是多租户环境,不同的用户/组对于不同的数据/应用有不同的安全考量。我们需要保证相应的用户不能做出超越权限的操作。 同时,分布式架构会将端口、数据暴露出去,如...

2020-03-01 09:56:59 850

转载 Livy:基于Spark的REST服务

一、摘要 Apache Spark是现今最为流行的开源大数据计算框架,广泛应用于数据处理和分析应用。它提供的两种基于命令行的处理交互方式虽然足够灵活,但在企业应用中面诸如部署、安全等的问题。为此本文引入Livy这样一个基于Apache Spark的REST服务,它不仅以REST的方式代替了Spark传统的处理交互方式,同时也提供企业应用中不可忽视的多用户,安全,以及容错的支持。...

2020-03-01 09:46:20 442

原创 Spark消费kafka错误集锦

一、19/07/05 00:10:05 ERROR Executor: Exception in task 0.0 in stage 1.0 (TID 2)org.apache.kafka.clients.consumer.OffsetOutOfRangeException: Offsets out of range with no configured reset policy for ...

2019-07-30 18:46:58 709

原创 SpringBoot问题集锦:NoSuchBeanDefinitionException

学习SpringBoot的过程中,通过test方法进行测试Bean注入时,报错如下:Positive matches:----------------- CodecsAutoConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.http.codec.C...

2019-06-27 16:44:00 2741

转载 Hive通过TEZ引擎执行count

Hive使用TEZ作为默认的执行引擎,当表插入完记录后,count得到的结果为0,如果使用MR作为执行引擎来执行count,结果与实际记录数一致。 使用TEZ执行count十分高效,绕过了MapReduce操作,实际结果不正确,应该是TEZ内部有某种机制count()直接查询统计信息,然后统计信息不是最新的,导致count结果不正确。hive> SELECT cou...

2019-06-21 10:35:29 1434 1

原创 Spark开发问题集锦1

19/06/04 11:12:00 WARN DFSClient: Slow ReadProcessor read fields took 41999ms (threshold=30000ms); ack: seqno: 38596 reply: SUCCESS reply: SUCCESS downstreamAckTimeNanos: 18446744031720466026 flag: 0...

2019-06-05 09:56:06 1963 1

原创 Spark解析binlog日志,写入MySQL

1. 背景 由于公司业务线的不断拓展,创建了很多MySQL实例,为了安全起见每个实例之间不能直接互相访问,但是业务部门又需要整合各个业务线的数据进行分析、制定风控策略等。因此需要将不同业务线数据进行归集。 当然一下方案不是最优的,MySQL实例之间数据互通,有很多成熟且稳定的方式,因此我觉得我们选择了一种不是非常理想的方式!2. 处理流程 MySQL ——>...

2019-06-03 23:04:16 1877

原创 Shell脚本给Datax的job文件传参

当前有一个需求,读取HDFS中的分区数据,然后将数据写入到MongoDB。由于要求每次导入Mongo的是增量的数据,但HDFS中没有相应的字段对数据进行标识哪些是新增的。需要依据相应的策略去判断相应的增量数据。通过Hive的SQL将每天的全量数据与历史的增量数据进行关联(LEFT OUTER JOIN)where条件是右表的关联字段IS NULL,而关联条件是基于判重的字段组合生成M...

2019-05-14 14:34:10 4671

转载 自建Binlog订阅服务 —— Maxwell

1. 介绍Maxwell 是java语言编写的能够读取、解析MySQL binlog,将行更新以json格式发送到 Kafka、RabbitMQ、AWS Kinesis、Google Cloud Pub/Sub、文件,有了增量的数据流,可以想象的应用场景实在太多了,如ETL、维护缓存、收集表级别的dml指标、增量到搜索引擎、数据分区迁移、切库binlog回滚方案,等等。它还提供其它功能:...

2018-10-19 10:17:58 4985

原创 gson动态解析json

&lt;!-- java版本 --&gt;public class TestEnty {Map&lt;String,Object&gt; li;}package com.Company.Demo;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.L...

2018-09-11 16:20:38 528

原创 解决:Linux服务器时间与网络不同步问题

最近在搞测试的时候,发现服务器在和本地通信的时候,会出现超时的情况,首先排除了网络带宽的问题。然后在查看超时的服务器上的时间是发现了问题:有3台服务器的时间和本地时间相差很多。于是着手开始处理时间差。安装:yum install ntpdate成功后执行:ntpdate 210.72.145.44 --是中国国家授时中心的官方服务器IP,不是本地IP如果你成功了,恭喜你。但是...

2018-09-11 09:59:18 2834

原创 Spark消费kafka数据,写入Hbase错误

程序在运行,但是日志全是WARN zookeeper.ClientCnxn: Session 0x0 for server header-1.cluster-61477:2181, unexpected error, closing socket connection and attempting reconnectjava.io.IOException: Connection reset...

2018-08-08 18:36:54 932

原创 MaxWell安装部署

在开始之前,我们还是需要先看一下Maxwell官网,对Maxwell有一个简单的了解。Maxwell通过canal解析binlog,并将其发送到Kafka,后续我们通过自己的业务逻辑,处理得到的binlog日志,就OK了。我之前在用的时候,是公司要实时同步业务库的数据到HBase中,然后实现一些实时的查询业务。如果有兴趣的朋友,可以看看canal的底层实现,在这里我就不多赘述了。首先我们需...

2018-07-07 22:14:46 6663 3

原创 用Scala处理时间和时间戳互换

时间转换为时间戳import java.text.SimpleDateFormatobject test { def main(args: Array[String]): Unit = { val tm = "2017-08-01 16:44:32" val a = tranTimeToLong(tm) println(a) } def tran...

2018-06-21 14:19:52 8384 1

原创 logstash 出现的问题

[FATAL][logstash.runner          ] An unexpected error occurred! {:error=&gt;#&lt;NoMethodError: undefined method `[]' for nil:NilClass&gt;, :backtrace=&gt;["/export/servers/logstash-6.2.2/vendor/bund...

2018-05-26 15:25:18 24567 11

原创 Value '0000-00-00' can not be represented as java.sql.Date解决办法

java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp问题描述, 在java应用程序中,数据表中有记录的time字段(属性为timestamp)其值为:“0000-00-00 00:00:00”程序使用select 语句从中取数据时出现以下异常:java.sql....

2018-05-26 14:19:54 403

原创 Logstash使用webhdfs插件遇到写入HDFS权限问题

当我正常启动Logstash向HDFS写入数据的时候,报错:[WARN ][logstash.outputs.webhdfs ] Failed to flush outgoing items {:outgoing_count=&gt;1, :exception=&gt;"LogStash::Error", :backtrace=&gt;["org/logstash/ext/JrubyEventEx...

2018-05-22 23:03:28 2691 2

转载 StreamSets数据操作平台(数据移动及数据清洗强大工具)

1、支持多种安装方式1.1、核心安装包(Core Tarball)该安装包包含核心的SDC软件,使该软件具有最小的软件连接器集合,当然你可以手动下载额外的节点(Stage)①通过Streamsets的UI进行安装,UI上点击的位置为:在该软件界面的右边(图标是一个礼物盒子。。。)。②也可以通过使用CLI进行安装,安装过程如下所示:1、下载该【核心安装包】,比如版本为:streamsets-data...

2018-05-22 15:43:16 1686

转载 Logstash处理json根式日志文档的三种方式

假设日志文件中的每一行记录格式为json的,如:{"Method":"JSAPI.JSTicket","Message":"JSTicket:kgt8ON7yVITDhtdwci0qeZg4L-Dj1O5WF42Nog47n_0aGF4WPJDIF2UA9MeS8GzLe6MPjyp2WlzvsL0nlvkohw","CreateTime":"2015/10/13 9:39:59",&am

2018-05-19 17:33:22 1956

原创 SpringBoot框架浅析

我想看到这篇文章的你,大概对相关内容已经有了相关的了解,所以对一些关联的内容我就不多赘述了。在开始前,我们来看一下开发简单的SpringMVC入门案例必须做的准备工作:1. 一个web.xml文件,其中声明了Spring的DispatcherServlet2. 一个启动了Spring MVC的Spr

2018-05-19 17:28:36 393

原创 【随记】win10,系统,任务栏--工具栏--桌面,存在两个“控制面板”

如题,对于一个强迫症患者而言,如何删除这个多余的“控制面板”呢?跟着我一起:  1.  打开win + R,输入:regedit,打开注册列表。  2.  按照如下路径查找:         HKEY_LOCAL_MACHINE             SOFTWARE                Microsoft                   Windows              ...

2018-05-19 17:26:36 2176

原创 欲重生, 必先浴火

2017年10月22日22时     参加工作的时间也不算短了, 总没有时间停一下.  最近总有朋友建议我, 放慢脚步回顾一下这几年的历程, 总结一下经验, 遂发布自己的第一篇博文, 为大家提供小小的帮助, 也跟大家共同进步, 相互交流.                                    --------------   文|贾静斯

2017-10-22 22:12:49 275

空空如也

空空如也

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

TA关注的人

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