- 博客(49)
- 收藏
- 关注
原创 Spark Core
文章目录Spark Core第1章 Spark概述1.1 Spark是什么1.2 Spark and Hadoop1.3 Spark or Hadoop1.3.1 Hadoop MapReduce缺点:1.4 Spark 核心模块第2章 Spark 快速上手2.1 WordCount第3章 Spark运行环境3.1 Spark安装3.2 Spark运行模式第4章 Spark运行架构4.1 运行架构4.2 核心组件4.2.1 Driver4.2.2 Executor4.2.3 Master & W
2021-01-14 14:38:32 1462
原创 Spark集成Hive和mysql
文章目录一、Spark集成Hive二、Spark集成mysql一、Spark集成Hive1、将Hive的配置文件拷贝到Spark的配置文件目录下,软拷贝硬拷贝皆可以ln -s /opt/software/hadoop/hive110/conf/hive-site.xml /opt/software/hadoop/spark244//conf/hive-site.xml2、拷贝jar包cp /opt/software/hadoop/hive110/lib/mysql-connector-java-
2021-01-10 22:39:14 231
原创 SparkSQL(一)RDD && Dataset && DataFrame
一、SQL on Hadoop1.1 SQL是一种传统的用来进行数据分析的标准 Hive是原始的SQL-on-Hadoop解决方案 Impala:和Hive一样,提供了一种可以针对已有Hadoop数据编写SQL查询的方法 Presto:类似于Impala,未被主要供应商支持 Shark:Spark SQL的前身,设计目标是作为Hive的一个补充 Phoenix:基于HBase的开源SQL查询引擎1.2 Spark SQL前身Shark的初衷:让Hive运行在Spark之上
2021-01-07 23:30:34 483
原创 Hadoop高频知识点
大数据面试题一、Hadoop搭建的主要流程二、Hadoop架构有哪些组件,分别有什么作用?三、HDFS架构有哪些组件,分别有什么作用?四、HDFS的优缺点五、HDFS为什么不适合存储小文件?六、HDFS的读写流程6.1 写6.2 读七、HDFS命令七、MapReduce中combiner和partitioner的作用八、MapReduce的编码规范九、传输类型为什么要序列化?常用类型的序列化类型是什么?十、自定义序列化类有哪些注意事项十一、MapReduce整体流程十二、Mapreduce的shuffl
2020-12-07 21:17:12 185
原创 Hive的数据倾斜
Hive的数据倾斜数据倾斜是什么?顾名思义,就是数据分布不均匀,某个节点数据大量集中,而另外的节点数据量却很少。主要表现一个节点的任务很快就跑完了,而另外一个节点的任务很久迟迟不结束,这就是典型的数据分布不均匀。产生数据倾斜的原因1、key 分布不均匀2、业务数据本身的特性3、建表考虑不周全4、某些HQL语句本身就存在数据倾斜空值产生的数据倾斜以一张表为例(数据已经进入各个节点)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0SIvrp4d-16146
2021-03-02 12:02:29 476
原创 Java连接Mysql Hive
文章目录Java连接Mysql一、BaseConfig类二、BaseDao类三、Result类Java连Hive一、BaseConfig类二、BaseDao类三、Result类Java连接Mysql一、BaseConfig类import java.sql.Connection;import java.io.FileReader;import java.sql.DriverManager;import java.sql.SQLException;import java.util.Properti
2021-01-10 23:20:37 285
原创 Scala中类定义&&构造器
Scala面向对象中有这几个概念:类、抽象类、单例对象、特质、样例类类和Java中类似点:类通过class关键字定义类通过new关键字创建实例类拥有成员变量和方法类的成员默认为public,也支持private、protected,Scala中没有public这个关键字和Java中不一样之处:类中无法定义静态成员变量和方法(Java中有static)类无需明确定义构造方法,通过构造参数列表声明为类的一部分Java中访问修饰符ModifierClass(自己)Package
2021-01-02 18:44:45 235
原创 Scala中类的继承
类的继承Scala使用“extends”关键字实现继承子类重写父类方法必须使用“override”关键字package oopclass XiaoXueSheng extends Student { // 重写Student父类中的study方法 override def study() = { println("小学生不爱学习") } def play() = { println("小学生喜欢打游戏") }}object Test02{ de
2021-01-02 18:41:01 385
原创 Scala中函数&&方法的声明
函数&&方法的声明object Test1 extends App { // 定义一个函数 def square(x:Int) = { println("传入的值是:"+x) val res= x*x println(res) } square(5) // 函数已经被调用,但是函数值没有被打印出来 // 变形 // 返回值类型为Unit的时候 = 可以不写 def printName(x:String) = { prin
2021-01-02 18:39:23 517
原创 Scala中抽象类&&单例对象&&伴生类
抽象类(abstract)抽象类可包含未实现的方法,即抽象方法抽象类无法实例化抽象类使用“abstract”关键字修饰(建议都写上) 子类重写父类抽象方法时,“override”关键字可选 子类重写父类非抽象方法,“override”关键字必写父类package test// 定义一个抽象类,使用abstract修饰abstract class Shape { def draw() def write() ={ println("写代码") }}子类
2021-01-02 18:36:18 171 1
原创 Scala中Trait
特质(trait)Scala中没有接口(interface)的概念特质用于在类之间共享程序接口和字段,类似Java接口特质是字段和方法的集合,可以提供字段和方法实现类和单例对象都可以扩展特质(extends)特质不能被实例化,因此没有构造参数,类似Java接口特质使用“trait”关键字定义实现特质中的方法使用“override”package test02// 特质(类比于接口)// 创建一个Pet特质trait Pet { val name:String def cry(
2021-01-02 18:30:10 220
原创 scala循环、数据类型
package scala12_30object Test1 extends App { println("----var && val -----") // var val val a = 19 println(a) var b = 10 b =19 println(b) println("------变量的创建-------") // 变量的创建 val a1:Int = 1 val c:String = "chenjun"
2021-01-02 18:29:08 136
原创 Scala函数大全及案例
文章目录一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、pandas是什么?1、++:合并产生新的数组var a1 = Array.range(1,10)a1.foreach(println)var a2 =Array("a","b","x")println(a1 ++ a2)=>输出:二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot a
2020-12-27 23:39:41 505
原创 Sqoop数据迁移
文章目录一、Sqoop是什么?二、RDBMS => HDFS2.1 从Mysql导入数据到HDFS2.2 通过where语句过滤导入表2.3 使用columns(列)过滤指定列导入表2.4 通过query方式导入数据2.5 使用sqoop增量导入数据(之前导了一部分数据了,了数据发生了变化)2.6 创建Job三、RDBMS => Hive四、RDBMS => Hbase五、HDFS/Hive => RDBMS六、Hive => HDFS七、HDFS => Hive一、S
2020-12-23 11:51:07 375
原创 HBase架构原理
HBase一、HBase原理1.1 什么是NoSQL1.2 NoSQL和关系型数据库对比二、HBase概述2.1 特点三、HBase架构原理3.1 HBase架构三、数据存储结构四、HBase数据存储结构4.1 Rowkey四、数据读写流程一、HBase原理1.1 什么是NoSQLNoSQL:not only SQL,非关系型数据库NoSQL是一个通用术语指不遵循传统RDBMS模型的数据库数据是非关系的,且不使用SQL作为主要查询语言解决数据库的可伸缩性和可用性问题不针对原子性或一致性问题
2020-12-21 23:15:17 281
原创 Scala(集合)通俗易懂
Scala集合一、Scala集合大分类二、Scala集合-可变/不可变2.1 不可变集合2.2 可变集合三、List常用操作四、List中方法五、Scala 中Set常用操作六、Scala中Map常用操作七、Scala Stream & Vector总结注意:使用dos窗口退出scala模式是:q一、Scala集合大分类此处集合说的是:Collection● Seq:序列,元素按顺序排列 (List)● Set:集合,元素不重复● Map:映射,键值对集合所有的集合都继承自Trav
2020-12-20 14:26:47 522 2
原创 Scala(一)数据类型和使用
ScalaScala简介一、Scala特点1.1 静态类型1.2 强类型1.3 面向对象编程(OOP)二、Scala关键字三、Scala变量和常量四、Scala数据类型4.1 Unit五、Scala字符串插值(拼接)六、函数的定义七、程序控制7.1 条件控制(重点if)7.2 块表达式{}八、for循环8.1 单循环8.2 多重循环九、循环跳转语句十、数据结构十一、数组Scala简介Scala 是一种基于 JVM 的多范式编程语言,这里的范式可以理解为一种编程 风格,比如面向对象编程就是一种范式。常见范
2020-12-18 00:03:00 867
原创 Hive(五)高级查询&&窗口函数
文章目录前言一、order by1.1 应用order by1.2 按照位置编号二、使用步骤1.引入库2.读入数据总结前言扩展:--设置日志set hive.server2.logging.operation.level=NONE ---无日志set hive.server2.logging.operation.level=EXECUTION --有日志一、order byorder by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可
2020-12-15 23:11:58 596
原创 Hive函数
Hive函数一、查看hive的函数库二、查看某个具体的函数三、数学函数四、集合函数五、类型转换函数六、日期函数测试题七、条件函数八、字符串函数一、查看hive的函数库show functions;二、查看某个具体的函数desc function extended 函数名;三、数学函数1、log(double base,double a) 简介:底数为base的a的对数,base可以自定义 返回值类型:doubleselect log(10,100);--返回22、pow(double
2020-12-14 22:28:12 1293
原创 mysql函数大全
文章目录一、数学函数二、字符串函数2.读入数据总结一、数学函数绝对值:abs(v NUMBER)去小数:floor(v DECIMAL)有小数且小数不是0就进1 ceil(v DECIMAL)truncate(v DECIMAL,n,INT):保留精度,和四舍五入没有关系round(v DECIMAL) : 四舍五入round(v DECIMAL,n INT) :保留精度 四舍五入rand():返回0-1的随机数sign(v NUMBER):返回数值的符号,就是判断是正数还
2020-12-14 18:36:07 223
原创 理解group by
以表1test为例:如果说执行以下语句,很显然结果如下:select name from testgroup by name;对于group by name ,可以这么理解,就是把相同name的数据合并到一行,比如说将(1,a,2)与(2,a,4)合并到一行即一个单元格里这里,我们将生成的结果表当成表2,原始表为表1如果执行select *的话,那么返回的结果应该是虚拟表3,可是id和number中有的单元格里面的内容是多个值的,而关系数据库就是基于关系的,单元格中是不允许有多个值的,
2020-12-11 16:30:55 262
原创 Hive中join关联小案例&&map join&&union&&insert装载数据&&import/export
文章目录一、join关联小案例1.1 Linux下建相应目录1.2 导入文件1.3 执行hive脚本1.4 查看数据库以及表是否创建成功1.5 查询内容,做关联二、map join(hive中这个机制自动的)三、union四、装载数据 insert五、将数据插入/导出到文件(insert)六、数据交换(import/export)6.1 使用EXPORT导出数据6.2 使用IMPORT导入数据一、join关联小案例1.1 Linux下建相应目录##数据文件统一存放在这个目录下mkdir hiv
2020-12-11 00:42:13 215
原创 Hive(四)分桶&&视图
Hive目录前言一、分桶1.1、创建分桶的流程二、分桶抽样三、数据块抽样四、视图4.1、创建视图4.2、Hive侧视图概念4.3、操作4.4、 案例前言补充:不在一个数据库,想要查询另外一个数据库的表,通常加个数据库名前缀select * from test.employee;一、分桶分桶实际上和 MapReduce中的分区是一样的。分桶数和reducer数对应。插入数据时按照分桶列通过hashcode取余,把数据分到相应分桶里生成相应文件跟MR中的HashPartitioner的原理一模
2020-12-10 17:13:38 338
原创 Hive(三)建表&&装载数据&&分区
文章目录一、建表1.1 外部表1.2 分隔符1.3 内部表1.4 创建临时表二、建表高阶语句2.1 CTAS WITH(create table as)2.2 CTE (可以理解为临时结果集)2.3 like二、删除表三、修改表四、Load装载数据五、分区(partition)5.1 静态分区单级分区表多级分区表5.2 动态分区六、分桶(Bucket)一、建表1.1 外部表create external table if not exists employee_external(name strin
2020-12-10 00:12:07 451
原创 Java集合类框架(一)
文章目录一、集合框架二、Collection和Collections的区别三、Collection&&List接口四、Set接口五、Map接口一、集合框架对照下图,iterator 是个接口,用来遍历Collection的,遍历数据。Collection可以看做是一个大的分支,是List和Set的父接口,而List和Set又分别是ArrayList、LinkedList和HashSet、TreeSet的父接口。Collection、List和Set都是接口,ArrayList、Lin
2020-12-09 00:17:52 79
原创 Zookeeper(一)环境安装
文章目录一、解压文件二、改名三、查看权限四、配置环境变量一、解压文件#zookeeper环境搭建和安装先用XFTP把文件上传到/opt/download/hadoop里#解压到要放的文件目录[root@single hadoop]# pwd/opt/download/hadoop[root@single hadoop]# tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz -C /opt/software/hadoop二、改名[root@single h
2020-12-08 22:27:15 76
原创 Zookeeper(二)节点类型和选举机制
文章目录1、Zookeeper特点2、数据结构2.1 类型3、选举机制1、Zookeeper特点Zookeeper:一个领导者(Leader),多个跟随者(follower)组成的集群。Leader负责进行投票的发起和决议,更新系统状态。Follower用于接收客户请求并向客户端返回结果,在选举机制中参与 投票。集群中只要有半数以上节点存活,Zookeeper 集群就能正常服务。 全局数据一致:每个 server保存一份相同的数据副本,client 无论连接到哪 个 server,数据都是一致
2020-12-08 22:17:11 437
转载 Map join和reduce join的区别
MapJoin和ReduceJoin区别及优化 1 Map-side Join(Broadcast join) 思想: 小表复制到各个节点上,并加载到内存中;大表分片,与小表完成连接操作。 两份数据中,如果有一份数据比较小,小数据全部加载到内存,按关键字建立索引。大...
2020-12-08 19:03:39 2509
原创 Hive(二)数据类型
文章目录一、Hive数据类型1.1 基本类型1.2 集合数据类型二、Hive数据结构三、创建删除操作3.1 建库3.2 删除库3.3 更改权限四、内部表和外部表4.1 外部表4.2 内部表一、Hive数据类型Hive支持基本和复杂数据类型:● 基本数据类型:数值型、布尔型、字符串类型和时间戳类型;● 复杂数据类型:数组、映射、结构;1.1 基本类型类型实例TIMESTAMP‘2020-11-20 00:00:00’DATE‘2020-11-20’
2020-12-08 17:35:31 376
原创 Hive(一)安装与配置
文章目录前言一、环境搭建主要步骤1.1 主要步骤1.2 解压文件1.3 文件改名以及warehouse的创建1.4 配置hive-site.xml1.5 拷贝mysql驱动1.6 配置环境变量1.7 Hive初始化1.8 启动hive1.9 关闭进程二、安装流程文档前言什么是Hive?Hive是基于Hadoop的数据仓库解决方案Hive的优缺点:①、统一的元数据管理Hive的元数据可以放在mysql上,表结构信息存储在HDFS上。②、入门简单,类SQL③、灵活性、扩展性支持很
2020-12-08 11:10:38 1351
原创 Hadoop-WordCount
目录首先,明确需要3个类WordCountMapper、WordCountReducer、WordCountDriver一、WordCountMapper二、WordCountReducer三、WordCountDriver首先,明确需要3个类WordCountMapper、WordCountReducer、WordCountDriver一、WordCountMapperpackage cn.kgc.wordcount;import org.apache.hadoop.io.IntWritable
2020-12-03 22:56:23 496
原创 实现java对HDFS的操作
目录一、创建文件二、上传文件到HDFS三、下载一个文件到本地三、列举文件信息一、创建文件package cn.kgc.file;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.junit.Test;import java.io.IOException;import java.net.U
2020-12-03 00:26:13 300
原创 Shell中重定向
目录一、重定向二、脚本移植一、重定向输入输出重定向标准输入 System.in (从控制台输入,可以接收到程序中 Scanner) <shell 中只有一个 read标准输出 System.out (java 控制台输出) > shell中 echo/cat/ls重定向:就是把控制台标准的源头切换成文件#把查询结果存到一个文件中ls -la>~/ls.log#把查询到的结果写入到当前用户根目录下的ls.log文件里验
2020-11-30 22:23:21 766
原创 shell分支循环
分支循环一、if分支二、case分支三、字符串转数组测试四、for循环五、while循环六、until循环一、if分支案例1:TYPE=$1 # 以防不识别,用一个变量接收if [ $1 == "start" ]then echo "start ..."elseif [ $1 == "stop" ]then echo "stop ..."elseif [ $1 == "restart" ]then echo "restart ..."else echo "not sup
2020-11-30 19:11:05 399
原创 shell中#*,##*,%*,%%*的含义及用法
1、#*的用法(最小匹配)左边VAR="/opt/software/hadoop/a.txt"VAR=${VAR#*/}echo $VAR此时,第一条/和它左边的都被删除了最小匹配也就是找的第一个/2、##*(最长匹配) 左边VAR="opt/software/hadoop/a.text"VAR=${VAR##*/}echo $VAR此时可以看出,最后一个/以及左边的全被删除了3、%*含义:右边和它右边的东西被删除VAR="/opt/software/hadoop/a.tx
2020-11-27 00:03:38 10385 1
原创 Shell中的until循环
Shell中的until循环until循环一、格式二、输出1-100值并计算和until循环until循环和while循环相反当条件不成立时才进入循环一、格式until conditiondo statementsdone二、输出1-100值并计算和IX=0until ((IX>100))do echo $IX ((IX++))done计算和IX=0until ((IX>100))do((sum+=Ix)) echo $IX ((IX++))
2020-11-24 10:39:10 278
原创 Shell编程基础一
目录一、Shell简介二、执行脚本1.第一个shell脚本2.注释3.变量的创建和使用4、常量三、变量的分类四、数组五、运算符一、Shell简介Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive)。通俗易懂的来说,是一个环境提供了对Linux系统的接口,可以系统输入一些东西,系统根据你输入的东西,执行程序,并显示程序的输出。Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译。那什么
2020-11-23 18:49:05 277
原创 HBase基本原理和使用
文章目录1. HBase简介1.1 HBase是什么二、关系型数据库和非关系型数据库比较二、使用步骤1.引入库2.读入数据总结1. HBase简介1.1 HBase是什么HBase全称:Hadoop DataBase。从图中不难看出,HBase是构建在HDFS上的分布式存储系统,HBase的文件都存储在HDFS中,HBase利用Hadoop HDFS作为其文件存储系统。一种菲关系型数据库 ,not only sql 。HBase利用Mapreduce处理海量的数据。二、关系型数据库和非关系型数据
2020-11-22 14:28:56 240 1
原创 Hadoop及MapReduce介绍
文章目录一、Hadoop的整体框架二、Hadoop的核心三、MapReduce原理一、Hadoop的整体框架Hadoop由HDFS、MapReduce、HBase、Hive和ZooKeeper等成员组成,其中最基础最重要元素为底层用于存储集群中所有存储节点文件的文件系统HDFS(Hadoop Distributed File System)来执行MapReduce程序的MapReduce引擎。1、HDFS是一个分布式文件系统,有着高容错性的特点,适合那些超大数据集的应用程序;2、HBase是一个开
2020-11-22 14:15:49 1329 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人