自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 前端行为日志技术架构漫谈

前端行为日志技术架构漫谈1. 什么是行为日志2. 行为日志可以解决什么问题2.1商业价值挖掘2.2安全风控检查银行、金融机构需要更详尽的数据来判断一个用户是否有风险,特别是在目前黑产行业猖獗,技术迭代越来越快情况下,很多用户可能都是群控软件操作的机器人用户。安全软件机构,需要通过采集行为数据,判断一个用户的行为和实际遭受的攻击是否是有意还是无意,进而来筛选肉鸡、攻击者等。这个相对更小众,但作用更大,属于互联网的防火墙级别。国内360就有使用各种大数据技术来分析用户的行为日志数据,各类安全机构也

2020-08-31 22:58:06 1515 1

原创 数据结构与算法之布隆过滤器(bloom filter)

数据结构与算法之布隆过滤器(bloom filter)1. 布隆过滤器是什么1970年由布隆提出的一种快速判断数据是否存在的算法。它实际上是由一个很长的二进制向量和一系列随机映射函数组成。简单来说,先建立一个很大的bit数组,然后将数据如字符串通过随机映射函数(简单如hashcode()方法)生成正整数,然后将这个正整数作为index,如果数据存在就将这个index所对应的数组中标记为设置为1,不存在就设置为0. 这样下次查询时,直接将需要查询的数据通过随机映射函数生成一个index,然后查询bit

2020-08-31 21:30:49 292

原创 HBase数据大批量导入方式总结和对比

HBase数据导入1. 背景在实际生产中,海量数据一般都不是直接存储在HBase中,这时候就需要一个数据导入到HBase的步骤上一篇博客讲述了可以通过java api的方式或者shell 客户端方式导入或者创建数据,但这对于实际生产中海量数据导入来说,速度和效率都太慢了,所以我们需要使用其他方式来解决海量输入导入到HBase的问题利用HBase底层文件是HFile形式存储再HDFS中,所以如果能够直接生成HFile的话,这时候再让HBase从HFile中读取数据,就会快很多。2. 批量数据导入

2020-08-30 23:07:11 3477 1

原创 HBase Java api入门代码案例(put、delete、scan、get)

HBase Java api入门代码案例1.背景在HBase的访问方式中,主要划分2种方式,一种是shell命令行,一种就是java api方式。这一点跟很多服务器端框架一样,都是会提供一个命令行客户端和api接口操作shell命令行指令,可以看我的另一篇博文HBase shell2.环境准备Idea2020版本Maven环境3.6.3 Maven安装JDK1.8 JDK安装HBase 2.2.5maven项目的pom文件<properties> &

2020-08-29 20:20:04 1119

原创 HBase shell命令知识总结(二)

HBase shell命令知识总结(二)3.5 工具命令 tools3.5.1 assign,这里需要注意,如已经分配好区,就会强制覆盖处理assign[əˈsaɪn]v. 指派(任务); 给予;3.5.2 balance_switch,负载均衡相关,hbase是一个分布式数据库,数据处理和请求需要分配到不同节点服务器上处理3.5.3 balancer,3.5.4 balancer_enabled,3.5.5 catalogjanitor_enabled,3.5.6

2020-08-29 20:02:22 873 1

原创 HBase shell命令知识总结(三)

HBase shell命令知识总结(三)3.7 数据快照命令 snapshots注意,在很多场景下, 为了可以快速恢复现场和数据,都会有快照功能,大的如操作系统,小的如软件的快照功能3.7.1 clone_snapshot,3.7.2 delete_all_snapshot,3.7.3 delete_snapshot,3.7.4 delete_table_snapshots,3.7.5 list_snapshots,3.7.6 list_table_snapshots,3.7.

2020-08-29 17:54:19 757

原创 HBase shell命令知识总结(一)

HBase shell命令知识总结1. HBase访问方式shell命令行客户端java api本文主要总结关于shell命令行的知识点不知道如何安装Hbase的可以看我另外一篇博文 HBase安装PS:可以横向对比,很多框架特别是运行在服务器端的,都会提供至少2种客户端,命令行客户端和代码api,部分如mysql还会有图形化客户端。针对数据库框架的操作,主要就是查看、DML、DDL、如果比较强大还会有权限、数据备份等操作功能。2. HBase的Shell概览开启客户端PS:

2020-08-29 16:37:35 1309

原创 VI 编辑器指令归纳

VI 编辑器指令归纳1.Vi是什么2.Vi解决了什么问题3.Vi怎么使用4.Vi优缺点5.常见Vi使用问题及解决办法6.Vi增强性配置

2020-08-28 22:18:55 270

原创 HBase 总结之基本结构和内部流程机制

HBase总结之基本概念背景介绍由于互联网发展,由于人和设备运行产生的数据急剧爆发,所需要处理的数据超过传统技术所能处理的极限。所以面对海量数据存储和处理的大数据技术应运而生大数据技术主要处理2个问题,数据存储和数据的处理和分析大数据所需要处理的数据主要分3类,结构化数据、非结构数据、半结构化数据。结构化数据就是存储在各个数据库中的结构化数据典型如mysql中存储的数据;非结构数据如小说文本、图片、视频、音频、ppt、word文档等等;半结构化数据如日志文件HBase就是可以存储海量数据,并且支

2020-08-28 21:43:07 943 1

原创 HBase 2.2.5 安装教程(基于centos7.x)

HBase 安装教程(基于centos7.x)1.版本选择官网地址HBase目前选择相对新版本的2.2.5版本,2020年5月份。在企业开发中,由于整个技术架构中包含各种框架,框架和框架之间往往会有版本依赖问题。所以虽然每个框架的版本都会解决一些历史bug和增强性能或者添加新功能,但企业做版本选择时往往会选择相对稳定和兼容性更佳的版本而不是最新的版本。2. 环境准备linux集群(这里windows10系统上,使用vmware15.x基于centos7.x的linux操作系统版本虚拟出

2020-08-27 23:08:25 1980

原创 磁盘读写机制及其在软件框架中的应用

磁盘读写机制以及应用1. 计算机硬件组成现行计算机结构都是遵循冯诺依曼结构,控制器、计算器、存储器、输入设备、输出设备体现在现实中,主要部件有CPU、内存、硬盘、显卡、主板、电源PS:在其他计算机架构中,不一定遵循冯诺依曼的结构,如量子计算机、生物计算机等等。2.数据存储层级在整个计算机结构中,因为结构原因,数据需要兼顾传输速度和存储容量。而现行结构中,就采用多层存储结构来实现技术和成本的均衡结果。这是多层级计算机数据缓存简图机械硬盘和固态硬盘图示机械硬盘sata接口固态

2020-08-27 21:15:59 282

原创 Clickhouse(五) JDBC基础案例代码

Clickhouse JDBC基础案例代码1.背景Clickhouse作为大数据技术中解决OLAP解决方案之一,在处理结构化数据的存储和查询分析方面比传统方案有100–1000倍及以上差异。个人实际验证对比,同样的数据查询,使用Clickhouse和Hive,有2400倍的时间差距,处理结构化数据时,Hive远远低于Clickhouse的效率。(Hive是Facebook推出的将SQL语句转换为mapreduce代码的框架,所以Hive查询本质是执行mapreduce代码)Clickhouse本质

2020-08-26 22:41:38 2328

原创 Windows10下安装 JDK1.8教程

Windows10安装 JDK1.81.背景作为一名大数据开发,新买的笔记本到了,重新安装各种环境,首先安装的就是java环境了java环境,经常提到就是JDK和JRE,JDK,就是java development kit,java开发工具,里面会包含各种Java程序以及JRE环境。JRE,java runtime environment,java运行时环境,就是JVM虚拟机所在。企业中,目前大部分都是使用JDK8,也就是JDK1.8,少部分使用JDK1.6,以及更新的版本官方Oracle网址h

2020-08-26 22:10:47 1012

原创 ClickHouse(三) 20.5安装流程(基于Centos7.x和Mysql5.7)

ClickHouse 20.5安装流程(基于Centos7.x和Mysql5.7)1.ClickHouse学习概览带着问题学习1.ClickHouse是什么?2.ClickHouse解决了什么问题?3.ClickHouse如何安装?4.ClickHouse如何使用5.ClickHouse注意事项6.ClickHouse优缺点对比2.ClickHouse简介官网按照官网介绍,ClickHouse就是一个开源,高性能的OLAP场景下的数据库管理系统。也就是说,这是一个数据库管理系统

2020-08-26 21:25:31 342

原创 ClickHouse(二)学习之OLAP

ClickHouse学习之OLAP背景在社会发展过程中,随着互联网和移动互联网,未来随着5G对于物联网推动,海量数据的存储和处理遇到的技术挑战会越来越大。这主要来自于数据的量级、产生速度、处理速度、准确率等方面考量。而这些海量数据,从是否结构化来划分,可以分为结构化数据(存储于各类关系型数据库中的结构化数据)、半结构化数据(客户端和服务器端产生的大量日志文件)、非结构化数据(如社交app的图数据、视频、ppt、图片、word、音频等等形式的数据)。而从16年俄罗斯的Yandex公司开源了他们处理结

2020-08-26 17:37:04 1628

原创 SQL 知识点学习汇总,SQL学习这一篇就足够了

SQL学习知识点汇总1.SQL是什么?SQL其实是一种编程语言,用于访问和处理数据库的计算机语言编程语言都有几个特性,有数据类型、可以做运算。编程语言是为了编程而发明,而程序=数据+算法。所以编程语言是一定需要具备数据类型和运算能力的。所以对比而言,html就不是编程语言,因为只有数据类型,而无法做运算。SQL是有数据类型,也可以做运算的。SQL,structural query language,结构化查询语言2.SQL可以做什么?可以访问数据库可以对数据库做增删改查操作(数据创建

2020-08-26 15:46:47 2636

原创 Windwos10 安装MySQL5.7.17教程

Windwos10 安装MySQL5.7.17教程1. 背景作为开源免费,且性能强大的关系型数据库,MySQL被广泛应用于各种企业级生产作为开发者个人,需要保证对技术时时复习和总结,学而时习之2.安装环境windows10MySQL 5.7.17安装包官网下载地址:https://www.mysql.com/社区版下载地址,https://downloads.mysql.com/archives/community/注意mysql是一个开源软件,分为商业版本和社区开源版本,我们

2020-08-25 21:15:06 200

原创 大数据业务模型和技术架构简图

大数据业务模型和技术架构简图1.背景大数据技术随着互联网的发展而兴起于21世纪初,最早遇到海量数据技术问题的是搜索引擎公司,如谷歌数据量级别的暴增是由于2010年之后的互联网兴起,网络用户数量暴涨带来的海量用户数据暴增。对大数据处理的存储成本、量级、处理实时性都提出了更高要求未来随着5G技术发展,物联网势必兴起,万物互联之下,产生的数据会进一步提升,预计是2–3个数量级以上。大数据处理技术会遇到更大挑战。2.业务模型和技术架构简图常规大数据业务模型,最简化如下C/S,客户端服务器模型

2020-08-24 22:06:16 1343

原创 Hive 3.1.2安装(基于Centos7.x和Hadoop3.2.1)

Hive 3.1.2安装(基于Centos7.x和Hadoop3.2.1)背景Hadoop大数据套件被应用后,进行数据处理就必须编写mapreduce代码。而相当一部分大数据处理需求都是进行数据的查询操作(实际数据库的操作中,读写操作比例也有80%:20%的说法)Facebook的工程师也遇到这个问题。编写mapreduce对于程序员还是有一定门槛,但是会使用sql的人群更庞大。所以Facebook就发明了Hive,一个把sql语句转换为mapreduce代码的转换器。不过Hive的使用场景,还是

2020-08-24 20:47:32 2844 4

原创 MapReduce 程序在Yarn上执行流程图

MapReduce 程序在Yarn上执行流程图1.Yarnyarn作为一个资源调度和任务监控平台,上面可以运行各种程序。包括mapreduce、spark、hive、flink等等yarn出现后,也相对缓和了各个大数据分析引擎之间的竞争,都在开发yarn版本。也就是资源调度和任务监控让yarn去处理,各个数据引擎就专注于数据分析即可。2.mapreduce程序在yarn的运行流程整体流程以图片形式展示如果想要了解mapreduce程序如何在yarn上运行,请查看我的另外一篇博客。mapr

2020-08-23 22:41:07 554

原创 Maven 3.6.3带依赖打包

Maven 3.6.3带依赖打包1.不带依赖maven打包在默认的打包中,pom文件中不添加带依赖打包工具,则打出的包不会有依赖的jar包文件使用maven的clean,package指令,打包。jar会在target目录下生成使用解压缩软件打开,如下图2.带依赖打包编译在pom文件中添加build说明,第一个时maven的编译工具,指定jdk版本是8,也可以写为1.8<build> <plugins> <pl

2020-08-23 11:31:01 673

原创 MapReduce 详细流程图总结

MapReduce 详细流程图总结1.mapreduce阶段map阶段shuffle阶段reduce阶段其中shuffle阶段,俗称奇迹发生的地方,主要是做了多次的分区和排序,并且对中间数据做了落地磁盘的处理,确保了数据安全,同时数据能够按照key进行划分,并且按照key排序。2.mapreduce详细流程图3.mapreduce思想总结分布式计算其实就一个思路,如何让程序由多台计算机并行处理程序是由数据+代码组成,这时候顺其自然的,将数据进行划分,将代码流程进行划分。这样每台计算

2020-08-22 23:01:28 1574 1

原创 MapReduce 归并排序利用之高效TopN案例

MapReduce 归并排序利用之高效TopN案例1.MapReduce排序根据mapreduce的内部机制可知,分区和排序贯穿整个过程。maptask的key,value输出到环形缓冲区中,每个maptask的数据从环形缓冲区溢写到临时文件,相同maptask的临时文件合并为一个文件,reduce从maptask产生的文件中针对key进行分组提取。这些排序,默认都是根据key来进行字符串升序排序,也就是ASCII码表的字母顺序升序排序。2.问题当需要对一个很大的分布式文件中数据

2020-08-22 21:30:27 885

原创 MapReduce 之小文件合并(HDFS小文件预处理)

MapReduce 之小文件合并1.HDFS之小文件背景知识HDFS作为分布式文件系统,自身机制原因,每一个数据块(默认128MB一个数据块)都会在namenode节点的元数据中保存一份索引。如果是小文件,例如1MB以下的小文件,由于HDFS本身机制,每个文件都会建立一个索引。这样的小文件过多,会导致namenode的索引文件过大。namenode的索引文件在启动时会加载到namenode的内存中,而内存是有限的。考虑到HDFS是分布式文件系统,里面存储的文件数量会非常大,所以这些小文件单独存放到

2020-08-22 20:27:19 1660

原创 JDBC java代码归纳(类比Zookeeper代码)

JDBC java代码归纳(类比Zookeeper代码)1.初始化的代码在众多框架中,基本都会有命令行客户端和java api提供出来。mysql的访问,提供了三种方式,一种是图形化客户端如navicat,命令行客户端,java api。当然其他编程语言接口也是有提供api的以下就是简单的jdbc代码private static void connectToMySQL() { try { // 1.注册驱动 // DriverMa

2020-08-22 17:41:58 134

原创 HDFS 之Java API归纳(对照Zookeeper的java api)

HDFS 之Java API归纳1. HDFS访问方式HDFS和文件IO、mysql、yarn、zookeeper一样,都同时提供了命令行客户端,java api访问方式mysql、文件IO还有图形化客户端,navicat,图形化操作系统进行文件创建,删除等操作。2. HDFS的java api汇总2.1 封装获取FileSystem对象的代码private static FileSystem getFileSystem() throws URISyntaxException, IOExce

2020-08-22 17:24:06 143

原创 Zookeeper 学习笔记归纳

Zookeeper 学习笔记归纳011.zookeeper是什么?zookeeper是一个分布式协调服务工具,可以提供配置信息、名称、分布式同步、组服务等官网https://zookeeper.apache.org/apache基金下的开源软件当前版本搜索https://mvnrepository.com/search?q=zookeeper这里可以看到3.4.6使用次数较多,不过比较旧。只是研究学习,使用这个版本是足够的,如果是企业使用,采用较新的稳定版本更合适。后续会讲一下企业选择第三方

2020-08-22 16:55:16 247

原创 Linux centos7.x安装zookeeper 3.4.6教程

Linux centos7.x安装zookeeper 3.4.6教程1. 环境准备虚拟机集群,VMWare15.xlinux centos 7.x集群,一般安装4–5台。小技巧,安装好一台之后,使用vmware的镜像克隆技术,克隆多台。克隆之后,修改一下ip地址,hostname等配置即可。确保linux镜像系统中防火墙是关闭的下载zookeeper的linux安装压缩包,版本是3.4.62. 安装zookeeper上传安装包到某一台节点服务器上在app安装目录下解压缩,linux一般

2020-08-21 21:37:02 779

原创 Maven安装教程以及Maven思想和Java以及Linux类比

Maven和Java以及Linux类比1.背景作为java开发,如果不想重复造轮子,就需要引入别人写好的第三方库或者sdk,这些代码一般都是以jar包形式提供。由于java生态环境复杂,jar包和jar包之间往往会有依赖(据说iOS的第三方库会尽量降低对外部第三方库的依赖)。这时候如果想要收到导入jar包到自己的工程,就需要拔出萝卜带出泥一样,把一连串的jar包都导入进来,其中痛苦和滋味,想感受的可以自行感受一下网上到处找jar和编译源码为jar包以及jar包版本间依赖和分析的快乐。如何解决这个问题

2020-08-21 08:46:15 188

原创 MapReduce 数据倾斜以及解决思路

MapReduce 数据倾斜以及解决思路1.小背景在mapreduce的分布式解决框架中,数据处理主要分为2个步骤,map阶段和reduce阶段map阶段主要是数据转换,也就是按照预期把输入的数据进行转换,变为中间数据中间数据再分发给reduce阶段作为输入数据源进行处理。在这个过程中,由于数据本身按照设计的key规则划分时就不均匀,再加上使用默认的分区规则进行对key进行计算时,也有产生数据倾斜的可能(key.hashcode() % numberOfReduceTasks)2.大背景

2020-08-20 23:25:41 1785 1

原创 MapReduce 集群程序之本地windows运行

MapReduce 集群程序之本地windows运行1.环境准备Idea 2020版,如果可以,请支持正版Idea,因为破解版本确实会出现一些奇奇怪怪的bug。正版不会,相信这肯定是偶然现象。创建maven项目1.配置的pom.xml文件中添加以下依赖信息。2.检查Idea中关于maven的设置,主要是maven安装路径,maven的settings.xml文件以及maven本地仓库目录路径。<build> <plugins>

2020-08-20 21:43:16 902

原创 MapReduce 集群程序之Yarn运行

MapReduce 集群程序之上传到Linux运行1. 准备环境Idea,请使用正版。破解版亲测确实会有一些奇怪的bug创建maven项目pom.xml文件中,把相关依赖jar包信息写上。这里是Hadoop 3.2.1版本,不是官方最新,但相对稳定。注意,maven虽然可以自己进行依赖jar包管理,但如果引入的多个jar包本身版本之间不兼容,也是会出问题的。<build> <plugins> <plugin>

2020-08-20 20:55:54 523

原创 Hadoop 3.2.1Yarn虚拟机集群安装配置

Hadoop 3.2.1Yarn虚拟机集群启动配置主要配置2个文件1.yarn-site.xml这个文件位置在hadoop安装目录的etc下,我的目录如下/opt/apps/hadoop-3.2.1/etc/hadoop<!-- resource,manager主节点所在机器 --><property><name>yarn.resourcemanager.hostname</name><value>doit01</value

2020-08-20 11:55:52 851

原创 Hadoop MapReduce入门程序

Hadoop MapReduce入门程序1.数据准备1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.82 i02.c.aliimg.com 24 27 2481 24681 2001363157995052 13826544101 5C-0E-8B-C7-F1-E0:CMCC 120.197.40.4 4 0 264 0 2001363157991076 13926435656 20-10-7A-28-CC-0A:

2020-08-19 20:41:42 131

原创 MapReduce流程简要概括

MapReduce流程简要概括1.分布式计算分布式计算很重要的思想就是,一个问题拆分为多个步骤和多份数据,然后很多台计算机一起处理,最后对这些数据处理结果汇总聚合就是最终结果。我们的程序就是数据加逻辑/算法(代码),而要让多台电脑能够一起参与到问题解决中来,首先需要把数据和代码进行分割,这样让每台计算机都能参与计算与处理。在这个过程中,如何保证各个计算机分到的数据和任务都是相对均衡跟适合的就很考验程序机制了。例如集群中有高配电脑和低配电脑,如何协调,让高配电脑和低配电脑都能分配到适合自己硬件配置

2020-08-19 19:51:08 3419

原创 B站网页视频加速设置

B站网页视频加速设置在2020年8月份,检测有效打开所在b站网页,按下F12,出现调试窗口。选中console,输入以下这行代码,12就是12倍速,一般2–3倍速比较适合观看,再高就不是一般人可以适应的了。document.querySelector('video').playbackRate = 12;...

2020-08-18 16:15:45 1912 1

原创 HDFS原理简图汇总

HDFS原理简图汇总1.HDFS结构简图2.namenode和datanode心跳机制3.namenode元数据更新的checkpoint机制4.hdfs写数据机制5.hdfs读数据机制一图胜千言,把文字转为图形确实可以更进一步对知识做提炼,如有错漏,欢迎大家留言指正。...

2020-08-16 22:26:34 256

原创 Hadoop之HDFS命令行操作归纳

Hadoop之HDFS命令行操作归纳作为一个分布式文件系统,HDFS对外提供了2种访问方式,一种是shell命令,一种是java api接口。当然,2种本质都一样,都是通过配置的hdfs入口进行访问,不过一种包装为shell命令,一种包装为java api的方式。注意需要先配置好环境变量,这样方便在任意目录下都能调用hdfs的命令1.文件查看1.hdfs dfs -ls 路径名(hdfs中的绝对路径)2. hdfs dfs -cat 文件路径名3. hdfs dfs -tail 文件路径名4

2020-08-15 23:06:39 590

原创 Linux环境下HDFS安装

Linux环境下Hadoop集群安装1.安装环境VMWare15.xcentos7.xhadoop 3.2.12.第一台虚拟机基础配置2.1 先安装好一台linux虚拟机,并且设置好宿主windows的ip地址,VMWare中虚拟交换机的地址(宿主windows和虚拟交换机的ip地址必须同一网段,并且宿主windows的网关ip需要设置为虚拟交换机的ip地址)。2.2设置好这台虚拟linux的配置,包括主机名(/etc/hosname)、ip地址/网关/子网掩码/DNS1等信息(/et

2020-08-15 22:17:38 2976

原创 linux centos7.x安装mysql

linux centos7.x安装mysql1 yum -y install wget2 wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm这一步由于国内网络,很可能失败。这里的链接就是mysql对应版本的链接,可以修改,按需要安装哪个版本就用对应链接即可。3 yum -y install mysql57-community-release-el7-10.noarch.rpm4 yum

2020-08-15 16:08:39 397

azkaban 2.5.0安装包

Azkaban是一个任务调度、管理系统,可以帮用户管理、调度各种运算任务! (可以调任何任务,只要你的任务能用脚本启动) Azkaban类似的产品还有很多,比如oozie,airflow

2020-10-19

计算机软硬件概述.xmind

个人对计算机知识的简单概述梳理和汇总,针对计算机硬件软件、操作系统等角度的汇总梳理。不一定完全客观,但可以作为一个学习参考

2020-06-20

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

TA关注的人

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