自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

海恋北斗星

严于律己,宽以待人。

  • 博客(160)
  • 资源 (6)
  • 收藏
  • 关注

原创 Git常用命令

git常用命令

2023-05-11 14:48:23 469

原创 二十三种设计模式--系列篇(一)

“设计模式”最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ralph Johnson)、约翰·威利斯迪斯(John Vlissides)等 4 位作者合作出版了《设计模式:可复用面向对象软件的基础》一书,在此书中收录了 23 个设计模式。

2022-12-29 11:39:32 378 3

原创 大数据-Hive(五)

大数据-Hive(五)hive调优1、Fetch抓取 Fetch抓取是指,==Hive中对某些情况的查询可以不必使用MapReduce计算== 例如:select * from score; 在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台 在hive-default.xml.template文件中 ==hive.fetch.tas...

2020-12-25 15:15:06 337

原创 大数据-Hive(四)

大数据-Hive(四)Hive的参数传递Hive命令行 查看hive命令的参数 [hadoop@node03 ~]$ hive -help语法结构hive [-hiveconf x=y]* [<-i filename>]* [<-f filename>|<-e query-string>] [-S] -i 从文件初始化HQL。 -e从命令行执行指定的HQL...

2020-12-25 13:53:19 766

原创 大数据-SparkStreaming(十)

大数据-SparkStreaming(十)什么是ScalikeJDBCScalikeJDBC是Scala开发人员基于SQL的简洁数据库访问库。该库自然包装JDBC API,为您提供易于使用且非常灵活的API。更重要的是,QueryDSL使您的代码类型安全且可重用。ScalikeJDBC是一个实用且适合生产的产品。 将此库用于实际项目。IDEA项目中导入相关库<!-- https://mvnrepository.com/artifac...

2020-09-30 08:05:57 174

原创 大数据-SparkStreaming(九)

大数据-SparkStreaming(九)SparkStreaming调优调整BlockReceiver的数量案例演示:val kafkaStream = { val sparkStreamingConsumerGroup = "spark-streaming-consumer-group" val kafkaParams = Map( "zookeeper.connect" -> "node01:218...

2020-09-30 07:57:26 219

原创 大数据-SparkStreaming(八)

大数据-SparkStreaming(八)SparkStreaming应用程序如何保证Exactly-Once要想让一个SparkStreaming的程序保证Exactly-Once,那么从如下三个角度出发 :(1)接收数据:从Source中接收数据。(2)转换数据:用DStream和RDD算子转换。(3)储存数据:将结果保存至外部系统。案例演示:pom.xml添加内容如下<dependency> ...

2020-09-30 07:45:10 127

原创 大数据-SparkStreaming(七)

大数据-SparkStreaming(七)SparkStreaming语义At most once 一条记录要么被处理一次,要么没有被处理。 At least once 一条记录可能被处理一次或者多次,可能会重复处理。 Exactly once 一条记录只被处理一次,它最严格,实现起来也是比较困难。数据被处理且只被处理一次。SparkStreaming与Kafka整合SparkStreaming整合Kafka官方文档http://spa...

2020-09-29 14:02:29 182

原创 大数据-SparkStreaming(六)

大数据-SparkStreaming(六)数据丢失如何处理利用WAL把数据写入到HDFS中步骤一:设置checkpoint目录streamingContext.setCheckpoint(hdfsDirectory)步骤二:开启WAL日志sparkConf.set("spark.streaming.receiver.writeAheadLog.enable", "true")步骤三:需要reliable rec...

2020-09-29 13:50:12 156

原创 大数据-SparkStreaming(五)

大数据-SparkStreaming(五)SparkStreaming和SparkSQL整合pom.xml里面添加<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.11</artifactId> <version>2.3.3</version&gt...

2020-09-29 13:42:53 141

原创 大数据-SparkStreaming(四)

大数据-SparkStreaming(四)OutputforeachRDDpackage com.kaikeba.streamingimport java.sql.DriverManagerimport org.apache.log4j.{Level, Logger}import org.apache.spark.SparkConfimport org.apache.spark.streaming.{Seconds, Stream...

2020-09-29 13:34:24 88

原创 大数据-SparkStreaming(三)

大数据-SparkStreaming(三)Transformation 高级算子updateStateByKey需求:sparkStreaming接受socket数据实现所有批次的单词次数累加package com.kaikeba.streamingimport org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.{DStream, Receive...

2020-09-29 11:25:57 139

原创 大数据-SparkStreaming(二)

大数据-SparkStreaming(二)数据源socket数据源需求:sparkStreaming实时接收socket数据,实现单词计数业务处理流程图安装socket服务首先在linux服务器node01上用yum 安装nc工具,nc命令是netcat命令的简称,它是用来设置路由器。我们可以利用它向某个端口发送数据。 yum -y install nc#执行命令向指定的端口发送数据nc -lk 9999 代...

2020-09-29 11:18:01 132

原创 大数据-SparkStreaming(一)

大数据-SparkStreaming(一)SparkStreaming简介SparkStreaming是对于Spark核心API的拓展,从而支持对于实时数据流的可拓展,高吞吐量和容错性流处理。数据可以由多个源取得,例如:Kafka,Flume,Twitter,ZeroMQ,Kinesis或者TCP接口,同时可以使用由如map,reduce,join和window这样的高层接口描述的复杂算法进行处理。最终,处理过的数据可以被推送到文件系统,...

2020-09-28 18:27:28 240

原创 大数据-代码开发(三)

大数据-代码开发(三)SparkSQL自定义数据源,并将结果数据下沉到HBase中importjava.utilimportjava.util.Optionalimportcom.travel.utils.HbaseToolsimportorg.apache.hadoop.hbase.TableNameimportorg.apache.hadoop.hbase.client._importorg.apa...

2020-09-28 17:26:22 264

原创 大数据-代码开发(二)

大数据-代码开发(二)Java实现Hbase表的预分区package com.travel.hbase;import com.travel.common.Constants;import com.travel.utils.HbaseTools;import org.apache.commons.lang3.StringUtils;import org.apache.hadoop.hbase.HColumnDescrip...

2020-09-28 17:17:37 375

原创 大数据-代码开发(一)

大数据-代码开发(一)SparkStreaming程序消费kafka里面的数据,实现自主维护offset到hbasepackage com.travel.programAppimport java.util.Dateimport java.util.regex.Patternimport com.travel.common.{ConfigUtil, Constants, DateUtils}import org.apache...

2020-09-28 17:02:30 965

原创 大数据-phoenix

大数据-phoenix由于Hbase当中的数据查询方式比较单一,查询形式比较固定,所以一般都会对Hbase实现二级索引的开发,通过二级索引去更加方便快速的查询Hbase当中的数据,我们也可以通过phoenix与Hbase整合的方式实现通过jdbc的方式去查询Hbase当中的数据。下载phoenix的安装包并解压下载地址:http://archive.apache.org/dist/phoenix/这里我使用的是 ...

2020-09-27 11:39:24 1528

原创 大数据-MaxWell

大数据-MaxWell(一)MaxWell的基本介绍Maxwell是一个能实时读取MySQL二进制日志binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台的应用程序。它的常见应用场景有ETL、维护缓存、收集表级别的dml指标、增量到搜索引擎、数据分区迁移、切库binlog回滚方案等。官网(http://maxw...

2020-09-27 10:56:01 1272

原创 大数据-Spark调优(三)

大数据-Spark调优(三)Spark在Driver上对Application的每一个stage的task进行分配之前,都会计算出每个task要计算的是哪个分片数据,RDD的某个partition;Spark的task分配算法,优先会希望每个task正好分配到它要计算的数据所在的节点,这样的话就不用在网络间传输数据;但是通常来说,有时事与愿违,可能task没有机会分配到它的数据所在的节点,为什么呢,可能那个节点的计算资源和计算能力都...

2020-09-21 16:08:10 298

原创 大数据-Spark调优(一)

大数据-Spark调优(一)分配更多的资源分配更多的资源是性能优化调优的王道,就是增加和分配更多的资源,这对于性能和速度上的提升是显而易见的,基本上,在一定范围之内,增加资源与性能的提升,是成正比的;写完了一个复杂的spark作业之后,进行性能调优的时候,首先第一步,就是要来调节最优的资源配置;在这个基础之上,如果说你的spark作业,能够分配的资源达到了你的能力范围的顶端之后,无法再分配更多的资源了,公司资源有限;那么才是...

2020-09-21 15:56:52 1264

原创 大数据-Spark调优(二)

大数据-Spark调优(二)尽量避免使用shuffle类算子shuffle描述spark中的shuffle涉及到数据要进行大量的网络传输,下游阶段的task任务需要通过网络拉取上阶段task的输出数据,shuffle过程,简单来说,就是将分布在集群中多个节点上的同一个key,拉取到同一个节点上,进行聚合或join等操作。比如reduceByKey、join等算子,都会触发shuffle操作。如果有可能的话,要尽量避免使用shuf...

2020-09-21 15:56:44 280

原创 大数据-SparkSQL(五)

大数据-SparkSQL(五)sparksql中自定义函数自定义UDF函数代码开发package com.kaikeba.sqlimport org.apache.spark.sql.api.java.UDF1import org.apache.spark.sql.types.StringTypeimport org.apache.spark.sql.{DataFrame, SparkSession}//TODO:自定...

2020-09-20 15:09:55 175

原创 大数据-SparkSQL(四)

大数据-SparkSQL(四)Sparksql 操作hivesql添加依赖<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-hive_2.11</artifactId> <version>2.3.3</version></dependenc...

2020-09-20 15:03:03 117

原创 大数据-SparkSQL(三)

大数据-SparkSQL(三)DataSet概述DataSet是什么DataSet是分布式的数据集合,Dataset提供了强类型支持,也是在RDD的每行数据加了类型约束。 DataSet是在Spark1.6中添加的新的接口。它集中了RDD的优点(强类型和可以用强大lambda函数)以及使用了Spark SQL优化的执行引擎。RDD、DataFrame、DataSet的区别假设RDD中的两行数据长这样那么DataFra...

2020-09-20 11:10:31 182

原创 大数据-SparkSQL(一)

大数据-SparkSQL(一)Shark是专门针对于spark的构建大规模数据仓库系统的一个框架。Shark与Hive兼容、同时也依赖于Spark版本,Hivesql底层把sql解析成了mapreduce程序,Shark是把sql语句解析成了Spark任务;随着性能优化的上限,以及集成SQL的一些复杂的分析功能,发现Hive的MapReduce思想限制了Shark的发展。最后Databricks公司终止对Shark的开发决定单独开发一个框...

2020-09-20 10:44:19 231

原创 大数据-Spark(八)

大数据-Spark(八)DAG有向无环图生成DAG是什么DAG(Directed Acyclic Graph) 叫做有向无环图(有方向,无闭环,代表着数据的流向),原始的RDD通过一系列的转换就形成了DAG。下图是基于单词统计逻辑得到的DAG有向无环图:DAG划分stagestage是什么一个Job会被拆分为多组Task,每组任务被称为一个stage。stage表示不同的调度阶段,一个spark job...

2020-09-19 14:44:39 651

原创 大数据-Spark(七)

大数据-Spark(七)RDD的依赖关系RDD和它依赖的父RDD的关系有两种不同的类型,窄依赖(narrow dependency)和宽依赖(wide dependency)。窄依赖:窄依赖指的是每一个父RDD的Partition最多被子RDD的一个Partition使用。map/flatMap/filter/union等这些算子操作是窄依赖,所有的窄依赖不会产生shuffle。 宽依赖 :宽依赖指的是多个子RDD的...

2020-09-19 11:55:39 219

原创 大数据-Spark(六)

大数据-Spark(六)RDD常用的算子操作演示为了方便前期的测试和学习,可以使用spark-shell进行演示:spark-shell --master local[2]mapval rdd1 = sc.parallelize(List(5, 6, 4, 7, 3, 8, 2, 9, 1, 10))//把rdd1中每一个元素乘以10rdd1.map(_*10).collectfilterval r...

2020-09-19 11:25:55 179

原创 大数据-Spark(二)

大数据-Spark(五)RDD的概念RDD(Resilient Distributed Dataset)弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。Resilient: 表示弹性,rdd的数据是可以保存在内存或者是磁盘中。 Distributed:它内部的元素进行了分布式存储,方便于后期进行分布式计算。 Dataset: 就是一个集合,存储很多数据。RDD的...

2020-09-19 11:15:29 302

原创 大数据-Spark(四)

大数据-Spark(四)通过IDEA开发spark程序构建maven工程,添加pom依赖 <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> &l...

2020-09-18 15:14:06 193

原创 大数据-Spark(三)

大数据-Spark(三)初识spark程序普通模式提交 (指定活着的master地址)bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master spark://node01:7077 \--executor-memory 1G \--total-executor-cores 2 \examples/jars/spark-exam...

2020-09-18 15:07:51 206

原创 大数据-Spark(二)

大数据-Spark(二)Spark集群安装部署前置条件搭建好zookeeper集群1.下载安装包 https://archive.apache.org/dist/spark/spark-2.3.3/spark-2.3.3-bin-hadoop2.7.tgz 2.规划安装目录/kkb/install3.上传安装包到服务器4.解压安装包到指定的安装目录tar -zxvf spark-2.3.3-bin-h...

2020-09-18 14:50:01 263

原创 大数据-Spark(一)

大数据-Spark(一)Spark的概念Apache Spark™ is a unified analytics engine for large-scale data processing.spark是针对于大规模数据处理的统一分析引擎。spark是在Hadoop基础上的改进,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式...

2020-09-18 14:27:57 3538

原创 大数据-scala(十三)

大数据-scala(十三)隐式转换和隐式参数隐式转换Scala提供的隐式转换和隐式参数功能,是非常有特色的功能。是Java等编程语言所没有的功能。它可以允许你手动指定,将某种类型的对象转换成其他类型的对象或者是给一个类增加方法。通过这些功能,可以实现非常强大、特殊的功能。隐式转换其核心就是定义一个使用 implicit关键字修饰的方法 实现把一个原始类转换成目标类,进而可以调用目标类中的方法。隐式参数所谓的隐式参...

2020-05-13 10:15:33 199

原创 大数据-scala(十二)

大数据-scala(十二)异常处理捕获异常在Scala里,借用了模式匹配的思想来做异常的匹配,以下为scala中try...catch异常处理的语法格式:try { // 代码}catch { case ex:异常类型1 => // 代码 case ex:异常类型2 => // 代码}finally { // 代码}示例:try { val...

2020-05-13 10:09:11 131

原创 大数据-scala(十一)

大数据-scala(十一)模式匹配和样例类scala有一个十分强大的模式匹配机制,可以应用到很多场合。 java switch case switch语句 类型查询 以及快速获取数据 并且scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配。匹配字符串//todo:匹配字符串object CaseDemo01 extends App{ //定义一个数组 val arr=Array("h...

2020-05-12 09:55:29 142

原创 大数据-scala(十)

大数据-scala(十)scala面向对象编程之trait特质特质是scala中代码复用的基础单元 它可以将方法和字段定义封装起来,然后添加到类中 与类继承不一样的是,类继承要求每个类都只能继承一个超类,而一个类可以添加任意数量的特质。 特质的定义和抽象类的定义很像,但它是使用trait关键字作为接口使用使用extends来继承trait(scala不论是类还是特质,都是使用extends关键字) 如果要继承多...

2020-05-11 14:19:49 135

原创 大数据-scala(九)

大数据-scala(九)scala面向对象编程之继承继承extendsscala和Java一样,使用extends关键字来实现继承。可以在子类中定义父类中没有的字段和方法,或者重写父类的方法。示例一:实现简单继承class Person1 { var name = "super" def getName = this.name}class Student1 extends Person1obje...

2020-05-11 13:56:36 150

原创 大数据-scala(八)

大数据-scala(八)scala面向对象编程之类类的定义scala是支持面向对象的,也有类和对象的概念。示例:定义一个Customer类,并添加成员变量/成员方法 添加一个main方法,并创建Customer类的对象,并给对象赋值,打印对象中的成员,调用成员方法。class Customer { var name:String = _ var sex:String = _ val register...

2020-05-11 11:12:44 228

Spark调优 Spark应用程序性能优化

分配更多的资源是性能优化调优的王道,就是增加和分配更多的资源,这对于性能和速度上的提升是显而易见的,基本上,在一定范围之内,增加资源与性能的提升,是成正比的;写完了一个复杂的spark作业之后,进行性能调优的时候,首先第一步,就是要来调节最优的资源配置;在这个基础之上,如果说你的spark作业,能够分配的资源达到了你的能力范围的顶端之后,无法再分配更多的资源了,公司资源有限;那么才是考虑去做后面的这些性能调优的点。

2020-09-21

scala语言知识点.xmind

scala是运行在 JVM 上的多范式编程语言,同时支持面向对象和面向函数编程;早期scala刚出现的时候,并没有怎么引起重视,随着Spark和Kafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性。

2020-05-13

HDFS读写流程.xmind

HDFS读写数据流程描述,脑图展示,易于理解与记忆,仅供学习使用。HDFS分布式文件系统是一个主从架构,主节点是NameNode,负责管理整个集群以及维护集群的元数据信息;从节点是DataNode,主要负责文件数据存储。

2020-04-03

HDFS.xmind

HDFS基础概念描述,脑图展示,易于理解与记忆,仅供学习使用。Hadoop分布式文件系统(HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System)。

2020-04-03

MapRrduce代码实例

MapRrduce代码实例 实现了单词计数 和 流量统计功能,自定义Mapper 和 Reduce类,完成了MapReduce的核心功能。

2020-03-03

hdfs java代码实现文件基础操作

hdfs代码实例 通过Java代码在HDFS上创建目录、上传文件、下载文件、删除文件、文件重命名、文件列表等操作。

2020-03-03

空空如也

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

TA关注的人

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