自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(327)
  • 资源 (2)
  • 收藏
  • 关注

原创 log4j升级之路

log4j升级之路10.10 阿里公开log4j漏洞详细细节,apache下大部分项目收到影响,java程序员开启梦幻般的升级log4j的加班之旅。初始升级方案修改jvm参数:Dlog4j2.formatMsgNoLookups=true修改配置:log4j2.formatMsgNoLookups=True将系统环境变量FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS设置为 true升级版方案10.11 日apache上线log4j 1.15稳定版,开启升

2021-12-13 20:39:48 1275 1

原创 hive空字符串数组和空数组

hive空字符串数组和空数组最近在处理数据时发现一个有意思的情况空字符串数组 :array(’’)空数组:array()select size(array('')), size(array());将字符串数组转换为字符串:concat_ws(',',collect_set(cast(colum)))...

2021-12-13 20:22:16 3991

原创 使用flinksql读取parquent文件

使用flinksql读取parquent文件一、导入maven依赖 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-parquet_2.12</artifactId> <version>1.11</version> </dependency>二、创建flink动态表关联文件p

2021-06-08 20:47:06 1409 2

原创 AWS使用

AWS使用 小总结近期忙于学习aws相关组件,发现竟然没有总结过,每天需要啥看啥,看完忘完,现在来总结一下。EMREMR可以说是大数据的福音,简单点几步就可以搭建起一套大数据集群,还可以随心所欲的扩容,为了节省经费还可以按需启动集群,用完即释放。但是我们不给秘钥对甚至连集群都登录不了,只能纯手工操作。下面上我所积累的aws cli命令操作:aws关闭终止保护:aws emr modify-cluster-attributes --cluster-id `j-3KVTXXXXXX7UG` --no

2021-06-08 20:34:09 320

原创 阿里云E-MapReduce操作

阿里云E-MapReduce操作阿里云E-MapReduce(简称EMR),是运行在阿里云平台上的一种大数据处理的系统解决方案。EMR构建于云服务器ECS上,基于开源的Apache Hadoop和Apache Spark,让您可以方便地使用Hadoop和Spark生态系统中的其他周边系统分析和处理数据。EMR还可以与阿里云其他的云数据存储系统和数据库系统(例如,阿里云OSS和RDS等)进行数据传输。一、E-MapReduce的用途以往在使用Hadoop和Spark等分布式处理系统时,通常需要执行如下步

2021-04-03 01:28:54 956

原创 阿里云协同工作配置

阿里云协同工作配置阿里云存在多个服务,显然是无法一个人完成的,需要多个人协同开发。但是所有的服务器又都是有一个账号统一管理(一般是公司的账号),这个账号非常关键不可能让所有的开发人员人手一个,那么如何让这些程序员一起参与开发呢?这就要用到RAM子账户。一、RAM简介RAM(Resource Access Management)是阿里云为客户提供的用户身份管理与资源访问控制服务。RAM允许在一个云账号下创建并管理多个身份,并允许给单个身份或一组身份分配不同的权限,从而实现不同用户拥有不同的云资源访

2021-04-03 00:42:46 416 1

原创 阿里云RDS组件简介与使用

阿里云RDS组件简介与使用一、RDS服务器购买阿里云关系型数据库(Relational Database Service,简称RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。购买RDS for MySQL服务器:https://www.aliyun.com/product/rds/mysql1)点击立即购买2)购买RDS服务器配置3)点击立即购买4)控制台列表注意:实例一旦创建,服务开始计费,使用过程中不能停机,只能释放实例。二、RDS服务器配置服务建立好以后,首先要建

2021-04-02 21:51:50 3989

原创 阿里云DataWorks和MaxCompute简介与使用

阿里云DataWorks和MaxCompute简介与使用一、简介MaxCompute(大数据计算服务)是阿里巴巴自主研发的海量数据处理平台,主要提供数据上传和下载通道,提供SQL及MapReduce等多种计算分析服务,同时还提供完善的安全解决方案。DataWorks(数据工场,原大数据开发套件)是基于MaxCompute计算引擎的一站式大数据工场,它能帮助您快速完成数据集成、开发、治理、服务、质量、安全等全套数据研发工作。盘古:相当于Hadoop中的HDFS伏羲:相当于Hadoop中的YARN

2021-04-02 20:20:24 4097

原创 阿里云DataHub安装及使用

DataHub安装及使用一、DataHub简介DataHub类似于传统大数据解决方案中Kafka的角色,提供了一个数据队列功能。对于离线计算,DataHub除了供了一个缓冲的队列作用。同时由于DataHub提供了各种与其他阿里云上下游产品的对接功能,所以DataHub又扮演了一个数据的分发枢纽工作。DataHub输入组件包括Flume:主流的开源日志采集框架DTS:类似Canal,日志实时监控采集框架Logstash:也是日志采集框架,通常和Elasticsearch、Kibana集合使

2021-03-29 21:22:29 3320

原创 阿里云技术架构

阿里云技术架构云数仓技术选型

2021-03-29 21:02:13 469

原创 SQL最近七天连续三天登陆用户数量

最近七天连续三天登陆用户数量分析:获取最近七天活跃的用户,并对用户活跃日期进行排序计算用户活跃日期与排名的差值对用户及差值进行分组,统计差值个数取出差值个数大于3的数据(即连续登陆三天以上的用户)对数据进行去重select mid_idfrom( select mid_id from( select mid_id,date_sub(dt,rank) date_dif from( select mid_id, dt, rank() over

2021-03-26 21:15:19 4407

原创 百度sugar大屏配置服务器全局Host

配置sugar大屏1. 配置服务器全局Host进入空间管理2. 大屏刷新数据回到大屏配置

2021-03-26 20:27:25 357

原创 内网穿透简介

内网穿透在本地开发的接口, 只能在局域网使用,公网服务器无法 直接读到这个接口, 只有让接口有公网地址才行.在测试阶段可以使用工具实现内网穿透来解决这个问题.内网穿透的作用通常个人电脑无论是连接WIFI上网还是用网线上网,都是属于局域网里边的,外网无法直接访问到你的电脑,内网穿透可以让你的局域网中的电脑实现被外网访问功能。现有工具目前国内网穿透工具很多,常见的比如花生壳、Ngrok、网云穿等。官网:花生壳:https://hsk.oray.comNgrok: http://www.ng

2021-03-26 20:18:36 450

原创 百度sugar数据大屏

百度sugar数据大屏1. 产品介绍Sugar是百度云推出的敏捷 BI 和数据可视化平台,目标是解决报表和大屏的数据 BI 分析和可视化问题,解放数据可视化系统的开发人力。2. 使用入口https://cloud.baidu.com/product/sugar.html需要使用百度账号登陆后实名认证,有一个月的试用期。3. 创建数据大屏点击立即使用, 登录百度账号首次使用需要实名认证, 然后有30天的免费使用期限会看到一个免费试用版的组织进入试用版组织选择第一

2021-03-26 20:08:07 1364

原创 DWS层:商品行为关键词主题宽表

DWS层:商品行为关键词主题宽表从商品主题获得,商品关键词与点击次数、订单次数、添加购物次数的统计表。重构DWSProductStatsApp重构DWSProductStatsApp, 增加最终的数据到Kafka的代码(因为flink没有直接读取clickhousse的方法,借助kafka中转)private void sink2Kafka(SingleOutputStreamOperator<ProductStats> resultStream) { resultStream.

2021-03-26 19:58:40 489

原创 拉链表的制作案例

拉链表的制作作用:主要处理缓慢变化维的业务场景。(用户表、订单表)简洁版,比较难理解,节省了两张临时表,适用于维度表,数据量不大的情况。INSERT overwrite table dwd_dim_user_info_his --数据分两批导入到dwd_dim_user_his--第一批: old + 更新需要变化的old的数据SELECT --左表和右边关联后,右表中为NULL的是不需要更新的数据,否则且左表的end_date为9999-99-99,需要将次字段更新 old.id, o

2021-03-26 08:48:39 514 4

原创 Flink自定义函数(自定义分词函数UDTF)

Flink自定义函数概述自定义函数(UDF)是一种扩展开发机制,可以用来在查询语句里调用难以用其他方式表达的频繁使用或自定义的逻辑。函数分类:Scalar functions类似于spark的udfTable functions类似于 spark的udtfAggregate functions类似于spark的udafTable aggregate functionsAsync table functins自定义Table Function实现分词功能一个词条包括多个词语所以分词

2021-03-24 21:19:12 1336

原创 DWS层:商品主题宽表处理并写入ClickHouse

DWS层:商品主题宽表处理与访客的dws层的宽表类似,也是把多个事实表的明细数据汇总起来组合成宽表1. 需求分析与思路从Kafka主题中获得数据流把Json字符串数据流转换为统一数据对象的数据流把统一的数据结构流合并为一个流flink多流join使用connect方法,前提是必须是相同类型的数据流,所有需要先封装主题宽表的bean对象,后续进行补充维度信息,分组聚合去重。设定事件时间与水位线分组、开窗、聚合写入ClickHouse2. 功能实现2.1 封装商品统计实体类Pro

2021-03-24 21:10:00 1888 2

原创 使用FlinkSQL将数据写入到ClickHouse

使用FlinkSQL将地区主题数据写入到ClickHouse一、需求分析与思路定义Table流环境把数据源定义为动态表通过SQL查询出结果表把结果表转换为数据流把数据流写入目标数据库如果是Flink官方支持的数据库,也可以直接把目标数据表定义为动态表,用insert into 写入。由于ClickHouse目前官方没有支持的jdbc连接器(目前支持Mysql、 PostgreSQL、Derby)。阿里云有实现好的connector, 我们使用这个connector.参考地址: https

2021-03-24 20:53:49 9542 15

原创 使用flink将数据流写入到Clickhouse的工具类

使用flink将数据流写入到Clickhousepackage com.gmall.realtime.util;import com.gmall.realtime.bean.VisitorStats;import org.apache.flink.connector.jdbc.JdbcConnectionOptions;import org.apache.flink.connector.jdbc.JdbcSink;import org.apache.flink.connector.jdbc.Jd

2021-03-23 21:06:16 1215

原创 实时数仓DWS层的定位

实时数仓DWS层的定位轻度聚合,因为DWS层要应对很多实时查询,如果是完全的明细那么查询的压力是非常大的。将更多的实时数据以主题的方式组合起来便于管理,同时也能减少维度查询的次数。1. DWS层:访客主题宽表设计一张DWS层的表其实就两件事:维度和度量(事实数据)度量包括PV、UV、跳出次数、连续访问页面数、连续访问时长维度包括在分析中比较重要的几个字段:渠道、地区、版本、新老用户进行聚合需求分析与思路接收各个明细数据,变为数据流把数据流合并在一起,成为一个相同格式对象的数据流

2021-03-23 21:03:52 470

原创 Clickhouse数据库八:搭建分片集群(高并发)

Clickhouse数据库八:搭建分片集群(高并发)复本虽然能够提高数据的可用性,降低丢失风险,但是对数据的横向扩容没有解决。每台机子实际上必须容纳全量数据。要解决数据水平切分的问题,需要引入分片的概念。通过分片把一份完整的数据进行切分,不同的分片分布到不同的节点上。再通过Distributed表引擎把数据拼接起来一同使用。Distributed表引擎本身不存储数据,有点类似于MyCat之于MySql,成为一种中间件,通过分布式逻辑表来写入、分发、路由来操作多台节点不同分片的分布式数据。8.1 读

2021-03-23 20:58:33 2921

原创 Clickhouse数据库七:配置高可用(复本)

Clickhouse数据库七:配置高可用(复本)副本的目的主要是保障数据的高可用性,即使一台clickhouse节点宕机,那么也可以从其他服务器获得相同的数据。clickhouse的副本严重依赖zookeeper, 用于通知副本server状态变更副本是表级别的,不是整个服务器级的。所以,服务器里可以同时有复本表和非复本表。7.1 复本写入流程7.2 配置规划7.3 在hadoop103安装clickhouse参考:https://blog.csdn.net/weixin_42796

2021-03-23 20:50:34 646

原创 Clickhouse数据库六:Sql操作

Clickhouse数据库六:Sql操作6.1 insertinsert valuesINSERT INTO [db.]table [(c1, c2, c3)] VALUES (v11, v12, v13), (v21, v22, v23), ...insert selectINSERT INTO [db.]table [(c1, c2, c3)] SELECT ...6.2 update和deleteClickHouse提供了Delete 和Update的能力,这类操作被称为M

2021-03-23 20:43:18 774

原创 Hbase基础设置优化

Hbase基础设置优化1.允许在HDFS的文件中追加内容hdfs-site.xml、HBase-site.xml属性:dfs.support.append解释:开启HDFS追加同步,可以优秀的配合HBase的数据同步和持久化。默认值为true。2.优化DataNode允许的最大文件打开数hdfs-site.xml属性:dfs.datanode.max.transfer.threads解释:HBase一般都会同一时间操作大量的文件,根据集群的数量和规模以及数据动作,设置为4096或者更高

2021-03-21 20:33:52 195

原创 HBase内存优化

HBase内存优化HBase操作过程中需要大量的内存开销,毕竟Table是可以缓存在内存中的,一般会分配整个可用内存的70%给HBase的Java堆。但是不建议分配非常大的堆内存,因为GC过程持续太久会导致RegionServer处于长期不可用状态,一般16~48G内存就可以了,如果因为框架占用内存过高导致系统内存不足,框架一样会被系统服务拖死。...

2021-03-21 20:28:46 267

原创 HBase 预分区与RowKey设计

预分区Hbase中每一个region维护着startRow与endRowKey,如果加入的数据符合某个region维护的rowKey范围,则该数据交给这个region维护。那么依照这个原则,我们可以将数据所要投放的分区提前大致的规划好,以提高HBase性能。手动设定预分区HBase> create 'staff1','info','partition1',SPLITS => ['1000','2000','3000','4000']生成16进制序列预分区create 'sta

2021-03-21 20:27:49 378

原创 HBase高可用配置

HBase高可用配置在HBase中Hmaster负责监控RegionServer的生命周期,均衡RegionServer的负载,如果Hmaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以HBase支持对Hmaster的高可用配置。关闭HBase集群(如果没有开启则跳过此步) [hadoop@hadoop102 HBase]$ bin/stop-HBase.sh在conf目录下创建backup-masters文件 [hadoop@hadoop

2021-03-21 20:18:13 442

原创 Hbase查看数据库状态相关命令函数

Hbase查看数据库状态相关命令函数使用hbase shell可以进入一个shell命令行界面![hadoop@hadoop102 HBase]$ bin/HBase shell1. 查看集群状态使用status可以查看集群状态,默认为summary,可以选择‘simple’和‘detailed’来查看详情。hbase(main):011:0> status1 active master, 0 backup masters, 3 servers, 0 dead, 0.6667 avera

2021-03-21 20:13:37 3341

原创 Hbase表数据操作相关命令函数

Hbase数据操作相关命令函数3.1 scanscan命令可以按照rowkey的字典顺序来遍历指定的表的数据。scan ‘表名’:默认当前表的所有列族。scan ‘表名’,{COLUMNS=> [‘列族:列名’],…} : 遍历表的指定列scan ‘表名’, { STARTROW => ‘起始行键’, ENDROW => ‘结束行键’ }:指定rowkey范围。如果不指定,则会从表的开头一直显示到表的结尾。区间为左闭右开。scan ‘表名’, { LIMIT => 行

2021-03-21 20:10:02 532

原创 Hbase表的操作相关命令函数

Hbase表的操作相相关命令函数2.1. listhbase(main):008:0> listTABLE 0 row(s) in 0.0410 secondslist后可以使用*等通配符来进行表的过滤!2.2 create创建表时,需要指定表名和列族名,

2021-03-21 20:03:53 535

原创 Clickhouse数据库五:表引擎

Clickhouse数据库五:表引擎目录Clickhouse数据库五:表引擎5.1 表引擎的作用5.2 如何使用表引擎5.3常用引擎5.3.1 TinyLog5.3.2 Memory5.3.3 MergeTree5.3.3.1 Partition by 分区5.3.3.2 primary key主键5.3.3.3 order by5.3.3.4 数据TTL5.3.4 ReplacingMergeTree5.3.5 SummingMergeTree5.1 表引擎的作用表引擎是clickhouse的一

2021-03-20 20:32:40 519

原创 Clickhouse数据库四:数据类型

Clickhouse数据库四:数据类型主要介绍一些与其他数据库不同的数据类型参考官方文档: https://clickhouse.tech/docs/en/sql-reference/data-types/4.1 整数类型Int RangesInt8 - [-128 : 127]Int16 - [-32768 : 32767]Int32 - [-2147483648 : 2147483647]Int64 - [-9223372036854775808 : 9223372036854775

2021-03-20 20:12:01 567

原创 Clickhouse数据库三:单机版安装

安装单机版clickhouse3.1准备工作3.1.1 CentOS取消打开文件数限制sudo vim /etc/security/limits.conf添加以下内容, 如果已经添加过, 则修改* soft nofile 65536 * hard nofile 65536 * soft nproc 131072 * hard nproc 1310723.2.2 CentOS取消SELINUXsudo vim /etc/sysconfig/selinuxSELINUX=disab

2021-03-20 19:54:34 288

原创 Clickhouse数据库二:特点

Clickhouse的特点2.1列式存储IdNameAge1张三182李四223王五34采用行式存储时,数据在磁盘上的组织结构为:好处是想查某个人所有的属性时,可以通过一次磁盘查找加顺序读取就可以。但是当想查所有人的年龄时,需要不停的查找,或者全表扫描才行,遍历的很多数据都是不需要的。而采用列式存储时,数据在磁盘上的组织结构为:这时想查所有人的年龄只需把年龄那一列拿出来就可以了列式储存的好处:对于列的聚合,计数,求和等统计操作

2021-03-20 19:43:29 268

原创 Clickhouse数据库一:简介

ClickHouse数据库简介ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。OLAP场景的关键特征大多数是读请求数据总是以相当大的批(> 1000 rows)进行写入不修改已添加的数据每次查询都从数据库中读取大量的行,但是同时又仅需要少量的列宽表,即每个表包含着大量的列较少的查询(通常每台服务器每秒数百个查询或更少)对于简单查询,允许延迟大约

2021-03-20 19:27:54 5711

原创 Flink实时数仓DWM层支付宽表设计

Flink实时数仓DWM层支付宽表设计需求分析与思路支付宽表的目的,最主要的原因是支付表没有到订单明细,支付金额没有细分到商品上,没有办法统计商品级的支付状况。所以支付宽表的核心就是要把支付表的信息与订单明细关联上。解决方案有两个一个是把订单明细表(或者宽表)输出到Hbase上,在支付宽表计算时查询hbase,这相当于把订单明细作为一种维度进行管理。一个是用流的方式接收订单明细,然后用双流join方式进行合并。因为订单与支付产生有一定的时差。所以必须用intervalJoin来管理流的状态时间

2021-03-20 19:23:21 826

原创 Flink流处理查询外部数据源的解决方法

Flink流处理查询外部数据源的解决方法在流处理中,常涉及到与外部数据源的交互。例如在实时数仓的设计中通常是流式采集用户的浏览、下单等行为,但是用户信息,SKU、SPU等信息因为是维度表不适合通过流的方式读取(流中无法进行随意消费),而是存储在外部数据库例如Hbase、ClieckHouse的实时性能比较高的分布式数据库中。但是与外部数据源的查询常常是流式计算的瓶颈,下面给出了两种优化方案:旁路缓存技术和Flink提供的异步查询方式。方案1: 加入旁路缓存模式 (cache-aside-pattern)

2021-03-19 20:43:13 1830 1

原创 Flink实时数仓DWM层: 订单宽表

Flink实时数仓DWM层: 订单宽表需求分析与思路订单是统计分析的重要的对象,围绕订单有很多的维度统计需求,比如用户、地区、商品、品类、品牌等等。为了之后统计计算更加方便,减少大表之间的关联,所以在实时计算过程中将围绕订单的相关数据整合成为一张订单的宽表。那究竟哪些数据需要和订单整合在一起?由于在之前的操作已经把数据分拆成了事实数据和维度数据,事实数据(绿色)进入kafka数据流(DWD层)中,维度数据(蓝色)进入hbase中长期保存。那么我们在DWM层中要把实时和维度数据进行整合关联在一起,

2021-03-17 20:20:17 1314 2

原创 Flink实时数仓DWM层: 跳出明细

DWM层: 跳出明细1. 需求分析与思路1.1 什么是跳出跳出就是用户成功访问了网站的入口页面(例如首页)后就退出,不再继续访问网站的其它页面。跳出率计算公式:跳出率=访问一个页面后离开网站的次数 / 总访问次数观察关键词的跳出率就可以得知用户对网站内容的认可,或者说你的网站是否对用户有吸引力。而网站的内容是否能够对用户有所帮助留住用户也直接可以在跳出率中看出来,所以跳出率是衡量网站内容质量的重要标准。关注跳出率,可以看出引流过来的访客是否能很快的被吸引,渠道引流过来的用户之间的质量对比,对于

2021-03-17 20:15:42 620

azkban3.84.4安装包

azkban3.84.4安装包,包含(db,ExecutorServer,WebServre)

2021-01-14

ezdml_x.exe

一款创建数据库表之间可视化的工具

2020-12-10

空空如也

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

TA关注的人

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