自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gru的博客

路漫漫其修远兮吾将上下而求索

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

原创 查看Hadoop日志

Hadoop的默认的日志是在$HADOOP_HOME的log目录下,分为.log和.out文件两种我们只需要查看.log文件通常.log文件的格式为:hadoop-hadoop-datanode-hadoop002.loghadoop-用户名-进程名-机器名.log查看日志的步骤:(以查看ERROR为例)先查看文件大小 ll -h,如果不是很大,直接用vi命令进入,然后在命令行模式 ...

2019-07-23 10:49:11 2705

原创 查看云主机(ECS)的IP

curl ipinfo.io

2019-07-22 18:42:56 897

原创 Spark_8 Spark常用算子对比

map与mapPartitionsmap详解:Return a new RDD by applying a function to all elements of this RDD对RDD中的每一个元素都执行一个functionmapPartitions:Return a new RDD by applying a function to each partition of this R...

2019-07-18 18:16:03 357

原创 Spark_7 SparkCore共享变量

共享变量共享变量的概述广播变量广播变量概述及底层分析广播变量的使用累加器累加器概述累加器的使用系统累加器自定义累加器共享变量的概述Spark 一个非常重要的特性就是共享变量。默认情况下,如果在一个算子的函数中使用到了某个外部的变量,那么这个变量的值会被拷贝到每个 task 中,此时每个 task 只能操作自己的那份变量副本。如果多个 task 想要共享某个变量,那么这种方式是做不到的。Sp...

2019-07-14 14:47:08 195

原创 Spark_6 Spark on YARN

Spark on YARNYARNSpark on YARN执行流程YARNYarn 是一个操作系统级别的统一的资源管理和调度框架多种计算框架可以通过Yarn共享集群资源,按需分配 ==> 可以提升资源的利用率Yarn上可以跑:批处理作业(MR)交互式INTERACTIVE(Tez)ONLINE (HBASE)Streaming (Storm/Flink)In-Memory...

2019-07-13 11:45:30 217

原创 Spark_5 RDD依赖关系

RDD依赖关系Lineage窄依赖与宽依赖窄依赖宽依赖宽依赖与窄依赖在应用上的区别DAG任务划分RDDs 通过操作算子进行转换,转换得到的新 RDD 包含了从其他 RDDs 衍生所必需的信息,RDDs 之间维护着这种血缘关系,也称之为依赖。依赖包括两种,一种是窄依赖,RDDs 之间分区是一一对应的,另一种是宽依赖,下游 RDD 的每个分区与上游RDD(也称之为父 RDD)的每个分区都有关,是多对...

2019-07-12 20:36:12 145

原创 Spark_4 SparkCore缓存和CheckPoint

目录概述cache()和persist()区别概述如果在应用程序中多次使用同一个 RDD,可以将该 RDD 缓存起来,该 RDD 只有在第一次计算的时候会根据血缘关系得到分区的数据,在后续其他地方用到该 RDD 的时候,会直接从缓存处取而不用再根据血缘关系计算,这样就加速后期的重用。cache在执行的时候也是 lazy 的,需要一个action触发;去除缓存时是eagle的cache如果采...

2019-07-12 19:46:12 147

转载 Hive_04 使用sql进行增量结合历史数据分析

转载自:https://blog.csdn.net/qq_32641659/article/details/89435726目录需求Hive SQL的统计分析需求已知用户的月度点击次数信息,如下图,第一列为用户名称,第二列为月份,第三列为该月用户点击次数。要求扩充维度,每行增加两列信息,包括目前最大点击次数和目前总点击次数。Hive SQL的统计分析创建月度点击统计表CREATE...

2019-07-11 15:23:52 257

原创 Spark_3 Spark Core运行架构

目录Spark运行架构:名词介绍Spark 运行注意点Spark运行架构:Spark运行架构包括集群资源管理器(Cluster Manager)、运行作业任务的工作节点(Worker Node)、每个应用的任务控制节点(Driver)和每个工作节点上负责具体任务的执行进程(Executor)与Hadoop MapReduce计算框架相比,Spark所采用的Executor有两个优点:是利...

2019-07-11 11:12:08 166

原创 Spark_0 Spark版本及编译

目录Spark版本Spark编译Spark版本学习用2.4.2大版本 APIs change次版本 APIs/features小版本 (核心的东西没有变,只是修复了一些bug)所以小版本要选大的小版本如果是0,最好不要选,没有被修复过,bug多Spark编译由于hadoop-2.6.0-cdh5.7.0和官网的hadoop2.6.0不一样。并且,Spark需要支持...

2019-07-11 10:14:14 168

原创 Scala常用知识点总结

目录Scala中的基本数据类型Scala中的方法我使用的Scala版本:2.11.8由于平常都是使用Java开发代码,使用Scala只是为了写部分Spark代码以及查看Spark源码的,所以经常忘记,故写一篇小结总结一下:Scala中的基本数据类型Byte,Char,Short,Int,Long,Float,Double Boolean(都是大写)val/var 变量名:数据类型 = 值...

2019-07-10 09:26:57 213

原创 Hive_03 Hive on Hadoop执行流程

常用的SQL不外乎分为两种 select yyy, 聚合函数 from xxx group by yyy; select a.*, b.* from a join b on a.id=b.id; SQL AST QB Operator Tree Operator Tree Task Tree ...

2019-07-09 19:24:32 277

原创 Hive_02统计各个城市下最受欢迎的TopN产品

目录概述步骤概述需求:统计各个城市所属区域下最受欢迎的Top 3产品分析:各个城市的TopN产品,是分组求TopN问题,需要使用窗口函数数据:城市区域对应信息、产品信息表以及用户点击日志其中 城市区域对应信息、产品信息表 存在MySQL中,而我们需要在Hive中去分析数据,所以需要将MySQL中的表导入Hive中,这里使用sqoop步骤创建 用户点击行为日志表 ,并load数据...

2019-07-09 14:59:06 987

原创 Java、Scala、Hive中“值匹配”的不同写法

Java的switch case switch(表达式){ case 常量1: 语句1; // break; case 常量2: 语句2; // break; … … case 常量N: 语句N; // break; default: 语句; // break; }Scala的match 变量 match { case 值1 => 代码 case ...

2019-07-09 09:15:21 145

原创 大数据中的压缩

目录压缩优缺点压缩格式压缩的使用场景压缩优缺点优点:节省磁盘空间,提升磁盘利用率,加速磁盘/网络IO;缺点:解压/压缩是需要CPU的,压缩会使集群cpu利用率高,所以当集群负载高了就不要使用压缩了;总结来说,需不需要使用压缩是磁盘和CPU的取舍,也反映了大数据层面的任何调优都不是万能的,都需要根据实际需求来做调优。压缩格式大数据中常用的压缩格式:Bzip2,Gzip,Lzo,Lz4,S...

2019-07-07 16:46:41 359

原创 Flume小结

Web/Application Server(Nginx)========>HDFScollect日志类型:access日志:访问、请求、客户端、agent信息,与业务无关的;ugc日志:业务相关日志;collect方法:1. 只要这台机器有GATEWAY,通过 hdfs dfs -put 传上去,通过 crontab 封装一下,定时去发送缺点:这样的数据传递具有延时性;采用压...

2019-06-27 15:14:26 180

原创 Spark SQL外部数据源

Data Source(1.2)概述源端 ==> MapReduce/Hive/Spark ===> 目标端业务逻辑处理都是在引擎层面来考虑load ======> ETL/… ======> save存在的问题:1.数据文件格式有很多,普通文本,JSON这种带Schema信息的等等等等2.数据有可能存在在本地/HDFS/S3因为这两大类问题的存在,使得...

2019-06-27 15:12:42 144

原创 DataFrame

DataFrameval df = spark.read.json(“file:///home/xxxxxxxx.json”) //底层是外部数据源df.showdf.printSchema定义Schemaval structType = StructType(Array(StructField(“id”,StringType,true),StructField(“id”,StringT...

2019-06-27 15:11:03 329

原创 Spark SQL

Spark SQL:SparkSQL 是用来处理结构化数据的结构化数据:SQLORC/Parquet/JsonSparkSQL1.0出来的 1.3毕业的为什么需要SQL?对数据进行分析 方便易用 面广但是原有的数据库无法满足现在的需求需要云化: RDBMS ===> Hadoop生态 需要开发大量的UDF函数BigData: storage + compute普通的...

2019-06-27 15:10:04 155

原创 Spark Core练习

Spark如何进行大数据业务处理:1. 拿到需求之后:1) 分析2) 功能拆解:中文描述 <== 详细设计说明书3) 代码的开发:代码实现2. 生产上边界值 ==> 使得你的代码具有健壮性 事先考虑一些异常。避免因为一些异常使整个作业挂掉WordCountobject WordCounts {def main(args: Array[String]): Uni...

2019-06-27 15:09:36 343

原创 Spark Shell

学会抄代码很多作业都需要脚本来启动1)了解Spark-Shell的启动流程2)抄抄抄Shell script for starting the Spark Shell REPL //REPL: Read-Evaluate-Print-Loop$uname 检查系统信息uname -r 看一下系统的版本uname -a 看一下系统所有的信息if [ -z “” ] 判断字...

2019-06-27 14:54:18 87

原创 Spark Core优化

Spark Tuning概述:Spark Program的瓶颈:CPU:memory:CPU和memory合称为资源network bandwidth:Spark哪些地方可以优化: storing RDDs in serialized form to decrease memory usage 以序列化的方式存储减少内存的使用 memory:内存调优:1. 对象占用了多少...

2019-06-27 14:51:56 211

原创 Spark Shuffle

shuffle是一个re-distributing data 重新分发数据的过程;map tasks to organize the datareduce tasks to aggregate itindividual map tasks are kept in memory until they can’t fit然后根据目标分区排序并写到一个单独的文件reduce tasks r...

2019-06-27 14:49:52 80

原创 Java比较器

目录为什么需要比较器为什么需要比较器比较器是用来比较对象的大小 正常情况下:对象只能进行比较:== != 而不能使用> 或者 <但在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小。如何实现? 实现两个接口中的任意一个:Comparable 或 Comparator在写代码中:只要是涉及到对象去比较大小/排序 就要使用比较器Comparable:是要...

2019-06-21 09:05:06 157

原创 Java集合

目录集合概述Collection接口Collection接口常用方法迭代器接口Iterator使用Iterator遍历CollectionCollection 和 Iterator 的remove 方法的区别加强 for 循环用于遍历集合、数组(JDK5.0+)ListList接口常用方法ArrayListLinkedListVectorArrayList、LinkedList、Vector异同点...

2019-06-20 11:20:03 2684

原创 String常用类及常用方法

String常用类及常用方法String类String的不可变性:String常用方法String类String:字符串,使用一对""表示1. String类声明为final,不可以被继承2. String类 实现了Serializable接口,表示字符串是支持序列化的     实现了Comparable接口,表示字符串是可以比较大小的3. 内部定义了final char[] valu...

2019-06-19 08:55:35 1024

原创 [Spark总结]Spark Core概述

Spark CoreSpark Core 概述Spark Core相关术语Spark ApplicationDriverCluster ManagerWorker NodeExecutorTaskJobSpark Core 概述  Spark Core实现了 Spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core 中还包含了对弹性分布式数据集RDD...

2019-05-07 09:02:21 755

原创 Spark_2 RDD

Spark Core 以及 RDDSpark运行架构:RDD概述RDD的定义RDD的五大特点:五大特点在源码中的体现Spark运行架构:Spark运行架构包括集群资源管理器(Cluster Manager)、运行作业任务的工作节点(Worker Node)、每个应用的任务控制节点(Driver)和每个工作节点上负责具体任务的执行进程(Executor)与Hadoop MapReduce计算框...

2019-05-05 18:14:39 117

原创 Spark_1 Spark与MapReduce对比

Spark与MapReduce的区别MapReduce的缺陷操作复杂计算效率不适合迭代处理不适合实时流式处理,只能离线处理很多框架都各自为战,浪费了很多资源,开发也慢,运维也不方便Spark的特点计算速度快易于使用通用性Runs EverywhereMapReduce的缺陷操作复杂开发起来:因为MapReduce只有map、reduce两种算子。1. low-level 低级别的。2. ...

2019-05-05 17:24:59 725

原创 This account is currently not available

报出这种:This account is currently not available错误的话,是因为这个用户不准登录。uucp:/sbin/nologin其中/sbin/nologin是缺少解释器,与正常的hadoop:/bin/bash相比,/bin/bash为解释器。解决:vi /etc/passwd将 /sbin/nologin改成/bin/bash改完之后,再切换用户,...

2019-04-22 15:01:06 559

原创 shell基本操作

ShellShell脚本是什么Shell变量Shell传递参数Shell数组if判断循环for循环while循环分割awksed 替换Shell脚本是什么Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至编写一些程序。Shell介于Linux内核与外部程序之间,相当于一个联系者的角色。Linux下的...

2019-04-11 20:39:23 335

原创 shell脚本的debug模式

shell脚本的debug模式主要是为了发现引发脚本错误的原因以及定位脚本源代码中的错误行。主要使用的有 -x 模式:可以在命令行模式下 输入 sh + -x +脚本名 来启动shell脚本debug模式,也可以进入脚本,在开头第一行的末尾添加上 -x 参数。...

2019-04-10 15:08:53 756

原创 如何确定block损坏的位置和修复

2019-04-09 22:14:49 560

原创 IDEA快捷键及模板

IDEA快捷键自带模板本人是使用IDEA 2018.3.x,都是手工验证过的:快捷键1 执行(run) alt+F102 提示补全 ctrl+alt+空格 (Class Name Completion)3 单行 注释 ctrl + /4 多行注释 ctrl + shift + /5 向下复制一行 ctrl+D (Duplicate Lines)6 删除一行...

2019-04-09 21:47:54 755

原创 Hadoop HA部署

Hadoop HA部署创建用户配置hosts文件配置三台机器SSH互相信任关系部署JDK本人使用三台阿里云主机进行学习,分别用hadoop001,hadoop002,hadoop003表示创建用户首先在生产上,一般每一个组件会由不同的用户来部署,所以一上来首先是在三台机器上都创建hadoop用户:useradd hadoop配置hosts文件需要在三台机器上都配置机器名和ip的映射关系...

2019-04-09 21:46:49 261

原创 Hadoop HA架构剖析

Hadoop HAHDFS HANameNode与命名空间ZookeeperZKFCJounalNodeHDFS HA工作流程图及说明注意点YARN HA注意点Hadoop HA架构即 Hadoop 高可用架构,7*24小时不中断服务。实现高可用最关键的是消除单点故障。Hadoop HA 严格来说应该分成各个组件的HA机制——HDFS的HA、YARN的HA。HDFS HANameNode与命...

2019-04-09 16:04:04 392

原创 利用MapReduce实现离线数据清洗

MapReduce虽然已经用的很少,但是它的开发流程还是需要了解的。本次是使用MapReduce完成数据清洗的ETL任务,由于是对日志进行清洗,一条日志信息对应一个map任务,完成任务后并不需要规约操作,所以只需要使用Map,而不需要Reduce任务。一、日志文件解析第一步日志文件解析,需要选取有用的字段,并把其中有些字段进行处理(例如时间格式不符合要求,需要更改时间格式)并返回一个Stri...

2019-04-02 09:42:38 1995

原创 关系型数据库架构

数据库架构存储(文件系统)程序实例存储管理缓存机制SQL解析日志管理权限划分异常机制(容灾机制)索引管理锁模块存储(文件系统)将数据持久化存入磁盘中程序实例用逻辑结构映射出物理结构,并且在程序中提供获取、管理数据的方式以及必要的问题追踪机制。程序实例一般包括以下八个模块:存储管理数据处理是在程序所在的内存中发生的,所以数据应该从磁盘导入到内存中,但是在这个导入的过程中会发生 I/O ,...

2019-03-28 10:23:21 664

原创 Hive_01 Hive基础

Hive基础HiveHiveHive是基于Apache Hadoop的数据仓库基础架构,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,再将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计。但是Hive不适用于在线数据处理,它最适用于传统的数据仓库任务。上图是Hive与Hadoop1.x的工...

2019-03-25 09:50:05 215

原创 MapReduce on Yarn

MapRduceMapReduce是一个软件框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成的大集群上,并以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。MapReduce的思想就是“分而治之”:Map(映射):把复杂的任务分解为若干个“简单的任务”来处理。Reduce(规约):把map阶段的结果进行汇总。实体一:客户端,用来提交Ma...

2019-03-15 16:35:15 271

空空如也

空空如也

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

TA关注的人

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