自定义博客皮肤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)
  • 收藏
  • 关注

原创 IDEA 应用

一、连接虚拟机二、idea编写shell脚本三、idea连接hiveserver2表描述和字段描述都显示乱码如何解决??1、进入数据库 Metastore 中执行以下 5 条 SQL 语句(1)修改表字段注解和表注解alter table OLUMNS_V2 modify column COMMENT varchar(256) character set ‘utf8’;alter table TABLE_PARAMS modify column PARAM_VALUE v

2020-09-23 19:19:19 249

原创 http请求获取城市名称

项目需求:已有一个json文件***https://editor.csdn.net/md/?articleId=108392812***通过http请求获取城市名称导入所需依赖<dependencies> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</art

2020-09-03 21:00:40 431

原创 json文件http请求获取城市

{“sessionid”:“5uokn1Mzq825Iol9FroBMAtwgS5Brxjs”,“advertisersid”:6,“adorderid”:31547,“adcreativeid”:344121,“adplatformproviderid”:804821,“sdkversion”:“IOS 10.2”,“adplatformkey”:“7MCS0IDOrbxT1MHSyMa5roEL2xsKoG76”,“putinmodeltype”:1,“requestmode”:1,“adprice”:

2020-09-03 20:43:38 686 1

原创 KAFKA

一、kafka概述1、是什么? kafka是分布式的基于发布/订阅的消息队列2、场景 1、一般用于实时场景 2、特殊的离线场景会用到kafka,flume会和kafka整合3、基础架构 1、producer:生产者,向kafka中写入消息 2、consumer:消费者,向kafka中拉取消息进行消费 3、topic:主题。工作中一般是一个业务一个主题,为了数据便于管理,便于获取需要的业务数据 4、partition: 分区。topic的一个分段。 partition能够实现数据的分布

2020-08-23 21:18:43 136

原创 sqoop常用参数

导入bin/sqoop import -----------------公共参数----------------------–connect 指定jdbc url–password 指定数据库密码–username 指定数据库的用户名-----------------导hdfs使用-----------------------–append 追加数据到HDFS目录–as-textfile 将数据写成textfile文件格式–as-parquetfile 将数据写成parquet文件格式–

2020-08-23 21:15:59 190

原创 HBase

一、HBase简介1、Hbase是什么? Hbase是分布式存储海量数据的Nosql数据库2、Hbase的应用场景: 实时 3、数据模型 1、Table: 数据存储形式 2、Region: table的一个分段,region保存在regionserver上面 3、Store: store的个数与列簇的个数一致 4、rowkey: hbase的数据的主键。 数据在hbase中是有序的,按照rowkey的字典序进行排序 5、列簇: hbase的表结构的一部分[相当于mysql的字段] 6

2020-08-23 21:14:58 361

原创 Sqoop

第1章 Sqoop简介Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。

2020-08-20 22:55:42 128

原创 grouping sets函数

grouping sets: 根据不同的维度组合进行聚合,等价于将不同维度的group by结果集进行union allgrouping__id(请注意函数名中的下划线是两个!):表示结果属于哪一个分组集合,属于虚字段cube: 根据group by的维度的所有组合进行聚合。rollup: 为cube的子集,以最左侧的维度为主,从该维度进行层级聚合。(从右向左依次递减)这几个分析函数通常用于,根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的uv数在一个group by查询中,根据不同的.

2020-08-19 23:21:20 8720

原创 YAML语法简易入门

YAML 语法可以查看官方或者其他的博客资料,会有一大堆的内容YAML语言的设计参考了JSON,XML和SDL等语言。YAML 强调以数据为中心,简洁易读,编写简单。有意思的命名:AML全称是”YAML Ain’t a Markup Language”(YAML不是一种置标语言)的递归缩写。 在开发的这种语言时,YAML 的意思其实是:”Yet Another Markup Language”(仍是一种置标语言)。语法特点•大小写敏感•通过缩进表示层级关系•禁止使用tab缩进,只能使用空格键

2020-08-13 21:53:53 252 1

原创 azkaban总结

一、azkaban使用步骤:1、创建project文件,文件内容: azkaban-flow-version: 2.02、创建flow文件3、打成zip包,上传web页面二、flow文件1、flow文件yml格式,需要遵循以下规则①、大小写敏感②、要有缩进,同一个层次,缩进要一样③、缩进不能使用tab[除非使用yaml语言]④、属性与值之间通过:分割,:后面要有空格nodes:name: job名称type: command #command代表使用命令config:comm

2020-08-13 21:47:52 483

原创 Java反射机制

一、反射的概述1.本章的主要内容2.关于反射的理解Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。框架 = 反射 + 注解 + 设计模式。3.体会反射机制的“动态性”//体会反射的动态性@Testpublic void test2(){ for(int i = 0;i < 100;i++){ int num = new Random()

2020-08-02 19:43:24 122

原创 网络编程

一、InetAddress类的使用1、实现网络通信需要解决的两个问题1.1.如何准确地定位网络上一台或多台主机;定位主机上的特定的应用1.2.找到主机后如何可靠高效地进行数据传输2、网络通信的两个要素:2.1.对应问题一:IP和端口号2.2.对应问题二:提供网络通信协议:TCP/IP参考模型(应用层、传输层、网络层、物理+数据链路层)3、通信要素一:IP和端口号3.1.IP的理解IP:唯一的标识 Internet 上的计算机(通信实体)在Java中使用InetAdd

2020-08-02 19:23:59 181

原创 IO流

一、File类的使用1.File类的理解File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)File类声明在java.io包下File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的"终点".2.File的实例化2.1 常用构造器File(String fileP

2020-08-02 18:09:22 55

原创 注解

1. 注解的理解① jdk 5.0 新增的功能*② Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理。通过使用 Annotation,程序员可以在不改变原逻辑的情况下, 在源文件中嵌入一些补充信息。③在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等。在JavaEE/Android中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗代码和XML配置等。框架

2020-08-02 17:24:30 80

原创 多线程

一、程序、进程、线程的理解01. 程序(programm)概念:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。02. 进程(process)概念:程序的一次执行过程,或是正在运行的一个程序。说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域03. 线程(thread)概念:进程可进一步细化为线程,是一个程序内部的一条执行路径。说明:线程作为调度和执行的单位,每个线程拥独立的运行栈和程序计数器(pc),线程切换的开销小。补充:内存结构:进

2020-08-02 13:52:58 79

原创 泛型

一、泛型的理解1.泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时确定(即传入实际的类型参数,也称为类型实参)。2.泛型的引入背景集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个

2020-08-02 13:30:15 114

原创 MySQL基础

第一章 数据库概述1.1 数据库概述DBMS:数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。DB:数据库(Database)SQL:结构化查询语言,(Structure Query Language),专门用来操作/访问数据库的通用语言。MySQL:其中的一款关系型数据库管理系统以下是2019年DB-Engines Ranking 对各数据库受欢迎程度进行调查后的统计结果:(查看数据库最新排名:https://

2020-08-02 10:27:26 195

原创 MySQL(视图、变量与函数)

第1章 视图1.1 视图概述MySQL从5.0.1版本开始提供视图功能。1、什么是视图视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行。但是,视图只保存了sql逻辑,不保存查询结果,行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。2、视图的好处(1)视点集中视图集中即是使用户只关心它感兴趣的某些特定数据和他们所负责的特定任务。(2)简化操作视图大大简化了用户对数据的操作。因为在定义视图时,若视图本身就是一个复杂查询的结果集,这样在每一次

2020-08-02 10:05:21 592

原创 Linux服务器环境搭建

1 行为守则1.1 拍摄快照Linux系统操作非常复杂,搭建开发环境时全部使用命令完成安装过程。而在Linux系统下没有像360安全卫士那样的工具,无法让我们在安装出错后卸载干净。所以建议大家在执行安装过程的每一步时都拍摄快照,保存系统当前状态,一旦安装失败就可以恢复到之前的某个快照重新开始。1.2 系统文件操作前先备份在服务器环境安装过程中经常需要修改配置文件。而Linux环境下配置文件动辄几百、上千行,而且需要在多处进行配置。一旦修改错误想要纠正会很困难。所以要养成一个好习惯:修改配置文件之前先

2020-07-30 23:52:45 465

原创 Linux权限控制与服务

1 概述Linux需要对登录用户读写、执行文件、进入目录、查看增删目录内容等操作进行控制,不能任由用户随意执行所有操作。我们从如下几个方面来认识Linux权限控制体系: 用户管理 用户组管理 文件权限信息 chmod、chgrp、chown命令2 用户和用户组所谓用户其实就是登录Linux系统时使用的账号。而用户组则是把相同权限的用户归纳到同一个组内以便于管理,类似于Java开发中权限控制体系里面“角色”的概念。当我们创建一个账号时如果没有指定属于哪一个用户组,那么Linux就会自

2020-07-30 23:26:41 379

原创 VIM编辑器

1 简介Linux系统环境下的一款非常重要的文本编辑工具,我们在Linux环境下几乎所有的文本文件编辑工作都是靠它。可能你还听说过VI,嗯,VIM是VI的升级版。2 VIM编辑器的三种工作模式3 浏览文件内容操作上下左右移动光标h:左j:下k:上l:右立即移动到页头:gg移动到页尾:shift+g移动到目标行第一步:输入数字N第二步:shift+g移动到行头方式一:shift+^方式二:数字0移动到行尾:shift+$向下移动n行:n向下翻页:Ctrl+f向上翻

2020-07-30 23:11:30 65

原创 Linux基础命令

1 背景知识1.1 Linux系统中一切皆文件在Linux系统中任何东西都是以文件形式来存储的。这其中不仅包括我们熟知的文本文件、可执行文件等等,还包括硬件设备、虚拟设备、网络连接等等,甚至连目录其实都是一种特殊的文件。1.2 Linux文件系统Linux系统环境下的文件系统与Windows有很大区别。在Windows中,每一个盘符下是一个独立的文件系统,硬盘有多少个分区就有多少个文件系统。而在Linux系统中不管创建了多少个硬盘分区都只有一个文件系统。整个文件系统的根目录是“/”,从“/”根目

2020-07-30 23:02:00 273

原创 Hadoop HA高可用

4.1 HA概述(1)所谓HA(High Availablity),即高可用(7*24小时不中断服务)。(2)实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。(3)Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF)。(4)NameNode主要在以下两个方面影响HDFS集群 NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启 NameNode机器需要升级,包括软件、硬件升级,此时集群也

2020-07-28 23:17:47 128

原创 Zookeeper

第1章 Zookeeper入门1.1 概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生了变化,Zookeeper就负责通知已经在Zookeeper上注册的那些观察者做出相应的反应.Zookeeper = 文件系统 + 通知机制工作机制:1.2 特点1.3 数据结构1.4 应用场景提供的

2020-07-27 23:13:32 633

原创 Hadoop运行模式-完全分布式模式

Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。单机模式(独立模式)(Local或Standalone Mode)-默认情况下,Hadoop即处于该模式,用于开发和调式。-不对配置文件进行修改。  -使用本地文件系统,而不是分布式文件系统。  -Hadoop不会启动NameNode、DataNode、JobTracker、TaskTracker等守护进程,Map()和Reduce()任务作为同一个进程的不同部分来执行的。  -用于对MapReduce程序的逻辑进行调试,确保

2020-07-26 15:14:07 447

原创 Hadoop数据压缩

1 概述2 MR支持的压缩编码为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器,如下表所示。压缩格式 对应的编码/解码器DEFLATE org.apache.hadoop.io.compress.DefaultCodecgzip org.apache.hadoop.io.compress.GzipCodecbzip2 org.apache.hadoop.io.compress.BZip2CodecLZO com.had

2020-07-26 14:51:56 205

原创 Hadoop企业优化

1 MapReduce 跑的慢的原因2 MapReduce优化方法MapReduce优化方法主要从六个方面考虑:数据输入、Map阶段、Reduce阶段、IO传输、数据倾斜问题和常用的调优参数。2.1 数据输入2.2 Map阶段2.3 Reduce阶段2.4 I/O传输2.5 数据倾斜问题3 常用的调优参数1)资源相关参数(1)以下参数是在用户自己的MR应用程序中配置就可以生效(mapred-default.xml)(2)应该在YARN启动之前就配置在服务器的配置文件中

2020-07-26 14:34:41 48

原创 Yarn资源调度器

Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。1 Yarn基本架构YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成。2 Yarn工作机制(1)MR程序提交到客户端所在的节点。(2)YarnRunner向ResourceManager申请一个Application。(3)RM将该应用程序的资源

2020-07-25 21:12:19 109

原创 Hadoop常见错误及解决方案

1)导包容易出错。尤其Text和CombineTextInputFormat。2)Mapper中第一个输入的参数必须是LongWritable或者NullWritable,不可以是IntWritable. 报的错误是类型转换异常。3)java.lang.Exception: java.io.IOException: Illegal partition for 13926435656 (4),说明Partition和ReduceTask个数没对上,调整ReduceTask个数。4)如果分区数不是1,但

2020-07-25 20:58:49 460 1

原创 MapReduce:数据清洗(ETL)与计数器的使用

计数器:数据清洗(ETL)ETL:描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。有时候面对大量的数据,我们不方便进行计算,这个时候就需要进行相应的维度分析,解析出你需要的字段,去除一些你不需要的字段,然后进行分析。在运行核心业务MapReduce程序之前,往往要先对数据进行清洗,清理掉不符合用户要求的数据。清理的过程往往只需要运行Mapper程序,不需要运行Reduce程序。1)需求去除日志中字段个数小于等于11的日志。(1)输入

2020-07-25 20:46:46 387

原创 MapReducce:reduce join与map join

1 Reduce Join工作原理:2 Reduce Join案例实操1)需求表4-4 订单数据表t_orderid pid amount1001 01 11002 02 21003 03 31004 01 41005 02 51006 03 6表4-5 商品信息表t_productpid pname01 小米02 华为03 格力将商品信息表中数据根据商品pid合并到订单数据表中。表4-6 最终数据形式id pname amount1001 小米 1

2020-07-25 19:45:15 94

原创 OutputFormat数据输出

1 OutputFormat接口实现类2 自定义OutputFormat3 自定义OutputFormat案例实操1)需求过滤输入的log日志,包含atguigu的网站输出到e:/atguigu.log,不包含atguigu的网站输出到e:/other.log。(1)输入数据(2)期望输出数据2)需求分析3)案例实操(1)编写FilterMapper类package com.atguigu.mapreduce.outputformat;import java.io.IOExce

2020-07-23 22:06:27 459

原创 Shuffle机制

1 Shuffle机制Map方法之后,Reduce方法之前的数据处理过程称之为Shuffle。2 Partition分区3 Partition分区案例实操1)需求将统计结果按照手机归属地不同省份输出到不同文件中(分区)(1)输入数据1 13736230513 192.196.100.1 www.atguigu.com 2481 24681 2002 13846544121 192.196.100.2 264 0 2003 13956435636 192.196.100.3

2020-07-23 22:01:47 126

原创 MapReduce工作流程(MapTask、ReduceTask工作机制)

MapReduce工作流程一:MapReduce工作流程二:上面的流程是整个MapReduce最全工作流程,但是Shuffle过程只是从第7步开始到第16步结束,具体Shuffle过程详解,如下:(1)MapTask收集我们的map()方法输出的kv对,放到内存缓冲区中(2)从内存缓冲区不断溢出本地磁盘文件,可能会溢出多个文件(3)多个溢出文件会被合并成大的溢出文件(4)在溢出过程及合并的过程中,都要调用Partitioner进行分区和针对key进行排序(5)ReduceTask根据自己的分

2020-07-23 21:15:04 780

原创 MapReduce框架原理-InputFormat数据输入

1 InputFormat数据输入1 切片与MapTask并行度决定机制1)问题引出MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度。思考:1G的数据,启动8个MapTask,可以提高集群的并发处理能力。那么1K的数据,也启动8个MapTask,会提高集群性能吗?MapTask并行任务是否越多越好呢?哪些因素影响了MapTask并行度?2)MapTask并行度决定机制数据块:Block是HDFS物理上把数据分成一块一块。数据切片:数据切片只是在逻辑上对输入进

2020-07-23 20:54:11 72

原创 Hadoop序列化

1 序列化概述1.1什么是序列化序列化是把内存中的对象,转化为字节序列(或者其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。反序列化是将收到的字节序列(或者其他数据传输协议)或者是磁盘的持久化数据,转化为内存的对象。1.2为什么要序列化“活的”对象只生存在内存中,关机断电就没有了,“活的”对象只能由本地的进程使用,不能发送到网络的另一台计算机。然而序列化可以存储“活的”对象,还可以发送到远程计算机。1.3为什么不用Java的序列化java的序列化是一个重量级的序列化框架(Seriali

2020-07-23 15:49:39 113

原创 MapReduce概述和cordcount程序

一、MapReduce概述1、MapReduce定义MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。自带默认组件:conbiner,join,partition,mapper,reduce等等。2 MapReduce优缺点2.1 优点1)MapReduce 易于编程它简单的实现一些接口,就可以完成一个分布

2020-07-23 14:39:10 137

原创 Hadoop查看默认配置文件或者方法源码

Hadoop查看默认配置文件网上查询默认配置文件位置:一般是在 /opt/module/hadoop-3.1.3/share/hadoop 各个目录内的jar包中:以下为获取默认配置文件core-default.xml为例:第一步、将配置文件的jar包下载到桌面第二步、打开反编译工具,将文件拖入反编译工具中即可得到需要的配置文件。Hadoop查看WordCount源码和查看默认配置文件方法一样第一步、将方法jar包下载到桌面第二步、反编译jar包即可查找方法源码...

2020-07-23 01:21:39 2349

原创 Hadoop运行环境搭建

3.1 模板虚拟机环境准备1)准备一台模板虚拟机hadoop100,虚拟机配置要求如下:注:本文Linux系统环境全部以CentOS-7.5-x86-1804为例说明模板虚拟机:内存4G,硬盘50G,安装必要环境,为安装hadoop做准备检查第三方依赖,如果没有就进行安装,已经安装则跳过:[root@hadoop100 ~]# yum install -y epel-release[root@hadoop100 ~]# yum install -y psmisc nc net-tools rsy

2020-07-22 23:36:55 194

原创 大数据之hadoop入门

一、大数据概念1、数据存储单位:2、大数据特点:① 大量:一些大企业数据量级已经接近EB级。② 高速计算:例如天猫双十一需要实时计算交易额。③ 多样:数据包含图片,日志,视频,音频等等,对数据的处理提高更高的要求。④ 低价值密度:如何快速对有价值数据进行提纯成为大数据背景下需要解决的难题。3、大数据应用...

2020-07-22 23:33:28 130

空空如也

空空如也

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

TA关注的人

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