自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 hive数据倾斜

hive数据倾斜一、什么是数据倾斜由于数据分布不均匀,造成数据大量集中在一起,造成数据热点二、Hadoop框架的特性A、不怕数据大,就怕数据倾斜B、 jobs数目较多的作业运行效率相对较低C、sum,count,max,min等聚集函数,通常不会有数据倾斜三、主要表现任务进度长时间维持在99%或100%的附近,查看任务监控页面,发现只有少量reduce子任务未完成,因为其处理的数据量和其他的reduce差异过大。单一reduce处理的记录数和平均记录数相差太大,通常达到几倍之

2021-03-01 19:44:33 166

原创 JDBC

一、RDBMS1.Maven工程添加依赖<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version&

2021-01-12 08:11:34 255

原创 Spark SQL与外部数据源的操作(Spark SQL ——> CSV/JSON/Parquet/hive/mysql)

目录一、Spark SQL支持的外部数据源 二、Spark SQL —> CSV 2.1 读CSV文件 a.有列名 b.无列名 2.2 写CSV文件 三、Spark SQL —> JSON 3.1 读JSON文件 3.2 写JSON文件 四、Spark SQL —> Parquet 读&写 Parquet文件 五、Spark SQL —>Hive 5.1 Spark集成Hive 5.2 IDEA

2021-01-11 08:23:01 406

原创 spark分布式计算

一、RDD依赖与DAG原理Spark根据计算逻辑中的 RDD的转换与动作生成 RDD的依赖关系,同时这个计算链也形成了逻辑上的 DAG。1.1 RDD的转换e.g.(以wordcount为例)package sparkimport org.apache.spark.{SparkConf,SparkContext}object WordCount{ def main(args: Array[String]): Unit = { val conf = new...

2021-01-07 16:01:23 308

原创 Sqoop数据迁移原理及基本框架

目录Sqoop简介Sqoop旨在协助RDBMS与Hadoop之间进行高效的大数据交流。可以把关系型数据库的数据导入到 Hadoop 与其相关的系统 (如HBase和Hive)中;同时也可以把数据从 Hadoop 系统里抽取并导出到关系型数据库里。  Sqoop是一个在结构化数据和Hadoop之间进行批量数据迁移的工具,结构化数据可以是MySQL、Oracle等RDBMS。Sqoop底层用MapReduce程序实现抽取、转换、加载,MapReduce天生的特性保证了并行化和高容错率。  如果要用Sqo

2020-12-22 11:09:06 632

原创 scala编写排序算法

1、产生随机序def RandomList(n: Int) = Seq.fill(n)(scala.util.Random.nextInt(n)) def RandomDiffList(n: Int): List[Int] = { var resultList: List[Int] = Nil while (resultList.length < n) { val tempNum = (new scala.util.Random).nextInt(n)

2020-12-20 21:09:52 269

原创 scala基本语言结构以及函数算子(持续更新......)

一、什么是scalascala是一种编程式语言,函数是一个独立的类,可以自由传输;是一种纯面向对象的语言,它具备java的一切特性,并在其基础上进行了扩展。二、scala的基本数据类型2、变量和常量的声明scala中通常用var来声明变量,可以改变;用val来声明常量,不可修改即不可对常量进行再赋值;不用指定数据类型,由Scala自己进行类型推测。注意点: 在scala中每行后面不需要加分号,直接通过换行如来区分;但是一行中写了多个语句,语句与语句之间必须用分号来分割例如:`var ag

2020-12-18 20:41:49 236 1

原创 Hbase原理、基本概念、基本架构

概述HBase是一个构建在HDFS上的分布式列存储系统;HBase是基于Google BigTable模型开发的,典型的key/value系统;HBase是Apache Hadoop生态系统中的重要一员,主要用于海量结构化数据存储;从逻辑上讲,HBase将数据按照表、行和列进行存储。与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。Hbase表的特点大:一个表可以有数十亿行,上百万列;无模式:每行都有一个可排序的主键和任意多的列,列可以

2020-12-17 09:03:15 172

原创 HIVE

Hive一 . hive概述1.2. 组成架构(运行流程)1.3. 特点Hive和数据库的区别二、Hive的搭建2.1. 版本的选择2.2. 步骤2.3. 软件的基本操作2.3.1. 进入hive2.3.2. 操作2.3.3. 退出2.3.4. hive对本地文件数据进行表的映射操作2.3.5. 转移元数据的存储路径2.3.6. metastore的设置方式 :元数据2.3.7. 设置metastore的存储路径(选择MySQL数据库进行存储)实现多客户端范文hive2.

2020-12-11 09:15:33 176

原创 Hadoop数据仓库工具——Hive

一、什么是Hive:1)基于Hadoop的数据仓库解决方案- 将结构化的数据文件映射为数据库表- 提供类sql的查询语言HQL(Hive Query Language)- Hive让更多的人使用Hadoop2)Hive为Apache顶级项目- Hive始于2007年的Facebook- 官网:hive.apache.org二、Hive的优势和特点- 入门简单,HQL类SQL语法- 统一的元数据管理,可与impala/spark等共享元数据- 灵活性和扩展性较好:支持UDF,自定义存储格

2020-12-08 09:11:37 343

原创 HashMap底层实现原理:红黑树左旋右旋

HashMap中的红黑树左旋、右旋:一、什么是左旋、右旋:红黑树的性质:每个节点要么是黑色,要么是红色根节点是黑色每个叶子节点(NIL)是黑色每个红色结点的两个子结点一定都是黑色任意一结点到每个叶子结点的路径都包含数量相同的黑结点每当对红黑树结点进行增删改的时候可能会破坏红黑树的性质,因此我们需要维持这5条性质。有三种方式:变色、左旋、右旋.变色简单,本文会根据HashMap的源码分析左旋和右旋1)左旋以结点p作为支点进行左旋,其左子结点不变,右子结点变为p的右子节点的左子结点,且p的

2020-12-06 09:38:36 1262 1

原创 MapReduce骚气分析

MapReduce分析一、 MapReduce定义二、MapReduce优缺点三、MapReduce工作原理一、MapReduce定义MapReduce是一个并行计算与运行软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。二

2020-12-06 09:20:47 153

原创 Java之高级特性

一、集合框架及泛型1、集合框架是一套性能优良、使用方便的接口和类(位于java.util包中)解决数组在存储上不能很好适应元素数量动态变化,查找效率低的缺陷集合接口: Map、Collection(子接口List、Set) 、 Iterator 接口实现类:HashMap TreeMap 、ArrayList LinkedList、 HashSet TreeSet 实现map、list、set接口 集合工具类:Arrays、Collections 提供对集合元素进行操作的算...

2020-12-03 21:37:45 288

原创 MapReduce工作原理

MapReduce工作分为两个步骤:Maptask,ReducetaskMap端:1.每个输入分片会让一个map任务来处理,默认情况下,以HDFS的一个块的大小(默认为64M)为一个分片,当然我们也可以设置块的大小。map输出的结果会暂且放在一个环形内存缓冲区中(该缓冲区的大小默认为100M,由io.sort.mb属性控制),当该缓冲区快要溢出时(默认为缓冲区大小的80%,由io.sort.spill.percent属性控制),会在本地文件系统中创建一个溢出文件,将该缓冲区中的数据写入这个文件。

2020-12-03 21:18:37 329

原创 hadoop思维导图

2020-11-28 12:12:03 220

原创 Sqoop数据迁移

1.概述sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。Sqoop的原理其实就是将导入导出命令转化为mapreduce程序来执行,sqoop在接收到命令后,都要生成mapreduce程序使用sqoop的代码生成工具可以方便查看到sqoop所生成的java代码,并可在此基础之上进行深入定制开发导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBAS

2020-11-26 09:17:13 227

原创 shell编程

shell编程shell历史 Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于...

2020-11-23 12:09:44 431

原创 Hadoop生态系统

HadoopHadoop生态系统的不同组件1、HDFS:Hadoop分布式存储系统——存储,复制。2、MapReduce:分布式处理,容错。3、HBase:快速读/写访问——一种在HDFS上运行的列式数据库管理系统。4、HCatalog:元数据——Hadoop的表和存储管理层,使用户可以使用不同的数据处理工具。5、Pig:脚本——Pig程序的显著特点是它们的结构适合于大量的并行化,从而能够处理非常大的数据集。6、Hive:SQL——构建在Hadoop之上的数据仓库的基础架构,用于提供数据汇总、

2020-11-19 17:40:46 156

原创 sqoop数据迁移的应用

MySql与HBase之间数据的互导(借助sqoop)一.将mysql中的数据导入到hbase中,这一步相对来说是比较简单的1.在mysql中建立一个teacher表,插入5组数据,我这里没有将表建立的太大,可以根据自身数据大小情况改变创建表的大小,表的结构如下图所示:2.在进行下一步之前,一定要确认mysql的jdbc已经拷贝到sqoop的lib目录下,此处我使用的是mysql-connector-java-5.0.8-bin.jar,同时需要拷贝hbase目录下的hbase-0.94..

2020-11-19 17:36:53 194

原创 javaOOP项目实战——银行ATM机

银行管理系统项目1、ATM_Machinepackage Bnk;import javax.naming.Name;import javax.smartcardio.Card;import java.io.BufferedReader;import java.math.BigDecimal;import java.util.ArrayList;import java.util.InputMismatchException;import java.util.Scanner;im

2020-11-11 09:05:53 541

原创 java高级特性

一、集合框架及泛型1、集合框架是一套性能优良、使用方便的接口和类(位于java.util包中)解决数组在存储上不能很好适应元素数量动态变化,查找效率低的缺陷集合接口: Map、Collection(子接口List、Set) 、 Iterator接口实现类:HashMap TreeMap 、ArrayList LinkedList、 HashSet TreeSet 实现map、list、set接口集合工具类:Arrays、Collections 提供对集合元素进行操作的算法...

2020-11-11 08:52:42 958

原创 mapreduce工作流程

mapre的工作流程1.文件要存储在HDFS中,每个文件被切分成多个一定大小的块也就是Block,(Hadoop1.0默认为64M,Hadoop2.0默认为128M),并且默认3个备份存储在多个的节点中。1、MR通过Inputformat将数据文件从HDFS中读入取,读取完后会对数据进行split切片,切片的数量根据Block的大小所决定,然后每一个split的个数又决定map的个数,即一个split会分配一个maptask并行实例处理。说到切片下面讲一下切片的小细节:1.获取文件大小 fs.sizeO

2020-11-11 08:32:21 88

原创 java数组

一维数组1、一维数组:定义:数组是存储多个年两的容器。存储的多个变量必须是同一种数据类型。既可以存储基本数据类型,也可以存储引用数据类型。2、数组的定义格式:(1)格式1:int[] arr格式二int arr[]3、数组的初始化:(1)概述:Java中的数组必须初始化之后才能够使用,初始化就是指的给数组中的元素分配内存空间,并赋值。(2)初始化形式:静态初始化,动态初始化(I)静态初始化:初始化时指定每个数组元素的初始化值,由系统决定数组长度。(

2020-10-05 16:25:34 63

原创 java排序算法

几种排序算法:1、冒泡排序:int[] arr = {1,5,8,2,3,9,4};int temp;for(int i = 0;i < arr.length - 1;i++){ for(int j = 0;j < arr.length - 1 - i;j++){ if(arr[j]>arr[j + 1]){ temp = arr[j]; arr[j] = arr[j + 1];

2020-10-04 09:38:09 69

原创 java冒泡排序

冒泡排序:int[] arr = {5,4,3,2,1}; for(int i = 0;i<arr.length-1;i++){ for(int j = 0;j<arr.length-1-i;j++){ if(arr[j] > arr[j+1]){ int te = arr[j];

2020-09-28 22:58:04 65

原创 java多重循环

多重循环1、概念:多重循环指一个循环语句的循环体中再包含循环语句,又称嵌套循环。2、语法结构:while(循环条件1){ 循环语句1 for(循环条件2){ 循环语句2 } }3,示例:计算若干名学生每人5门课程的平均分public class TEXT { public static void main(Stri...

2020-09-28 14:25:12 174

原创 java猜拳游戏代码

猜拳游戏:import java.util.Scanner;public class Scissors_Stone_Cloth{ public static void main(String[] args){ if(true){ System.out.println("**********************"); System.out.println("——————进入猜拳游戏——————"); S

2020-09-28 10:31:57 645

原创 日历代码

输入年月,输出当月月历:import java.util.Calendar; import java.util.Scanner;public class time { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); int count = 1; int days; Scanner sc = ne.

2020-09-28 10:28:40 1124

原创 WEB前端

今天我们学习了有关前端的相关内容#HTML注释 <!--需要注释的内容--> 目的: 1、暂时用不到 2、解释#HTML标签类型 <tagName attr="value" attr2="value2".../> <tagName attr="value" attr2="value2"...></tagName>#页面编码 默认:iso-8859-1 [char]acte

2020-09-14 21:27:40 118

空空如也

空空如也

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

TA关注的人

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