- 博客(113)
- 资源 (2)
- 收藏
- 关注
原创 Hbase之phoenix的介绍与使用
目录一、phoenix的简介二、phoenix的安装与基本操作Phoenix Shell操作表的映射视图映射表映射数字类型JDBC操作Phoenix二级索引全局索引包含索引本地索引(localindex)一、phoenix的简介Phoenix是HBase的开源SQL皮肤。可以使用标准JDBC API代替HBase客户端API来创建表,插入数据和查询HBase数据。1)容易集成:如Spark,Hive,Pig...
2022-01-05 21:02:36
7999
原创 Hbase之基础优化
1.内存优化HBase操作过程中需要大量的内存开销,毕竟Table是可以缓存在内存中的,但是不建议分配非常大的堆内存,因为GC过程持续太久会导致RegionServer处于长期不可用状态,一般16~36G内存就可以了,如果因为框架占用内存过高导致系统内存不足,框架一样会被系统服务拖死。2.Zookeeper会话超时时间hbase-site.xml属性:zookeeper.session.timeout解释:默认值为90000...
2022-01-05 16:40:03
95
转载 Hbase之RowKey设计
1.什么是RowkeyRowKey是Hbase中一行数据的记录,Hbase通常通过get(得到特定rowkey的一行的数据),scan(通过startRow和stopRow确定范围来检索),全表扫描的方式检索数据。2.rowkey在Region中的作用当大量请求访问HBase集群的一个或少数几个节点,造成少数RegionServer的读写请求过多、负载过大,而其他RegionServer负载却很小,这样就造成热点现象。大量访问会使热点。Region所在的主机负载过...
2022-01-05 16:35:29
1091
原创 Hbase之预分区
一、预分区设置创建表时,只有一个分区region,当该分区达到一定的值时,会进行分区,此时分区会影响Hbase的性能。而且每一个region维护着startRowKey与endRowKey,如果加入的数据符合某个region维护的rowKey范围,则该数据交给这个region维护。因此可以添加预分区。1.手动设定预分区create 'group','info',SPLITS =>['10','20','30','40']2.生成16进制序列预分区crea...
2022-01-05 16:12:15
5134
原创 HbaseAPI操作之DDL与DML
一、导入依赖<dependencies> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>2.0.5</version> <exclusions> <e
2022-01-04 19:05:26
642
原创 Hbase架构与流程详解
一、Region Server结构: 一个region server可以服务于多个region 每个region server有多个store、一个wal、一个block cache 一个store对应一个列族,包含memstore和storefile1)StoreFile保存实际数据的物理文件,StoreFile以Hfile的形式存储在HDFS上。每个Store会有一个或多个StoreFile(HFile),数据在每个...
2022-01-03 22:18:15
175
原创 二分查找的简介以及java实现
二分查找是一个应用十分广泛的查找方法。如下图所示首先需要确定数列中第一位left和最后一位right,根据(left+right)/2得到一个mid值,将第mid的数与需要查找的数n进行比较。如果n大于第mid这个数,就从mid右侧的数中接着进行查找,以此类推,直到找到需要查找的数。如图所示,我们先将left=1,right=8,mid=4,此时第mid的数为8,我们需要查找的数n为10,10>8,因此去8的右侧进行查找,并在第三轮成功查到。代码public cl...
2021-12-31 16:29:14
276
原创 Hbase的安装与shell操作介绍
1.安装前准备启动hadoop集群和zookeeper集群bin/zkServer.sh startsbin/start-dfs.shsbin/start-yarn.sh2.下载安装包地址:Index of /dist/hbase注意选择合适的版本下载安装3.配置环境变量#HBASE_HOMEexport HBASE_HOME=/opt/module/hbaseexport PATH=$PATH:$HBASE_HOME/bin4.修改hbase中hbase-env.
2021-12-31 13:46:57
239
原创 Hbase简介
目录一、Hbase是什么二、Hbase的数据模型逻辑结构物理存储结构数据关键字介绍基本架构一、Hbase是什么HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库,是Apache的Hadoop项目的子项目,是一个适合于非结构化数据存储的数据库。二、Hbase的数据模型HBase的底层物理存储结构是(KV),是一个多维映射(multi-dimensional map)。逻辑结构物理存储结构数据关键...
2021-12-31 11:41:34
1010
原创 归并排序的思路与java实现
归并排序通俗来说就是分和治两个过程。首先将一组无序的数组平均分为两个数组,然后再分,一直分到只剩下两个数为止。然后到了治阶段,拿4 5 7 8与1 2 3 6作举例,即先比较4和1的大小,发现4大于1,那么将1放入到最后的数组中。再将4和2比较,4仍大于2,将2放入数组中。将4和3比较,将3放入数组中。将4与6比较,发现4小于6,那么将4放入数组中,直到所有的数都放入到数组中即可。public class guiBing { public stati...
2021-12-30 15:41:10
292
原创 快速排序的思路与java实现
快速排序是一个效率较高的排序方法,其具体实现如下所示。将左边第一个元素当做key,即key=15,首先将key从右边开始向左查找,找到第一个小于key的值,即为8,此时j的值为8的索引值3。然后让key从左边第一个数开始向右边开始查找,找到第一个大于key的数停止,一直找到了8,此时i的值也为3,i=j,因此将15与8交换位置。此时在索引3的位置左边和右边同时再进行一轮刚才的流程。以此类推,一直排到有序为止。public class kuaiSu { public s...
2021-12-30 15:32:01
94
原创 选择排序的思路与java实现
选择排序是一种相对比较简单直观的排序方法。主要思想就是每轮都选出一个最小或最大的元素,将其放置在当前轮的首位。例:2,6,3,8,1第一步:将2,6,3,8,1做比较,选出最小的为1,与首位元素2交换,放置第一位。1,6,3,8,2第二步:从6,3,8,2中选出最小的,放置到当前的第一位。1,2,3,8,6以此类推实现代码时可通过设置一个索引来代表当前最小或者最大的元素public class xuanZe { public static void main...
2021-12-30 14:18:43
319
原创 冒泡排序思路与java实现
冒泡排序简单地说,就是将数组中所有的数依次比较,每一轮都把选出的最大的数放到最后,经过一定轮次得到最终的结果。例子:5 9 6 7 1 3第一轮:5 9 6 7 1 35与9比,小于9,不用交换。5 9 6 7 1 39与6比,大于6,交换。 5 6 9 7 1 39与7比,大于7,交换。 5 6 7 9 1 39与1比,大于1,交换。 5 6 7 1 9 39与3比,大于3,交换。 ...
2021-12-30 11:55:27
311
原创 Kafka之kafka-eagle监控
kafka-eagle是一个界面优美的监控网址,那么该如何配置?1.修改/opt/module/kafka/bin/kafka-server-start.sh命令,并分发到集群的其他服务器上if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"fi为if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-s
2021-12-29 20:20:23
755
1
原创 Zookeeper与Kafka
Zookeeper在kafka中发挥了重大的作用,kafka在zookeeper中存储的内容如下所示:Kafka集群中有一个broker会被选举为Controller,负责管理集群broker的上下线,所有topic的分区副本分配和leader选举等工作。Controller的管理工作都是依赖于Zookeeper的。...
2021-12-29 19:43:43
664
原创 Kafka之消费者
一、消费者的工作方式一般有两种模式,分别为push和pull,消费者采用pull模式从broker中读取数据。push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由broker决定的。它的目标是尽可能以最快速度传递消息,但是这样很容易造成consumer来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而pull模式则可以根据consumer的消费能力以适当的速率消费消息。pull(拉)模式不足之处是,如果kafka没有数据,消费者...
2021-12-29 19:35:16
171
原创 Kafka之生产者
目录一、生产者工作流程二、异步发送API三、同步发送API四、分区策略五、分区器六、如何保证数据的可靠性七、 ExactlyOnce八、producer事务一、生产者工作流程Kafka的Producer发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main线程和Sender线程,以及一个线程共享变量——RecordAccumulator。main线程将消息发送给RecordAccumulator,Sender线程不断从Re...
2021-12-29 19:01:28
69
原创 Hive之例题
1.统计视频观看数Top10select videoId, rank()over(order by views desc)from gulivideo_orclimit 10+--------------+----------------+| videoid | rank_window_0 |+--------------+----------------+| dMH0bHeiRNg | 1 || 0XxI-hvPRRA | 2 .
2021-12-28 22:49:25
441
原创 Kafka流程与存储简介
流程简述Kafka中消息是以topic进行分类的,生产者生产消息,消费者消费消息,都是面向topic的。一个topic下的每一个分区都单独维护自己的offset,所以分发到不同分区中的数据是不同的数据。消费者的分区维护是一个消费者组一个主题的一个分区维护一个offset。topic是逻辑上的概念,而partition是物理上的概念,每个partition对应于一个log文件,该log文件中存储的就是producer生产的数据。Produc...
2021-12-28 16:18:18
103
原创 Kafka概述与安装
目录一、kafka简介二、消息队列 为什么要使用消息队列消息队列的两种模式三、Kafka架构四、安装部署五、kfaka简单操作语句一、kafka简介 不同时期Kafka的应用场景也不同,在传统使用中,Kafka是一个分布式的基于发布/订阅模式的消息队列(MessageQueue),主要应用于大数据实时处理领域。然而在 如今Kafka被定义是一个开源的分布式事件流平台(event streaming platform),被数千家公司用于高性能数据...
2021-12-28 16:00:21
165
原创 Flume之项目实战
目录一、多路复用及拦截器的使用二、复制三、聚合一、多路复用及拦截器的使用需求:使用Flume采集服务器本地日志,需要按照日志类型的不同,将不同种类的日志发往不同的分析系统。(区分数字和字母,将其发往不同的系统) 一台服务器产生的日志类型可能有很多种,不同类型的日志可能需要发送到不同的分析系统。此时会用到Flume的channelselecter中的Multiplexing结构,Multiplexing的原理是,根据event中Header的某个key的值...
2021-12-27 21:08:10
782
原创 Flume之事务
put事务: doPut:将批数据先写入临时缓冲区putList doCommit:检查channel内存队列是否足够合并 doRollback:channel内存队列空间不足回滚数据Take事务: doTake:将数据取到临时缓冲器takeList,并将数据发送到HDFS doCommit:如果数据全部发送成功,则清除临时缓冲区takeList doRollback:数据发送过程中如果出现...
2021-12-27 20:38:02
247
原创 Flume之数据流监控
目录一、Ganglia的安装与部署二、操作一、Ganglia的安装与部署Ganglia由gmond、gmetad和gweb三部分组成。gmond(Ganglia Monitoring Daemon)是一种轻量级服务,安装在每台需要收集指标数据的节点主机上。使用gmond,你可以很容易收集很多系统指标数据,如CPU、内存、磁盘、网络和活跃进程的数据等。gmetad(Ganglia Meta Daemon)整合所有信息,并将其以RRD格式存...
2021-12-27 20:19:36
175
原创 Flume的概述与入门
一、概述 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。并于2009 年被捐赠给了apache 软件基金会,是hadoop的一个相关组件。Flume基于流式架构,灵活简单。那么为什么使用Flume 1.HDFS最怕的就是小文件过多,如果直接从磁盘文件夹读取,会产生大量的小文件 2.二、Flume的架构1. AgentAgent主要有3个部分...
2021-12-27 19:13:03
598
原创 Hive介绍之简易优化
一、抓取抓取(Fetch):表示Hive在某些查询情况下不需要进行MR操作,可以通过简单的读取对应的表输出到控制台。 命令:hive.fetch.task.conversion模式: 0. none : disable hive.fetch.task.conversion 1. minimal : SELECT STAR, FILTER on partition columns, LIMIT only 2. more ...
2021-12-26 17:09:55
173
原创 Hive之压缩和存储
目录1.如何开启Map输出阶段压缩2.如何开启Reduce输出阶段压缩3.文件存储格式TextFile格式Orc格式Parquet格式实验总结1.如何开启Map输出阶段压缩开启map输出阶段压缩可以减少job中map和Reduce task间数据传输量。具体配置如下:(1)开启hive中间传输数据压缩功能(hive本身也希望自己控制下压缩) set hive.exec.compress.intermediate=true;(2)开启mapreduce中m
2021-12-24 19:16:28
97
原创 Hive之函数
一、系统内置函数日期类unix_timestamp:返回指定时间的时间戳select unix_timestamp('2021-12-23 12-51-25','yyyy-MM-dd HH-mm-ss');from_unixtime:将时间戳转化为具体时间 select from_unixtime(1640263885);current_date:当前日期 select current_date;current_timestamp:当前的日期加时间带毫秒to_date:抽取日期部分 sel
2021-12-24 18:52:20
805
原创 影响力最大化——最常用的模型IC和LT模型以及python实现
一、IC模型(独立级联模型)红色为处于激活态的种子节点,每条边都有一个传播概率p,激活的节点会以p的概率去激活邻居节点,一个节点有且只有一次机会去激活另一个节点,如果失败,则不再去尝试激活这个节点。def preprocess(G): p = 0 directedGraph = nx.DiGraph() for u in G.nodes(): for v in G.neighbors(u): if (v != u)...
2021-12-23 11:59:51
6531
4
原创 影响力最大化算法——degreediscount以及python实现代码
一、简介 degreediscount算法即度折扣算法,是一个基于节点度的启发式算法度折扣算法的基本思想是:假设节点j是节点i的邻居,如果j已被选为种子节点,那么在基于度中心性指标考虑节点i是否作为种子节点时,应该对连边(i,j)打折扣,因为i对j不能产生额外的影响。假设所有边的激活概率都相同,均为β。当节点i的邻居中有si个激活种子时,被激活的概率为1-(1-β)的si的次方,此时i节点能被邻居节点激活,其期望影响力与直接将i节点选为种子节点的期望影响力相同,...
2021-12-23 11:46:29
3349
10
原创 Hive之分区表和分桶表
目录一、分区表1.分区表的基本操作2.创建二级分区数据修复3.动态分区二、分桶表一、分区表Hive中的分区表就是分目录,分区表对应的就是HDFS文件系统上的独立的文件夹,分区就是把一个大的数据根据某些条件分成几个小的数据集。1.分区表的基本操作//创建一个分区表,注意day作为分区字段不能存在于表中create table dept_partition(deptno int, dname string, loc string)partitio...
2021-12-23 11:10:59
1634
原创 Hive之查询操作
目录一、查询总述select执行顺序二、基本查询重命名算术运算符常用函数Limit语句Where语句比较运算符Like和RLike逻辑运算符三、分组查询Group By语句Having语句四、Join语句等值Join内连接左外连接右外连接满外连接多表连接笛卡尔积五、排序全局排序(Order By)重命名排序多个列排序每个Reduce内部排序(Sort By)分区distribute by分区排
2021-12-22 20:51:56
2017
原创 Hive之DDL、DML数据操作
目录一、DDL(Data Definition Language 数据库定义语言)1.创建数据库2.查询数据库3.修改数据库4.删除数据库5.创建表管理表(内部表)外部表两个表的相互转换修改表删除表清除表二、DML数据操作1.数据导入向表中装载数据(Load)通过查询语句向表中插入数据(Insert)查询语句中创建表并加载数据(As Select)创建表时通过Location指定加载数据路径Import数据到指定Hive表中2.
2021-12-22 19:20:50
944
原创 Hive的基本数据类型和集合数据类型以及类型的转换
目录一、基本数据类型二、集合数据类型实例三、类型转换一、基本数据类型 HIVE MySQL JAVA 长度 例子 TINYINT TINYINT byte 1byte有符号整数 2 SMALINT SMALINT sho
2021-12-22 18:14:21
560
原创 Hive和数据库的区别
Hive和数据库比较由于Hive采用了类似SQL的查询语言HQL(Hive Query Language),因此很容易将Hive理解为数据库。其实从结构上来看,Hive和数据库除了拥有类似的查询语言,再无类似之处。本文将从多个方面来阐述Hive和数据库的差异。数据库可以用在Online的应用中,但是Hive是为数据仓库而设计的,清楚这一点,有助于从应用角度理解Hive的特性。查询语言由于SQL被广泛的应用在数据仓库中,因此,专门针对Hi...
2021-12-21 19:57:21
183
原创 Hive基本概念和安装
目录一、Hive的基本概念1.Hive简介2.Hive的优缺点3.Hive架构原理工作机制:二、Hive安装1.安装地址2.安装部署3.mySQL安装4.Hive元数据配置到MySql配置Metastore到MySQL5.使用元数据服务的方式访问Hive6.使用JDBC方式访问Hive7.Hive常用交互命令8.Hive其他命令操作9.Hive常见属性配置Hive运行日志信息配置:Hive启动jvm堆内存设置一、Hive的基本概念
2021-12-21 19:55:13
218
原创 ZooKeeper的介绍与安装应用
Zookeeper基础知识与基本应用一、zookeeper简介1.概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。 Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生了变化,Zookeeper就负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。Zookeeper是一个基于观察者模式设计的分布式...
2021-12-21 18:39:01
229
原创 Hadoop之HA高可用
目录一、什么是HA高可用二、集群搭建三、HDFS-HA手动模式 四、HDFS-HA自动模式五、YARN-HA配置一、什么是HA高可用(1)所谓HA(High Availablity),即高可用(7*24小时不中断服务)。(2)实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。(3)NameNode主要在以下两个方面影响HDFS集群NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启 N...
2021-12-20 21:25:36
383
原创 影响力最大化与优化算法结合—Influence maximization in social networks based on discreteparticle swarm optimization
文章名称:《Influence maximization in social networks based on discreteparticle swarm optimization》中文翻译——《基于离散粒子群优化的社交网络影响最大化算法》一、目的 解决影响力最大化问题最经常采用的就是传统的贪心算法,但是贪心算法十分耗时,本文将粒子群优化算法与影响力最大化算法结合,提出了一个基于离散粒子群优化的社交网络影响最大化算法来高效地解决影响力最大化问题。二、本文创新点 ...
2021-12-17 20:56:08
1151
原创 Hadoop之纠删码
纠删码是hadoop3.x新加入的功能,之前的HDFS都是采用副本方式容错,默认情况下,一个文件有3个副本,可以容忍任意2个副本(datanode)不可用,这样提高了数据的可用性,但也带来了2倍的冗余开销。例如3TB的空间,只能存储1TB的有效数据。而纠删码则可以在同等可用性的情况下,节省更多的空间,以RS-6-3-1024K这种纠删码策略为例子,6份原始数据,编码后生成3份校验数据,一共9份数据,只要最终有6份数据存在,就可以得到原始数据,它可以容忍任意3份数据不可用。1.查看当前支持...
2021-12-17 20:23:43
881
原创 Hadoop新特性
Hadoop2.x新特性1.集群间数据拷贝1)scp实现两个远程主机之间的文件复制scp -r hello.txt root@hadoop103:/user/atguigu/hello.txt // 推 pushscp -r root@hadoop103:/user/atguigu/hello.txt hello.txt // 拉 pullscp -r root@hadoop103:/user/atguigu/hell...
2021-12-17 20:11:47
76
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅