大数据
文章平均质量分 65
M_Ene
这个作者很懒,什么都没留下…
展开
-
Scala学习之函数式编程
面向对象编程解决问题,分解对象,行为,属性,然后通过对象的关系以及行为的调用来解决问题对象:用户行为:登录、连击JDBC、读取数据库属性:用户名、密码Scala语言是一个完全面向对象编程语言,万物皆对象对象的本质:对数据和行为的一个封装函数式编程解决问题时,酱问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。例如:请求->用户名、密码->连接JDBC->读取数据库Scala语言是一个完全函数式编程语言,万物皆函数。函数的本..原创 2021-06-18 19:27:35 · 233 阅读 · 0 评论 -
Scala学习之流程控制
分支控制 if-else基本语法单分支双分支多分支嵌套分支package com.gm.chapter03import scala.io.StdIn/** * @Author: Gm * @Date: 2021/6/16 10:13 */object TestIfElse { def main(args: Array[String]): Unit = { println("请输入大哥的年龄:") val age = StdIn.原创 2021-06-18 18:41:09 · 116 阅读 · 0 评论 -
Scala学习之运算符
算术运算符基本语法对于除号"/",他的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。对于一个数取模a%b,和Java的取模规则一样package com.gm.chapter02/** * @Author: Gm * @Date: 2021/6/17 9:33 */object TestOperator { def main(args: Array[String]): Unit = { //对于除号“/”,他的整数除和小数除是有区别的原创 2021-06-17 16:22:09 · 171 阅读 · 0 评论 -
Scala学习之变量和数据类型
注释Scala注释使用和Java完全一样。注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。基本语法(1)单行注释://(2)多行注释:/* */(3)文档注释:/** * */代码规范使用一次tab操作,实现缩进,默认整体向右边移动,用shift+tab整体向左移动或者使用ctrl+alt+L来进行格式化运算符两边习惯性各加一个空格。一行最长不超过80个字符,超过的请使用换行战士,尽量保持格式美观。变量和常量原创 2021-06-15 20:43:13 · 1166 阅读 · 1 评论 -
HBase和Hive集成使用
在hive-site.xml中添加zookeeper的属性,如下:<property> <name>hive.zookeeper.quorum</name> <value>hadoop102,hadoop103,hadoop104</value></property><property> <name>hive.zookeeper.client.port</name>原创 2021-06-15 20:00:16 · 191 阅读 · 0 评论 -
Phoenix学习
安装1.官网地址http://phoenix.apache.org/2.Phoenix部署1)上传并解压tar包[gm@hadoop102 module]$ tar -zxvf apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz -C /opt/module/[gm@hadoop102 module]$ mv apache-phoenix-5.0.0-HBase-2.0-bin phoenix2)复制server包并拷贝到各个节点的hbase/lib[gm@原创 2021-06-15 19:50:09 · 234 阅读 · 0 评论 -
HBase优化
RowKey设计一条数据的唯一标识就是rowkey,那么这条数据存储与那个分区,取决于rowkey处于哪一个预分区的区间内,设计rowkey的主要目的,就是让数据均匀的分布于所有的region中,在一定程度上方式数据倾斜。常用的设计方案如下生成随机数、hash、散列值比如...原创 2021-06-15 19:28:42 · 82 阅读 · 0 评论 -
Scala学习之入门
概述Scala将面向对象和函数是编程结合成一种简洁的高级语言。Scala的静态类型有助于避免复杂应用程序中的错误,它的JVM和JavaScript运行时可以让你可以轻松地访问庞大的库生态系统来构建高性能系统。学习Scala的意义1)Spark—新一代内存级大数据计算框架,是大数据的重要内容。2)Spark就是使用Scala编写的。因此为了更好的学习Spark,需要掌握Scala这门语言。3)Spark的兴起,带动Scala语言的发展Scala的发展历史 联邦理工学院的马丁·奥德斯基于2001原创 2021-06-15 19:18:02 · 100 阅读 · 0 评论 -
HBase API学习
环境准备 <dependencies> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>2.0.5</version> <exclusions>原创 2021-06-10 16:13:08 · 67 阅读 · 0 评论 -
HBase进阶学习
RegionServer架构1)StoreFile保存实际数据的物理文件,Store以Hfile的形式存储在HDFS上。每个Store都会有一个或者多个StoreFile(HFile),数据在每个StoreFile中都是有序的。2)MemStore写缓存,由于HFile中的数据要求室友虚的,所以数据是先存储在MemStore中,拍好序之后,等到达刷写时机才会刷写到Hfile,每次刷写都会形成一个新的HFile。3)WAL由于数据要经过MemStore排序之后才能刷写到HFile,但是把数据保存原创 2021-06-09 20:50:55 · 186 阅读 · 2 评论 -
HBase入门学习
HBase定义HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。HBase数据模型逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行 有列。但从HBase的底层物理存储结构(K-V)来看,HBase更像是一个multi-dimensional map(多维地图)。HBase逻辑结构HBase物理存储结构数据模型1)Name Space命名空间,类似于关系型数据库的database概念,每个命名空间下有多个表。HBase两个自带的命名空间,分别是h原创 2021-06-09 20:16:02 · 132 阅读 · 0 评论 -
Kafka监控
kafka-eagle1.修改/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="-server -Xms2G -Xmx2G -XX:PermSize=12原创 2021-06-03 10:14:32 · 82 阅读 · 0 评论 -
kafka——高效读写数据、事务、Zookeeper的作用
高效读写数据1)顺序写磁盘kafka的producer生产数据,要写入到log文件中,写的过程是一直追加到文件末端,为顺序写。官网有数据表明,同样的磁盘,顺序写能够到600M/s,而随机写只有100K/s。这与磁盘的机械机构有关,顺序之所以快,是因为其省去了大量磁头寻址时间。2)应用kafka数据持久化是直接持久化到pagecache中,这样会产生以下几个好处 ①: I/O Scheduler 会将连续的小块写组装成大块的物理写从而提高性能 ②: I/O Scheduler 会尝试将一些原创 2021-06-03 10:04:44 · 86 阅读 · 0 评论 -
NameNode和 SecondaryNameNode的工作机制
1)第一阶段 NameNode启动1.第一次启动NameNode格式化后,创建Fsimage和Edits文件.如果不是第一次启动,直接加载编辑日志和镜像文件到内存.2.客户端对元数据进行增删改查请求3.NameNode记录操作日志,更新滚动日志.4.NameNode在内存中个催元数据进行增删改查.2)第二阶段 SecondaryNameNode工作1.SecondaryNameNode向NameNode发起请求是否需要CheckPoint.直接带回NameNode的是否检查结果.2.Seco.原创 2021-05-13 21:04:24 · 120 阅读 · 0 评论 -
HDFS的读写流程
文件写入HDFS的写数据流程(1) 客户端通过Distribution FileSystem模块向NameNode请求上传文件.NameNode检查目录树是否能够创建文件,检查目标文件是否存在(2)NameNode返回是否可以上传文件.(3)客户端请求第一个Block上传到哪个DataNode服务器上.(4)NameNode返回上传到DataNode1,DataNode2,Datanode3这三个服务器节点(5)客户端通过FSDataOutStream模块向DataNode请求建立Block上原创 2021-05-13 20:46:25 · 102 阅读 · 0 评论 -
kafka消费者
消费方式 consumer采用pull(拉)模式从broker中读取数据。 push(推)模式很难适应消费速率不同的消费者,因为消息发送的速率是由broker决定的。它的目标是尽可能以最快速度传递消息,但是这样很容易造成consumer来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而pull模式则可以根据consumer的消费能力以适当的速率消费消息。 pull模式的不足之处是,如果kafka中没有数据,消费者可能会陷入循环中,一直返回控数据。针对这一点,kafka的消费者在消费数据时会传原创 2021-06-02 20:07:19 · 156 阅读 · 0 评论 -
kafka生产者
消息发送流程kafka的Producer发送消息采用的是异步发送的方式。在消息发送的过程中,设计到了两个线程——main线程和Sender线程,以及一个线程共享变量——RecordAccumulator。main线程将消息发送给RecourdAccumulator,Sender线程不断从RecordAccumulator中拉去消息发送到kafka broker。相关参数:batch.size:只有数据累积到batch.size之后,sender才会发送数据。linger.ms:如果数据迟迟未达到b原创 2021-06-02 18:50:16 · 133 阅读 · 0 评论 -
kafka学习之工作流程及文件存储机制
kafka工作流程及文件存储机制kafka中的消息是一topic进行分类的,生产者生产消息,消费者消费消息,都是面向topic的。一个topic下的每个分区都单独维护一个offset,所以分发到不同分区中的数据是不同的数据。消费者的分区维护是一个消费者组一个主题的一个分区维护一个offset。topic是逻辑上的概念,而partition是物理上的概念,每个partition对应一个log文件,该log文件中存储的就是producer生产的数据。Producer生产的数据会被不断的追加到该log文件原创 2021-06-01 19:55:04 · 95 阅读 · 2 评论 -
kafka学习之安装部署
1)解压安装包tar -zxvf kafka_2.11-2.4.1.tgz -C /opt/module/2)修改kafka目录下config目录下的server.properties文件vim server.properties修改为#broker的全局唯一编号,不能重复broker.id=0 #====修改唯一编号#删除topic功能使能,当前版本此配置默认为true,已从配置文件移除delete.topic.enable=true#处理网络请求的线程数量num.network原创 2021-06-01 19:35:13 · 126 阅读 · 0 评论 -
kafka学习之概论
Kafka概述Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。Kafka是一个开源的分布式流平台(event streaming platform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。MQ传统应用场景之异步处理使用消息队列的好处1)解耦:允许你独立扩展或修改两边的处理过程,只要确保他们遵守同样的接口约束。2)可恢复性:系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使原创 2021-06-01 19:17:28 · 122 阅读 · 0 评论