自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wank1259162的博客

一个爱折腾的程序员

  • 博客(39)
  • 资源 (7)
  • 收藏
  • 关注

原创 什么是数据项,什么是数据元

数据项是数据的最小单位,是不可分割的数据元素。它可以是一个字符、一个数字、一个字段或一个记录的一部分。

2023-12-16 08:45:49 980

原创 数据标准与数据字典的区别和联系

和是在数据管理领域中两个相关但不同的概念。

2023-12-16 08:32:53 329

原创 纬度建模与逻辑建模的关系

纬度建模和逻辑建模是数据建模过程中的两个不同方面,它们关注的焦点和目标有所不同,但在整个数据仓库和分析系统的建设过程中,它们是相互关联的。

2023-12-16 08:31:31 121

原创 Flink Icerberg 离线数仓-项目准备(三)

本节主要是创建模拟数据,包括事实表和维度表,并通过Flink映射为Icerberg数据表,构成DWD层数据。测试数据目录 baswewebsite.log 数据格式member.log 数据格式memberRegtype.log 数据格式pcenter_mem_paymoney.log 数据格式pcenterMemViplevel.log 数据格式项目POM文件文件目录结构1. 拷贝测试数据目录下的文件到/tmp/warehouse

2022-07-04 15:42:54 721 1

原创 Flink Icerberg 离线输仓-维度建模过程(二)

维度建模一般按照以下四个步骤: 选择业务过程→声明粒度→确认维度→确认事实选择业务过程在业务系统中,挑选我们感兴趣的业务线,比如下单业务,支付业务,退款业务,物流业务,一条业务线对应一张事实表。声明粒度数据粒度指数据仓库的数据中保存数据的细化程度或综合程度的级别。 声明粒度意味着精确定义事实表中的一行数据表示什么,应该尽可能选择最小粒度,以此来应各种各样的需求。典型的粒度声明如下:订单事实表中一行数据表示的是一个订单中的一个商品项; 支付事实表中一行数据表示的是一个支付记录。确定维度维度的主要作用是描述业务

2022-07-04 15:07:04 346

原创 Flink Icerberg 离线数仓-维度建模(一)

Apache Iceberg是一种用于大型分析数据集的开放表格,Iceberge向Trino和Spark添加了使用高性能格式的表,就像Sql表一样。Iceberg为了避免出现不变要的一些意外,表结构和组织并不会实际删除,用户也不需要特意了解分区便可进行快速查询。(1)Iceberg的表支持快速添加、删除、更新或重命名操作(2)将分区列进行隐藏,避免用户错误的使用分区和进行极慢的查询。(3)分区列也会随着表数据量或查询模式的变化而自动更新。(4)表可以根据时间进行表快照,方便用户根据时间进行检查更改。(5)提

2022-07-04 13:46:57 609

原创 Flink 写入Apache Arrow

数据格式:arrow 定义了一种在内存中表示tabular data的格式。这种格式特别为数据分析型操作(analytical operation)进行了优化。比如说列式格式(columnar format),能充分利用现代cpu的优势,进行向量化计算(vectorization)。不仅如此,Arrow还定义了IPC格式,序列化内存中的数据,进行网络传输,或者把数据以文件的方式持久化。 开发库:arrow定义的格式是与语言无关的,所以任何语言都能实现Arrow定义的格式。arrow项目为几乎所有的主流编程

2022-06-28 20:34:50 749 1

原创 Flink 通过批量和CDC两种方式读取MySQL数据入Iceberg

Flink JDBC 连接器允许使用 JDBC 驱动程序从任何关系数据库读取数据并将数据写入其中。本文档介绍如何设置 JDBC 连接器以针对关系数据库运行 SQL 查询。如果在 DDL 上定义了主键,则 JDBC sink 以 upsert 模式与外部系统交换 UPDATE/DELETE 消息,否则,它以 append 模式运行,不支持消费 UPDATE/DELETE 消息。测试代码代码说明1、hadoop catalog创建创建脚本,warehouse的路径,它会自动创建HDFS路

2022-06-28 09:30:48 3000

原创 JVM吞吐量与延迟关系

堆内存增大,GC一次能处理的数量变大,吞吐量大;但是GC一次的时间会变长,导致后面排队的线程等待时间变长;向反,如果堆内存小,GC一次时间短,排队等待的线程等待时间变短,延迟减少,但一次请求的数量变小。一、吞吐量与响应时间 吞吐量 = CPU在用户应用程序运行的时间 / (CPU在用户应用程序运行的时间 + CPU垃圾回收的时间) FULL GC,串行垃圾回收会使用应用停顿,响应用户时间长二、垃圾回收器算法比较 串行回收算法:会停止当前应用进程,回收垃圾,停顿时间久,吞吐量大,响应时间长 并行回收算法: 是

2022-06-25 10:00:23 1576

原创 Java8的默认GC参数

cmd命令行查看Java8的GC:结果如下:结果分析:由结果可以看出Java8的GC情况是:-XX:+UseParallelGC,即Parallel Scavenge(新生代) + Parallel Old(老生代),实际上几个主流Java版本的GC情况如下:jdk1.7 默认垃圾收集器Parallel Scavenge(新生代【标记-复制算法】)+Parallel Old(老年代【标记整理算法】) jdk1.8 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Ol

2022-06-25 09:45:48 1785

原创 ZooKeeper 的基本概念

在ZooKeeper 中没有沿用传统的Master/Slave 概念, 而是引入了Leader 、Followe和observer 三个角色。ZooKeeper 集群中的所有机器通过一个Leader 选举过程来选定一台被称为“ Leader” 的机器, Leader 服务器为客户端提供读和写服务。除Leader 外, 其他机器包括Follower 和Observer 。Follower 和Observer 都能够提供读服务, 唯一的区别在于, Observer 机器不参与Leader 选举过程, 也不参与写

2022-06-25 09:38:19 300

原创 Flink 读写MySQL数据(DataStream和Table API)

Flink提供了基于JDBC的方式,可以将读取到的数据写入到MySQL中;本文通过两种方式将数据下入到MySQL数据库,其他的基于JDBC的数据库类似,另外,Table API方式的Catalog指定为Hive Catalog方式,持久化DDL操作。Maven依赖,包含了Hive Catalog的相关依赖 DataStream方式读写MySQL数据Table API的方式读写MySQL,其中Flink的Catalog使用Hive Catalog的方式MySQL中的数据..........

2022-06-24 11:24:55 8176 4

原创 Apache Ignite 使用SQL模式

Ignite 带有符合 ANSI-99、水平可扩展和容错的分布式 SQL 数据库。根据用例,通过跨集群节点对数据进行分区或完全复制来提供分布。作为 SQL 数据库,Ignite 支持所有 DML 命令,包括 SELECT、UPDATE、INSERT 和 DELETE 查询,并且还实现了与分布式系统相关的 DDL 命令子集。您可以通过连接来自外部工具和应用程序的JDBC或ODBC驱动程序与 Ignite 进行交互,就像与任何其他启用了 SQL 的存储一样。Java、.NET 和 C++ 开发人员可以利用本机

2022-06-22 16:46:34 1243

原创 Apache Ignite 作为 MySql的加速层

可以将 Ignite 用作现有数据库(例如 RDBMS 或 NoSQL 数据库,例如 Apache Cassandra 或 MongoDB)之上的缓存层。这个用例通过使用内存处理来加速底层数据库。Ignite 提供与 Apache Cassandra 的开箱即用集成。对于其他没有现成集成的 NoSQL 数据库,您可以提供自己的CacheStore接口实现。可以使用外部存储的两个主要用例包括:现有数据库的缓存层。在这种情况下,您可以通过将数据加载到内存中来提高处理速度。您还可以将 SQL 支持引入没有它的数据

2022-06-22 16:19:28 1369

原创 Apache Ignite 集群安装

本文使用版本为 默认安装 版本即可,解压安装包,在集群每台主机上的 目录下增加 配置文件如下:通过bin/ignite.sh启动服务,一般Ignite有服务发现机制,无论有多少个节点,都可以只配置如上面配置的集群中的3个IP就可以,这个三个节点需要提前启动,其他新加入的节点,会通过这三个节点,路由到集群中的其他机器。通过集群API查看集群的状态。缓存读写通过客户端API创建缓存,读写数据...............

2022-06-22 14:44:43 1338

原创 Apache Ignite 与Redis的兼容性

Apache Ignite服务端可以兼容Redis Java客户端协议,可以使用Redis客户端像操作redis一样操作。此处相当于把Apache Ignite当作Redis服务端使用,ignite需要初始化一个redis-ignite-internal-cache-0缓存,作为默认的存储。并且绑定6379供r......

2022-06-22 14:21:36 574

原创 Apache Ignite 基本概念

简单说Apache Ignite是为开发人员提供了实时处理大数据和内存计算的方便易用的解决方案:提供的主要功能如下所示:Elasticity 弹性:集群可以通过添加节点进行水平扩展;Persistence 持久性:数据网格可以将缓存中的数据持久化到关系型数据库中,甚至是NoSQL数据库中,例如MongoDB或Cassandra;Cache as a Service(CaaS) 缓存即服务:允许跨组织、多应用去访问管理内存缓存而不是慢速的基于磁盘读写的数据库;2nd Level Cache 二级缓存:可以作为

2022-06-22 14:02:29 671

原创 HBase shell 字节类型转换

简介JRuby是纯java实现的ruby语言。JRuby使用ruby语法开发。不仅可以使用ruby类库,同时也可以使用java基础类库和第三方jar包。hbase的交互式命令行是通过jruby实现的,当我们输入hbase shell时,实际上最终执行的是org.jruby.Main,并以bin/hirb.rb作为参数,注意是根目录下bin目录中的hirb.rb,而不是hbase-shell中的irb/hirb.rb; 这个类来自jruby的包,作用是把ruby编写的代码转换成java字节码,进而能够

2022-01-18 14:18:20 3209

原创 Kerberos常见问题

Error Messages to Fear参考地址:Introduction · Hadoop and Kerberos: The Madness Beyond the GateSecurity error messages appear to take pride in providing limited information. In particular, they are usually some generic IOException wrapping a generic securit

2022-01-11 18:05:24 14176

原创 Apache Ranger KMS 部署文档

创建库create database rangerkms;alter database rangerkms character set latin1; create user 'rangerkms'@'%' identified by '1q2w3eROOT!';GRANT ALL PRIVILEGES ON rangerkms.* TO 'rangerkms'@'%' IDENTIFIED BY '1q2w3eROOT!';flush privileges;解压,修改配置文件tar

2022-01-11 17:59:13 1344 4

原创 Apache Hadoop KMS 部署

名词解释DEK: data encryption keyEDEKs: encrypted data encryption keysEEK: encrypted encryption keys介绍KMS是hadoop自带的组件,只要安装了hadoop,KMS相关的东西就都有了,只要简单配置 并启动就可以使用了。KMS performs three basic responsibilities: Providing access to stored encryption zone

2022-01-11 17:50:40 1287 8

原创 nginx 反向代理proxy_pass 后加斜杠和不加斜杆的区别

ngix的斜杠会根据不同的代理地址,代理规则有所不同第一种,只有域名+端口的方式server { listen 443 ssl; location /app/ { proxy_pass http://server1:8191; }}--这两种匹配对/app/v1这个路径等效server { listen 443 ssl; location /app { proxy_pass http://server1:8..

2022-01-11 17:35:24 2322

原创 MPP架构和批处理

目录数据库构架MPP和批处理MPP概念MPP的设计缺陷将MPP和Batch进行结合MPP例子Hadoop解决的问题MPP和Hadoop的区别小结数据库构架数据库构架设计中主要有Shared Everthting、Shared Nothing、和Shared Disk:Shared Everthting:一般是针对单个主机,完全透明共享CPU/MEMORY/IO,并行处理能力是最差的,典型的代表SQLServerShared Disk:各个处理单元使用...

2020-11-16 13:23:16 1094

原创 Etcher 系统刷写工具使用指南

Etcher 是利用Web技术构建的、功能强大的OS映像刷写工具,。它可以防止意外写入硬盘驱动器,确保正确写入每个字节的数据以及更多内容。它还可以直接刷新支持usbboot协议的Raspberry Pi设备,并且支持多种操作系统。Linux(大多数发行版) macOS 10.10(Yosemite)及更高版本 Microsoft Windows 7及更高版本安装基于Debian和Ub...

2020-11-10 09:22:27 2867

原创 Java中的堆栈与栈上分配

目录一、引言二、内存堆与内存栈2.1 内存的分类标准--五分类2.2 内存的分类标准——另一种五分类2.3 栈的特性2.4 堆的特性三、栈上分配3.1 为什么需要栈上分配3.2 什么是栈上分配3.3 栈上分配如何开启四、TLAB4.1 为什么需要TLAB4.2 什么是TLAB4.3 如何开启TLAB4.4 总结一、引言我们知道,一般在java程序中,new的对象是分配在堆空间中的,但是实际的情况是,大部分的new对象会进入堆空间中,而.

2020-11-09 15:34:10 783

原创 基于RDMS的OLAP的数据模式

目录一、前言二、使用选择2.1 数据优化2.2 业务模型2.3 性能2.4 ETL三、总结一、前言根据存储数据的方式不同,OLAP可以分为关系型OLAP(Relation OLAP)、多维OLAP和混合型OLAP。RLOLAP表示基于关系型数据库的OLAP实现。以数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表,一类是事实表,原来存储数据和关键字;另一类是维表,即对每个纬度至少用一个表来存储维的层次和成员类别等维的描述信息。

2020-11-09 14:49:47 210

原创 Tez:运行在YARN上的DAG计算框架

Tez 产生背景与定位在开源界,当前最广泛使用的计算模型是 MapReduce,该模型将计算过程抽象成 Map 和 Reduce 两个阶段,并通过 shuffle 机制将两个阶段连接起来。但在一些应用场景中,为了套用 MapReduce 模型解决问题,不得不将问题分解成若干个有依赖关系的子问题,每个子问题对应一个 MapReduce 作业,最终所有这些作业形成一个有向图(DAG,Directed Acyclic Graph),在该 DAG 中,由于每个节点是一个 MapReduce 作业,因此它..

2020-11-09 14:07:33 1472

原创 HBase Schema设计简介

原文HBase与传统的关系数据库(如MySQL、PostgreSQL,Oracle等)非常不同,它的架构和提供给HBase的功能使用它的应用程序。 HBase权衡了其中一些功能,以实现可扩展性和灵活的架构。 这也意味着HBase的数据非常不同模型。 与关系型相比,设计HBase表是一种不同的方式数据库系统。基本概念Table:HBase将数据组织到表中。 表名是字符串,由可在文件系统路径中...

2020-03-24 15:53:35 1334

原创 Hbase 解析(四) 布隆过滤器(BloomFilter)

Hbase布隆过滤器

2020-03-20 16:27:28 1318

原创 Hbase解析之一文搞懂协处理器

Hbase解析之一文搞懂协处理器1. 简介2. 协处理的分类2. 1 endpoint方式2. 2 observe方式3. 协处理的加载方式3.1 Master加载方式3.2 Region协处理加载方式1. 简介hbase协处理器通过实现Coprocessor接口,实现一个协处理。其中包括RegionServerCoprocessor、RegionServerCoprocessor、WALC...

2020-03-20 14:30:15 605

原创 比文件系统读写还快的SQl数据库- SQLite

SQLite reads and writes small blobs (for example, thumbnail images)35% faster¹than the same blobs can be read from or written to individual files on disk using fread() or fwrite().

2020-03-18 17:10:40 2648 2

原创 SQLite之 JDBC入门

SQLite是一种C语言库,实现了一个 小型, 快速, 自包含, 高可靠性, 功能齐全的 SQL数据库引擎。本身不提供java接口,如果需要通过java连接SQLite数据库,则需要SQLite JDBC驱动程序,来充当媒介。由Taro L. Saito开发的SQLite JDBC驱动程序是Zentus SQLite JDBC驱动程序的扩展,使Java能够访问SQLite数据库文件。Xeria...

2020-03-18 16:51:35 8270 1

原创 Hbase 解析(三) 查询优化

1.背景Hbase 作为大数据存储的佼佼者,在数据查询方式有很大的优势,如何能更快的数据查询,一直是用户的需求。hbse程序操作都是客户端通过scan操作来执行,通过设置合理的参数,就可以实现查询。虽然hbse查询默认的参数就可以满足大多数需求,但是,一些用户在使用的时候还是不能很好设置参数,加快查询,常见的问题: 已经设置了filter为什么查询还是那么慢? 已经设置setCac...

2020-03-17 16:53:11 1213

原创 Hbase 解析(二) 一文搞懂Hbase远程调试

1.解压文件通过官网下载编译的或者自己编译好的二进制包Hbase 解析(一) 源码编译,解压缩文件,文件目录应该包含如下文件:其中data和tmp文件夹是自己新建的数据文件夹,稍后有解释-rw-r--r-- 1 wangkai staff 139417 3 5 17:37 CHANGES.md-rw-r--r-- 1 wangkai staff 26...

2020-03-17 14:51:14 345

原创 Mac 内置最强WI-FI抓包工具 Airport

许多Mac OS X用户对Mac缺乏复杂的网络分析工具感到遗憾,这些工具在Linux系统上普遍存在。许多人不知道的是Mac OS X附带了一个内置的命令行工具,可以对Wi-Fi网络进行各种的操作,从数据包捕获(流量监听)到扫描附近网络的信噪比。Airport是Apple 80211专用框架的一部分,该框架用于为Mac的Airport菜单栏图标提供动力。1.帮助文件在不带参数的情况下调...

2020-03-17 11:16:58 5275 4

原创 Hbase 解析(一) 源码编译

x1.源码下载Hbase源码下载建议使用git从GitHub下载源码,自己编译,Hbase官网也有编译好的二进制包,可以直使用。为什么使用GitHub呢?1.GitHub拥有Hbase的所有版本信息2.可以随时切换到不同版本,进行打包编译,比较差异3.定期更新打开GitHubhttps://github.com/apache/hbase,在Releases 标...

2020-03-17 09:19:37 668

原创 Aircrack-Ng 实践之WPA / WPA2 PSK

1. 预共享密钥PSK (Pre-Shared Key,预共享密钥)可用于对通往本地 VPN 网关的 Cloud VPN 隧道进行身份验证。当前广泛实现的有WPA、WPA2两个标准,WPA实现了IEEE 802.11i标准的大部分,是在802.11i完备之前替代WEP的过渡方案。WPA的设计可以用在所有的无线网卡上,但未必能用在第一代的无线接入点上。WPA2具备完整的标准体系,但其不能被应用在...

2020-03-17 08:08:24 1193

原创 Aircrack-ng 1.6版本 Centos7和mac安装

Aircrack-NG是一个完整的工具套件,以评估无线网络的安全性。它着重于WiFi安全的不同领域:监视:数据包捕获并将数据导出到文本文件,以供第三方工具进行进一步处理 攻击:通过数据包注入来重放攻击,取消身份验证,伪造的接入点和其他攻击 测试:检查WiFi卡和驱动程序功能(捕获和注入) 破解:WEP和WPA PSK(WPA 1和2)所有工具都是命令行,可以进行大量脚本编写。许多...

2020-03-15 12:17:07 4088

原创 树莓派3B+安装Android 系统

Android Things 作为 Google 旗下的一款操作系统 (OS),能够帮助开发者规模化开发和维护物联网设备。同时推出的 Android Things 控制台 (Android Things Console) 更是将简化产品开发推向极致,帮助开发者定期获取 Google 最新稳定性修复包以及安全升级包,从而实现从发布、管理到设备更新的无缝连接。Android Things官方最新支持到...

2020-02-06 11:03:36 8568 3

深度学习入门

10分钟看懂深度学习 快速入门 深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。

2017-09-15

AVR单片机原理与GCC编程实践 智能小车的系统开发

AVR单片机原理与GCC编程实践 智能小车的系统开发,详细的介绍了atmega16的使用,和在智能小车上的利用。

2013-09-03

超声波测距51程序

实用的超声波测距程序,51完美测试,包括串口,数码管等

2013-02-17

做dsp之前必须明白的基本问题

做dsp的入门必读,包括各种pcb设计,电源设计,高频设计等所注意的问题

2013-02-17

x-san 扫描利器

一款强大端口扫描利器,可作为安全审计工具

2011-05-15

局域网查看工具 lansee

方便的查看局域网中计算机的状态,网络连接状态

2011-05-15

Linux操作系统下C语言编程入门

linux下的c语言编程,一本入门级的c语言学习书籍

2011-05-04

空空如也

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

TA关注的人

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