自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 11.17 spark中使用自定义函数

spark中使用UDF函数import org.apache.spark.SparkContextimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, SparkSession}object SparkUDFDemo { case class Hobbies(name:String,hobbies:String) def main(args: Array[String]): Unit = {

2020-11-18 11:19:33 248

原创 11.18 spark操作外部数据源

spark操作hive首先需要将hive/conf目录下的hive-site.xml文件拷贝到spark的conf目录下cp /opt/hive/conf/hive-site.xml /opt/spark245/conf检查hive.metastore.uris是否正确(TODO:未配置完成,使用idea连接失败)<property> <name>hive.metastore.uris</name> <value>thrift://1

2020-11-18 11:18:44 127

原创 11.19 spark RDD算子(二)

spark RDD算子 键值对分组操作 groupByKey,cogroupgroupByKeygroupByKey会将RDD[key,value] 按照相同的key进行分组,形成RDD[key,Iterable[value]]的形式, 有点类似于sql中的groupby,例如类似于mysql中的group_concatscala版:nameScoreRDD.groupByKey().collect.foreach(println)java版:List<Tuple2<String,

2020-11-10 11:22:22 155

原创 11.6 spark RDD算子(一)

spark RDD算子 parallelize,makeRDD,textFileparallelizescala版:val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("paralllize")val sc: SparkContext = SparkContext.getOrCreate(conf)val rdd1:RDD[Int] = sc.parallelize(1 to 100)java版:Spa

2020-11-08 12:39:37 131

原创 11.03 scala和spark 的下载安装

安装spark上传scala和spark安装文件到linux中的software中解压scala-2.11.12.tgz和spark-2.4.5-bin-hadoop2.6.tgz:tar -zxf scala-2.11.12.tgz -C /opttar -zxf spark-2.4.5-bin-hadoop2.6.tgz -C /opt进入opt目录下对文件夹进行重命名mv scala-2.11.12/ scala211mv spark-2.4.5-bin-hadoop2.6/ s

2020-11-03 15:09:25 151

原创 10.22 Scala模式匹配

Scala中的模式匹配模式匹配是Scala中非常有特色,非常强大的一种功能。模式匹配,其实类似于Java中的swich case语法,即对一个值进行条件判断,然后针对不同的条件,进行不同的处理。但是Scala的模式匹配的功能比Java的swich case语法的功能要强大地多,Java的swich case语法只能对值进行匹配。但是Scala的模式匹配除了可以对值进行匹配之外,还可以对类型进行匹配、对Array和List的元素情况进行匹配、对case class进行匹配、甚至对有值或没值(Option)

2020-10-22 15:28:31 62

原创 ZooKeeper知识点总结

ZooKeeperZookeeper概述概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。ZooKeeper角色Leader(领导者)负责进行投票的发起和决议,更新系统状态Follower(跟随者)用于接收客户端请求并向客户端返回结果,在选主过程中参与投票Observer(观察者)可以接收客户端连接,将写请求转发给Leader节点。但Observer不参加投票过程,只同步Leader状态。特点zk Service

2020-10-14 15:31:53 211

原创 Hive知识点总结

HiveHive基本概念什么是HiveHive:由FaceBook开源,用于解决海量结构化日志的数据统计Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能本质:将HQL转换成MapReduce程序Hive处理的数据存储在HDFSHive分析数据底层的实现是MapReduce执行程序运行在YARN上Hive的优缺点优点操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)避免了去写MapReduce

2020-10-14 15:30:37 295

原创 HBase知识点总结

HBaseNoSQLNoSQL概念NoSQL理论NoSQL理论.pptxHBase介绍HBase的起源起源于谷歌论文BigTable高可靠性,高性能,面向列,可伸缩的分布式存储系统列存储的非关系型数据库目标:存储并处理大型数据特点海量存储列式存储列族易扩展基于上层处理能力的扩展(regionServer)基于存储的扩展(HDFS)高并发HBase的架构HDFS底层HBasezookeeper

2020-10-14 15:30:05 158

原创 Hadoop知识点总结

HadoopHadoop框架Hadoop是什么Hadoop是一个由Apache基金会所开发的分布式系统基础架构主要解决,海量数据的存储和海量数据的分析计算问题广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈Hadoop发行版本Apache、Cloudera、Hortonworks(需要明确自己使用的版本)Apache版本最原始(最基础)的版本,对于入门学习最好Cloudera在大型互联网企业中用的较多Hortonworks文档较好Hadoop优势高可靠

2020-10-14 15:29:08 479

原创 9.26 Sqoop下载安装及使用

Sqoop的安装及使用Sqoop的安装安装Sqoop的前提是已经具备Java和Hadoop、Hive、Zookeeper、HBase的环境。下载并解压sqoop安装包sqoop-1.4.6-cdh5.14.2.tar.gz安装包的下载路径:链接:https://pan.baidu.com/s/1A10KF5OkdVRF3NG0WB5dnw 提取码:q0v0下载完成后上传到linux上 解压Sqoop安装包到指定的目录:tar -zxvf sqoop-1.4.6-cdh5.14.2.tar.

2020-09-29 16:14:06 500

原创 9.24 Hbase基础

Hbase基础NoSQLNoSQL:not only SQL,非关系型数据库NoSQL是一个通用术语指不遵循传统RDBMS模型的数据库数据是非关系的,且不使用SQL作为主要查询语言解决数据库的可伸缩性和可用性问题不针对原子性或一致性问题为什么使用NoSQL互联网的发展,传统关系型数据库存在瓶颈高并发读写高存储量高可用性高扩展性低成本NoSQL和关系型数据库对比主要有以下一些区别对比NoSQL关系型数据库常用数据库HBase、M

2020-09-24 16:54:19 114

原创 9.22 hive 函数

Hive函数Hive函数分类从输入输出角度分类标准函数:一行数据中的一列或多列为输入,结果为单一值聚合函数:多行的零列到多列为输入,结果为单一值表生成函数:零个或多个输入,结果为多列或多行从实现方式分类内置函数自定义函数UDF:自定义标准函数UDAF:自定义聚合函数UDTF:自定义表生成函数内置函数Hive提供大量内置函数供开发者使用标准函数字符函数类型转换函数数学函数日期函数集合函数条件函数聚合函数表生成函数字符函数

2020-09-22 16:59:19 91

原创 9.17 hive高级语法01

hive高级语法数据库(Database)表的集合,HDFS中表现为一个文件夹默认在hive.metastore.warehouse.dir属性目录下如果没有指定数据库,默认使用default数据库create database if not exists myhivebook;use myhivebook;show databases;describe database default; --more details than ’show’, such as location

2020-09-17 20:00:21 430

原创 9.16 hive基础语法

Hive基础语法HiveServer和beeline(HiveServer2)的区别:hive不需要启动服务再访问beeline需要启动服务端,在访问客户端beeline在查询效率上比hive高,beeline不支持update和deletehive:连接方式hive -h hostname -p port加载文件将本地文件上传到指定的存储路径中表就可以读取到数据(需要和表结构匹配)使用load命令load data local inpath 'local_dir

2020-09-16 17:34:26 220

原创 9.15 分布式资源调度框架yarn

分布式资源调度框架yarnyarn的前世今生Hadoop1.x 版本中最大的问题是资源问题对数据的处理和资源调度主要依赖MapReduce完成,只能运行MapReduce程序JobTracker负责资源管理和程序调度,压力较大Hadoop2.x 版本添加 YARN主要负责集群资源管理yarn概述YARN(Yet Another Resource Negotiator)核心思想是将资源管理和任务的监控和调度分离通用的资源管理系统,可为不同的应用(MapRedu

2020-09-15 20:19:05 96

原创 9.12 MapReduce原理及编程

MapReduce原理及编程Hadoop架构HDFS - 分布式文件系统MapReduce - 分布式计算框架YARN - 分布式资源管理系统Common什么是MapReduce?MapReduce是一个分布式计算框架它将大型数据操作作业分解为可以跨服务器集群并行执行的单个任务。起源于Google适用于大规模数据处理场景每个节点处理存储在该节点的数据每个job包含Map和Reduce两部分MapReduce的设计思想分而治之简化并行计算的编程模型

2020-09-15 20:16:56 158

原创 9.15 Hive基础介绍

Hive什么是Hive?. 基于Hadoop的数据仓库解决方案将结构化的数据文件映射为数据库表提供类sql的查询语言HQL(Hive Query Language)Hive让更多的人使用HadoopHive成为Apache顶级项目Hive始于2007年的Facebook官网:hive.apache.orgHive的优势和特点提供了一个简单的优化模型HQL类SQL语法,简化MR开发支持在不同的计算框架上运行支持在HDFS和HBase上临时查询数据支持用户自定义函数

2020-09-15 16:54:19 980

原创 9.9 大数据概况以及Hadoop生态圈

大数据1、什么是大数据 大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。2、大数据特征 4V特征: Volume(大数据量):90% 的数据是过去两年产生 Velocity(速度快):数据增长速度快,时效性高 Variety(多样化):数据种类和来源多样化 数据种类包括结构化数据,半结构化数据,非结构化数据,表现为日志,音频,视频,图片,地理位置信息等 Value(价值密度低):需挖掘获取数据价值 固有特征: 时效性:指一段时间在某一时间段

2020-09-10 18:59:14 231

原创 9.8 hadoop高可用搭建

前提条件:1、 hadoop集群是OK的2、zookeeper是OK的3、修改 core-size.xml<!-- 指定hdfs的nameservice为ns --> <property> <name>fs.defaultFS</name> <value>hdfs://ns</value> </property> <!-- 指定hadoop临时目录 --> <prope

2020-09-08 13:57:58 88

原创 9.4 使用java操作hadoop

操作前准备1、新建maven项目2、引入jar包<!-- 引入hadoop-common Jar包 --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0</version> </depen

2020-09-04 14:33:44 732

转载 9.3 Hadoop配置安装

分布式由分布在不同主机上的进程(程序)协同在一起才能构成整个应用。Browser/web server:瘦客户端程序.大数据4V特征1.Volumn : 体量大2.Velocity : 速度快3.Variaty : 样式多4.Value : 价值密度低Hadoop可靠的、可伸缩的、分布式计算的开源软件.是一个框架、允许跨越计算机集群的大数据集处理,使用简单的编程模型(MapReduce)。可从单个服务器扩展到几千台主机,每个节点提供了计算和存储的功能。而不是依赖高可用性的机

2020-09-03 17:29:36 105

原创 9.2 ELK集群的搭建

ELK集群的搭建一、复制虚拟机二、修改主机名和主机列表 1.网络地址 (1)输入:vi /etc/sysconfig/network-script/ifcfg-enp0s3 修改网络ip地址 2.主机名 (1)hostnamectl set-hostname test01 (2)vi /etc/hostname 内容修改为test01 3.主机列表 (1)vi /etc/hosts 内容增加 主机的ip地址 主机名三、配置免密登录 1.ssh

2020-09-02 19:08:09 74

原创 09.02 elk的安装和配置使用

ELK的安装配置一、ES简介 ES是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎。 特点是:高可用,高扩展,是一种NOSQL的数据存储工具二、ES安装前的准备(elk安装包版本要求一致) 下载:elasticsearch-6.2.2.tar.gz elasticsearch-head-master.zip kibana-6.2.2-linux-x86_64.tar.gz logstash-6.2.2.tar.gz node-v8.9.1-l

2020-09-02 19:04:51 87

原创 8.26 Linux系统软件安装

远程连接七、主机名和主机列表1、默认的主机名是:localhost.localhostDomain2、修改主机名的两种方式: (1)hostnamectl set-hostname 新主机名 (2)vi /etc/hostname 在其中把[主机名]改成[新主机名](需要重启才能生效)3、主机列表 vi /etc/hosts 在其中加上:主机ip地址 主机名(可以有多个)4、ssh 用户名@主机名/ip地址:连接到对应的主机5、添加互信:(每台机器都要对其他机器做下面的动作) (1)生成

2020-08-28 14:33:53 78

原创 8.25 Linux基础命令

一、目录命令:1、增加目录 (1)mkdir [/路径/]目录名 -p递归创建文件夹2、删除目录 (1)rmdir [/路径/]目录名 rm -rf3、改变目录 (1)复制:cp 原路径 新路径 cp -r 复制文件夹 (2)移动/重命名:mv 原路径 新路径4、查看目录 (1)查看当前目录路径:pwd (2)切换到路径:cd (3)查看目录内容:ls ①-a 展示所有文件(包括隐藏文件)-A(不包括 当前目录. 和父级目录..) ②-l 展示所以文件的详细信息 ③-R

2020-08-25 17:27:37 94

原创 MySQL视图

MySQL视图什么是视图: 视图是存储在数据库中的查询的sql 语句 本质是查询语句的结果,存入一个临时空间 是一个虚拟表,其内容由查询定义 视图在数据库中没有原本的物理存储,只是相当于临时表 对其中所引用的基础表来说,MySQL视图的作用类似于筛选 可以是一个表或多个表视图的优点: 简单化,数据所见即所得 安全性,用户只能查询或修改他们所能见到得到的数据 逻辑独立性,可以屏蔽真实表结构变化带来的影响视图的缺点: 性能差,修改不方便视图的作用: 作用1:提高重用性 需

2020-08-21 17:24:39 135

原创 JDBC连接数据库

JDBC是什么JDBC的概念: Java Database Connectivity(Java语言连接数据库)JDBC的本质: JDBC是SUN公司制定的一套接口(interface) java.sql.*; 接口都有调用者和实现者。 面向接口调用、面向接口写实现类,这都属于面向接口编程。面向接口编程的有点: 解耦合:降低程序的耦合度,提高程序的扩展力。 多态机制就是非常典型的:面向抽象编程(不面向具体编程)JDBC编程注:进行JDBC开发前需要先从官网下载对应的驱动jar包

2020-08-21 17:11:30 94

原创 MySQL内容整合以及自键表结构分析和代码

MySQL内容回顾mysql 锁:表级锁、行级锁(单独针对update)、库级锁、事务锁底层存储结构:bTreemysql:数据库管理系统(dbms)库:存储数据的地方表:定义一种关系,用于数据与关系的对应视图:可以看做一个虚拟表,表结构和数据由定义的查询语句决定的 作用:提高代码重用性,安全,对外接口统一 劣势:效率低下,在连表的基础上不能进行增删改触发器:增删改操作的条件出发 作用:自动执行某些操作,减少流程 劣势:定义时不校验触发语句的有效性】 insert:new del

2020-08-20 20:11:41 111

原创 8.19 MySQL触发器

什么是MySQL的触发器(1)什么是触发器 触发器使用来在某些操作是,“自动”执行一些操作 当insert delete update设置触发器之后,执行insert delete update操作就会自动出发设置的内容。 注:一张表最大能有6个触发器(3*2,三种操作*两种时间(before|after))(2)触发器的定义: 语法:create trigger 触发器名 before|after 事件 on 表名 for each row 触发器语句; 触发器名建议为trigger_xx

2020-08-19 21:59:48 110

原创 8.15 MySQL练习题

建表以及添加数据CREATE DATABASE `Work_08_12`;CREATE TABLE tb_class( cid INT(4) PRIMARY KEY, cname VARCHAR(20));CREATE TABLE tb_student( sid INT(4) PRIMARY KEY, sname VARCHAR(20), gender VARCHAR(1), class_id INT(4), CONSTRAINT k_stu_cla FOREIGN KEY (cl

2020-08-15 09:20:28 127

原创 8.6 反射

反射:框架设计的灵魂 *框架:指半成品软甲。可以在框架的基础上进行软件开发,简化编码。 使用框架是不需要使用反射。 *反射:将类的各个组成部分封装为其他对象,这就是反射机制 *好处: 1、可以在程序运行过程中,操作这些对象。 2、可以解耦,提高程序的可扩展性。 *获取Class对象的方式: 1、Class.foriName("全类名"):将字节码文件加载进内存,返回Class对象 *多用于配置文件,将类名定义在配置文件中。读取文件,加载类 2、类名.class:通

2020-08-11 19:52:44 89

原创 8.11初识SQL

在linux系统上安装sql并配置linux虚拟机安装mysql步骤1、网络配置(仅主机:static,yes,IPADDR=)2、systemctl restart network 重启网络配置3、停止和禁用防火墙systemctl stop firewalldsystemctl disable firewalld4、moba远程连接虚拟机5、上传安装包(1个jdk,2个mysql)6、解压jdk包:tar -zxvf jdk。。。7、配置环境变量 :vi /etc/profile (

2020-08-11 19:46:04 95

原创 8.5 多线程

多线程什么是多线程:如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为“多线程”多个线程交替占用CPU资源,而非真正的并行执行多线程的好处:充分利用CPU的资源简化编程模型带来良好的用户体验主线程Thread类:Java提供了java.lang.Thread类支持多线程编程主线程:main()方法即为主线程入口产生其他子线程的线程必须最后完成执行,因为它执行各种关闭动作实例:通过集成Thread类实现创建线程TestThread类:package cn

2020-08-05 20:03:18 462

原创 8.4 输入和输出处理(二)

流的分类流的分类: 普通流分类: 流向: 读取数据单元: 转换流:InputStreamReader,OutputStreamWriter 高级流:不能直接作用于文件,要装载普通流/转换流 缓冲流:BufferedReader 二进制流: 对象流: 写对象: 1、要求对象的类型必须是可序列化类型(实现了Serializable接口) 2、先有写入的目标流 3、创建对象流,把输出流装入 4、调用对象流的writeObject()把对象装入

2020-08-05 08:31:42 122

原创 8.3 输入和输出处理

IO流绝对路径和相对路径:绝对路径:一般是从根目录开始的,写全路径相对路径:一般从当前路径开始的FileInputStream读文件的流程:1、FileInputStream对象和String结果对象声明2、创建FileInputStream对象(文件路径或File对象)3、读单字节或整个读到byte数组中4、转成字符串5、关闭FileInputStream流6、返回结果字符串FileOutputStream写文件的流程:1、File对象装载文件路径2、判断文件父级目录是否存在,

2020-08-03 21:53:53 112

原创 IDE中Maven的安装和配置

Maven的安装和配置1、Maven下载和安装下载链接:https://pan.baidu.com/s/1C_IWxnzyXPnvaMhEfqwSpw.提取码: nb8n下载完成后打开压缩包进行解压,解压文件位置最好不要放在c盘,记住解压后文件的位置。2、Maven环境变量配置新建变量名为:MAVEN_HOME 变量值:解压后maven文件的位置 例如:E:\softs\apache-maven-3.6.1在PATH变量中添加一条:%MAVEN_HOME%\3、修改settings.xm

2020-07-30 20:03:12 1024 2

原创 7.30 实用类介绍

枚举枚举:可以认为是类的变种 里面的直接写的值都是该类的公共静态常量,可以用类型.值的方式调用 可以和普通类一样定义属性和方法 valueOf方法常用来将该类的枚举类型与字符串类型比较实例:性别Sex类:package cn.kgc.kb09;public enum Sex {//枚举类型 男,女,value; private String sex; Sex() { } Sex(String sex) { this.sex = s

2020-07-30 18:44:35 99

原创 7.29 HashMap和快速排序以及泛型的使用

HashMapMap集合的使用:import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Set;/** * @Author LiXiang * @Date 2020/7/29 * @Description 英文名和中文名对应 */public class TestMap { public static void main(String[] a

2020-07-29 22:21:05 287

原创 7.28 List集合和Set集合

List集合和Set集合collection:无序、可重复的一组数据 List:有序、可重复 ArrayList:底层是可变数组,遍历元素更快,改变值也就更快 LinkedList:底层是双向链表,插入、删除更块 Set:无序、不可重复Map:实现一一对应(Entry) HashMap1、set中存放的是无序,唯一的数据2、set不可以通过下标获取对应位置的元素的值,因为无序的特点3、使用treeset底层的实现是treemap,利用红黑树来进行实现4、设置元素的时候,如果是自

2020-07-28 19:51:37 135

空空如也

空空如也

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

TA关注的人

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