自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhiwen

发布的文章属于个人学习笔记,仅供参考.

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

原创 Hive查询结果封装和查询日志回调

本文章主要是解决之前在写数据中平台的时候遇到的俩个问题,一是封装查询后的结果集为前端展示数据,二是携带查询日志。当然结果集和日志可根据需求决定是否返回和返回方式,比如websocket。xia...

2021-06-07 11:20:02 495

原创 Http请求工具类

pom依赖<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.6</version> </dependency> <dependency>

2021-05-20 18:51:45 283

原创 发送告警消息到企业微信群

需求:实现告警信息推送到企业微信群介绍:企业微信支持自建应用推送消息和机器人推送消息,根据不同需求都可实现。方案一:机器人推送在群里建一个机器人,复制该机器人的webhook例如:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=123555asdfgh23456方案二:应用推送可通过postman测验一、管理员创建应用->从而拿到应用的secret对应corpsecret,并且拿到企业ID对应corpid二、后台获取到该应用2

2021-05-20 16:34:40 1503 3

原创 FlinkKafkaConsumer

offset什么时候提交主要看是否开启了checkpoint开启了checkpoint情况1:用户通过调用 consumer上的setCommitOffsetsOnCheckpoints(true) 方法来启用 offset 的提交(默认情况下为 true )那么当 checkpointing 完成时,Flink Kafka Consumer 将提交的 offset 存储在 checkpoint 状态中。这确保 Kafka broker 中提交的 offset 与 checkpoint 状态中

2021-04-06 13:42:32 2284

原创 SQL解析之获取select语句中的列名别名

package com.wzw.demo.utils;import net.sf.jsqlparser.JSQLParserException;import net.sf.jsqlparser.expression.*;import net.sf.jsqlparser.parser.CCJSqlParserManager;import net.sf.jsqlparser.parser.CCJSqlParserUtil;import net.sf.jsqlparser.parser.Simple

2021-02-23 11:17:59 2858

原创 clickhouse安装后JDBC连接测试

import java.sql.*;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * @description:clickhouse连接测试 * @author: ZhiWen * @create: 2021-01-05 **/public class ClickhouseUse { public static void .

2021-01-05 17:20:58 732

原创 安装部署clickhouse

一 下载rpm包1.查看Linuxcat /prod/version我的如下[root@server04 clickhouse-server]# cat /proc/versionLinux version 3.10.0-862.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Fri Apr 20 16:44:24 UTC 2018

2021-01-05 16:25:56 130

原创 Kafka命令行读文件生产到topic

注意:要加上最后的 ‘| > out.txt’,否则控制台会输出一堆 ‘>’ cat data.txt | kafka-console-producer --broker-list 172.24.103.8:9092 --topic test_taos | > out.txt提供俩个可能用到的命令1.查看文件行数wc -l data.txt2.查看topic的offset kafka-run-class kafka.tools.GetOffsetShell --broke

2020-11-06 14:06:11 1413

原创 shell 消费Kafka消息到文件

准备mkdir outputvi consumer_kafka.shnohup kafka-console-consumer --bootstrap-server 172.24.103.8:9092,172.24.103.9:9092,172.24.103.10:9092 --topic monitor_dev >> output/consumer_kafka_out.txt &echo $! > consumer_kafka.pid说明:后台运行,并会把进程id保

2020-10-23 10:50:07 2160

原创 平台开发之策略模式

用鸭子来举例测试类package com.troila.design_patterns.strategy_pattern;/** * @description: * @author: ZhiWen * @create: 2020-10-21 **/public class TestDuck { public static void main(String[] args) { RedheadDuck redheadDuck = new RedheadDuck();

2020-10-21 17:10:14 131

原创 Flink与Kafka的爱恨情仇

使用 Flink-connector-kafka 可能会遇到的问题如何消费多个 Kafka Topic通常可能会有很多类型的数据全部发到 Kafka,但是发送的数据却不是在同一个 Topic 里面,然后在 Flink 处消费的时候,又要去同时消费这些多个 Topic,在 Flink 中除了支持可以消费单个 Topic 的数据,还支持传入多个 Topic,另外还支持 Topic 的正则表达式(因为有时候可能会事先不确定到底会有多少个 Topic,所以使用正则来处理会比较好,只要在 Kafka 建立的 To

2020-09-23 14:31:34 2808

原创 k8s--Kubernetes

什么是Kubernetes?k8s?Kubernetes 的名字来自希腊语,意思是“舵手” 或 “ 领航员” .K8s是将8个字母“ubernete”替换为“8”的缩写.Kubernetes是Google 2014年创建管理的,是Google 10多年大规模容器管理技术Borg的开源版本。Kubernetes是容器集群管理系统,是一个开源的平台,可以实现 容器集群 的自动化部署、自动扩缩容、维护等功能。Kubernetes 特点可移植 : 支持公有云,私有云,混合云,多重云(multi-cloud

2020-09-14 14:12:20 115

原创 Maven中的 scope

项目阶段包括: 编译,运行,测试和发布。SCOPE 分类:compile默认scope为compile,表示为当前依赖参与项目的编译、测试和运行阶段,属于强依赖。打包之时,会打到包里去。test该依赖仅仅参与测试相关的内容,包括测试用例的编译和执行,比如定性的Junit。runtime依赖仅参与运行周期中的使用。一般这种类库都是接口与实现相分离的类库,比如JDBC类库,在编译之时仅依赖相关的接口,在具体的运行之时,才需要具体的mysql、oracle等等数据的驱动程序。此类的驱动都是为run

2020-08-28 17:11:13 188

原创 System.getProperties()都能获取到什么

package com.xxx.test;import java.util.Properties;import java.util.Set;/** * @description: * 测试一下 Java 中 的System.getProperties()都能获取到什么 * 平常常用到 System.getProperty("user.dir") 俩获取项目当前地址 * Java 开发人员可能对System的运用比较熟悉 * 大数据开发可能会在 提交jar作业中获取参数并且和通用.

2020-08-27 10:25:03 414

原创 命令行生产消息到Kerberos认证的kafka

#zookeeper 192.168.0.187:2181,192.168.0.162:2181,192.168.0.71:2181/kafka#kafka 192.168.0.140:21007,192.168.0.71:21007kafka-topics.sh --create --zookeeper 192.168.0.187:2181,192.168.0.162:2181,192.168.0.71:2181/kafka --replication-factor 1 --partitions

2020-08-18 09:36:05 1068 1

原创 TDengine涛思时序数据库的搭建应用

import com.taosdata.jdbc.TSDBDriver;import java.sql.*;import java.util.Properties;/** * @description: * TDengine: 时序数据库,又名涛思(taos) * 测试版本: Community Edition, version is 1.6.6.1 * 服务端地址: 172.24.103.5:6030 * 已建数据库: wzw_test * 用户: root * 密码:taosda

2020-08-12 17:29:01 2086

原创 数仓血缘分析调研分享

前期调研:数仓字段血缘解析实现—hive版为什么要使用图数据库?neo4j手册CQL教程neo4j视频Hive鲜为人知的宝石-HooksHive学习笔记——hive hook大数据血缘分析系统设计(一)大数据血缘分析系统设计(二)大数据血缘分析系统设计(三)大数据血缘分析系统设计(四)注意:LineageLogger Hook 是 Hive2.0版本 之后存在的,如果HIVE版本不够需要升级HIVE版本...

2020-08-09 19:55:45 464

原创 图数据库neo4j使用笔记

neo4j安装参照博客:https://blog.csdn.net/u013946356/article/details/81736232常用的基本命令:数据库服务启动:/opt/soft/neo4j-community-3.4.5/bin/neo4j start数据库服务停止:./neo4j stop查看服务状态:./neo4j status客户端客户端访问:http://172.24.103.3:7474/browser/账号:neo4j密码:123456Java项目中配置(

2020-08-09 19:53:09 1288

原创 java远端执行shell命令之系统上任务的框架 -- sshxcute

需求描述:在实际工作中,总会有些时候需要我们通过java代码通过远程连接去linux服务器上面执行一些shell命令,包括一些集群的状态管理,执行任务,集群的可视化界面操作等等,所以我们可以通过java代码来执行linux服务器的shell命令为了解决上述问题,google公司给提出了对应的解决方案,开源出来了一个jar包叫做sshxcute,通过这个jar包我们可以通过java代码,非常便捷的操作我们的linux服务器了使用介绍项目中idea手动添加依赖,非pom开发演示import net.

2020-08-09 19:31:27 698

原创 图解HBase

图解HBase初识进阶实践初识进阶实践

2020-08-09 19:17:26 132

原创 Apache Flink 入门 (第四篇) (DataStream API 示例)

1. Flink DataStream API 概览https://ci.apache.org/projects/flink/flink-docs-release-1.10/zh/dev/datastream_api.html我们先是从一个简单的例子开始看起。下面是一个流式 Word Count 的示例,虽然它只有 5 行代码,但是它给出了基于 Flink DataStream API 开发程序的基本结构。▼ 示例: 基于 Flink DataStream API 的 Word Count 示例。/

2020-07-05 17:47:08 369

原创 Apache Flink 入门 (第三篇)(在YARN上运行Flink任务)

运行 Flink 应用1. 基本概念运行 Flink 应用其实非常简单,但是在运行 Flink 应用之前,还是有必要了解 Flink 运行时的各个组件,因为这涉及到 Flink 应用的配置问题。下图所示,这是用户用 DataStream API 写的一个数据处理程序。可以看到,在一个 DAG 图中不能被 Chain 在一起的 Operator 会被分隔到不同的 Task 中,也就是说 Task 是 Flink 中资源调度的最小单位。Flink 实际运行时包括两类进程:JobManager(又

2020-07-05 15:58:15 853

原创 Java中的Builder模式构建对象(Scala,python不需要)

package com.troila.test;/** * @description * 在设计模式中对Builder模式的定义是用于构建复杂对象的一种模式,所构建的对象往往需要多步初始化或赋值才能完成。那么,在实际的开发过程中,我们哪些地方适合用到Builder模式呢?其中使用Builder模式来替代多参数构造函数是一个比较好的实践法则。我们常常会面临编写一个这样的实现类(假设类名叫BuilderTest),这个类拥有多个构造函数,BuilderTest(String name);Bu

2020-07-03 16:17:05 329

原创 ZIP压缩和解压缩字符串文本

import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.util.zip.ZipEntry;import java.util.zip.ZipInputStream;import java.util.zip.ZipOutputStream;/** *功能描述 字符串处理工具类 * @author ZhiWen * @par.

2020-07-03 14:50:09 1150

原创 根据指定分隔符分割字符串(可用于SQL语句切分)

/** * 根据指定分隔符分割字符串---忽略在引号里面的分隔符 * @param str * @param delimiter * @return */ public static List<String> splitIgnoreQuota(String str, char delimiter) { List<String> tokensList = new ArrayList<>(); .

2020-07-03 14:38:03 1278

原创 Apache Flink 入门 (第二篇)(流式处理及FLINK具有的优势)

「有状态的流式处理」概念解析1. 传统批处理传统批处理方法是持续收取数据,以时间作为划分多个批次的依据,再周期性地执行批次运算。但假设需要计算每小时出现事件转换的次数,如果事件转换跨越了所定义的时间划分,传统批处理会将中间运算结果带到下一个批次进行计算;除此之外,当出现接收到的事件顺序颠倒情况下,传统批处理仍会将中间状态带到下一批次的运算结果中,这种处理方式也不尽如人意。2. 理想方法第一点,要有理想方法,这个理想方法是引擎必须要有能力可以累积状态和维护状态,累积状态代表着过去历史中接收过的所

2020-06-25 18:37:09 576 2

原创 Apache Flink 入门 (第一篇)(概念,应用场景)

一、Apache Flink 的定义、架构及原理官方文档:Apache Flink 是一个分布式流批一体化的开源平台。Flink 的核心是一个提供数据分发、通信以及自动容错的流计算引擎。Flink 在流计算之上构建批处理,并且原生的支持迭代计算,内存管理以及程序优化。Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速计算。1. Flink Application了解Flink 应用开发需要先理

2020-06-25 17:50:26 314

原创 Flink状态后端 State Backend

什么是状态?无状态计算指的是数据进入Flink后经过算子时只需要对当前数据进行处理就能得到想要的结果,有状态计算就是需要和历史的一些状态或进行相关操作,才能计算出正确的结果状态的使用场景:去重:需要记录哪些数据出现过,哪些没出现过,记录所有主键窗口计算,已进入未触发计算的数据比如计算一个小时的counter机器学习/深度学习:训练模型及参数访问历史数据:需要与昨天的数据进行对比,历史数据放在状态里状态管理和备份为什么要管理状态?管理状态最直接的方式就是将数据都放到内存中,也是最常用的方

2020-06-23 11:51:32 606

原创 Flink SQL实时计算案例三

import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import org.apache.flink.table.api.EnvironmentSettings;import org.apache.flink.table.api.Table;import org.apache.flink.table.api.java.StreamTableEnvironment;import org.apache.f

2020-06-01 17:46:26 1672 3

原创 Flink Sql源表时间类型及水印字段生成

test012020-06-01T03:56:53.123 pt AS PROCTIME() pt2020-06-01T11:56:50 wt AS TO_TIMESTAMP(t4) wt2020-06-01T11:56:50 t5 AS CAST(FROM_UNIXTIME(CAST(t3 AS BIGINT)) AS TIMESTAMP) t5源端字段级类型源端发送数据格式映射后的数据格式建表语句操作(映射关系)映射后的字段t1[String]Mon Jun 01 1

2020-06-01 14:42:51 1454

原创 shell+python模拟数据产生到文件

shell+python模拟数据产生到文件,后续给flume监控使用准备工作1.新建一个test目录 mkdir test2.进入到test目录,新建一个data目录 mkdir data3.在test目录下新建俩个文件用来保存进程id touch temp.pid touch pres.pid4.所有的脚本写在test目录下,数据在data目录下start-script.sh启动脚本 启动俩个py脚本,并把进程id保存到指定文件nohup python temp.py &ec

2020-05-28 14:48:07 223

原创 Flink SQL实时计算案例二

知识点:与维表join,开窗计算消息模拟器/** * @description loT解决方案之 多维度传感器数据分析 * 模拟传感器采集上传服务 * @author: ZhiWen * @create: 2020-05-25 11:26 **/public class MessageGenerator03 { /** *功能描述 * 该工业客户拥有1千多台设备,分布在不同城市的多个厂区,每个设备上有10个不同种类传感器,这些传感器,大概每5秒采集并上传一份数据到

2020-05-27 17:03:23 1040

原创 Flink SQL实时计算案例一

消息发送器import com.alibaba.fastjson.JSONObject;import com.wzw.ali.bean.Message02;import org.apache.kafka.clients.producer.KafkaProducer;import org.apache.kafka.clients.producer.ProducerRecord;import org.apache.kafka.common.serialization.StringSerializer;

2020-05-24 09:52:32 4381 15

原创 SQL语句的解析,规则匹配,标准化

/** * 将字段/表名加上转义符`` * * @return */ public static String transformSqlFormat(String name) { StringBuffer sqlName = new StringBuffer(); return sqlName.append("`") .append(name) .appen...

2020-05-24 09:28:53 699

原创 关系型数据库的元数据(MySQL,Oracle)

/** * @description 抓取MySQL, Oracle的元数据信息 * @author: ZhiWen * @create: 2019-09-29 17:45 **/@Servicepublic class MetaFetchImpl implements MetaFetch { @Override public List<DataTableMeta> fetch(MetaFetchDTO metaFetchDTO) { List&lt

2020-05-24 09:17:13 669

原创 Linux连接MySQL开启binlog日志

连接MYSQL:格式: mysql -h主机地址 -u用户名 -p用户密码 1、例1:连接到本机上的MYSQL找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>2、连接到远程主机上的MYSQL假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:mysql -h10.0.0.1 -u

2020-05-20 17:59:07 295

原创 Linux快速安装MySQL数据库(可用)

1.安装mysqlyum -y install mariadb-server启动mysqlservice mariadb start删除匿名用户delete from mysql.user where user=’’;root用户设定密码SET PASSWORD = PASSWORD(‘123456’);SET PASSWORD for ‘root’@‘127.0.0.1’ = PASSWORD(‘123456’);SET PASSWORD for ‘root’@‘localhost’ =

2020-05-20 17:44:01 183

原创 正则匹配SQL字符串中的引用符${}

import java.util.HashMap;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @description * @author: ZhiWen * @create: 2020-04-16 11:18 **/public class Regex { private static Pattern p1 = Pattern.compile("^/[0-9a-zA-Z\\u4e00-\\

2020-05-20 14:42:41 412 1

原创 SQL执行流程sql

FromONJOINWHEREGROUP BYSELECTHAVINGORDER BYLIMIT

2020-05-20 10:46:15 125

原创 轻松理解SQL中的各种join和union

简单理解:join本意是连接,就是把多张表的数据横向连接起来(横向扩展)(字段不一样);union本以是合并,就是把多个表结果集纵向合并起来(纵向扩展)(字段及顺序一样).下面列出了 JOIN 类型,以及它们之间的差异JOIN: 只返回俩表匹配的行(一一对应,要避免笛卡尔积)LEFT JOIN: 返回左右表匹配的行及左表不匹配的行RIGHT JOIN: 返回左右表匹配的行及右表不匹配的行FULL JOIN: 返回左右表匹配行及左表右表各自不匹配的行JOINSELECT * FROM tab

2020-05-20 10:43:20 1018

空空如也

空空如也

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

TA关注的人

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