自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flink on Yarn的3种部署模式对比和总结

一个Job会对应一个Flink集群,每提交一个作业会根据自身的情况,都会单独向yarn申请资源,直到作业执行完成,一个作业的失败与否并不会影响下一个作业的正常提交和运行。Application Mode会在Yarn上启动集群, 应用jar包的main函数(用户类的main函数)将会在JobManager上执行. 只要应用程序执行结束, Flink集群会马上被关闭. 也可以手动停止集群.缺点: 如果提交的作业中有长时间执行的大作业, 占用了该Flink集群的所有资源, 则后续无法提交新的job.

2024-08-22 17:35:20 439

转载 大数据采集技术工具及应用场景

大数据采集工具

2023-03-13 22:15:10 1178

原创 Hive支持处理lzo压缩格式的数据统计查询

Hive支持处理lzo压缩格式的数据统计查询之前需要编译hadoop-3.2.2源码并支持lzo压缩,参考之前博客:编译hadoop-3.2.2源码并支持lzo压缩以上是前提。数据准备这里准备了一份379M的数据makedatatest.txt,用lzo压缩命令把文件压缩成makedatatest.txt.lzo,大小为158M,hdfs块大小为128M。[ruoze@hadoop001 data]$ lzop -v makedatatest.txt compressing makedatate

2022-02-11 11:01:06 1430

原创 HUE编译部署以及集成HDFS、YARN、HIVE及MYSQL

文章目录环境安装依赖下载Hue源码包:安装必要的依赖Node.js 安装编译HueHue部署以及集成HDFS、YARN、HIVE及MYSQLHUE与Hadoop集成(hdfs、yarn)Hue配置HUE与Hive集成HUE与MySQL集成初始化Hue的MySQL元数据启动hueHue界面验证验证hdfs验证Hive验证MySQL注意事项Hue是一个以Hadoop平台为基础的Web客户端工具,Hue不仅可以集成大数据平台的Hive、Impala、HBase、Solr等组件,提供易于操作的Web界面。通过使

2022-02-10 23:43:06 2507

原创 spark-3.2.0修改源码编译,导入IDEA,连接Hive库

文章目录环境Spark修改spark-shell启动LOGO修改pom.xml文件编译源码导入IDEA连接Hive库验证spark-shell启动LOGO的修改环境参考官网:https://spark.apache.org/docs/3.2.0/building-spark.htmlThe Maven-based build is the build of reference for Apache Spark. Building Spark using Maven requires Maven

2022-02-10 20:00:40 2018

原创 编译hadoop-3.2.2源码并支持lzo压缩

编译hadoop-3.2.2源码1.参考官网:https://github.com/apache/hadoop/blob/trunk/BUILDING.txt2.编译环境虚拟机:VM15Linux系统:Centos7Jdk版本:jdk1.8cmake版本:3.20.2Hadoop版本:3.2.2Maven版本:3.8.4Protobuf版本:2.5.0findbugs版本(可以不用):findbugs-3.0.1apache-ant版本(可以不用):apache-ant-1.10.

2022-01-27 14:28:44 1771

原创 JAVA HDFS API编程二

java里面的设计模式:模板模式把骨架(这个骨架就用通用算法进行抽象出来)定义好,具体实现交给子类去实现。意思是说在模板里面只要把过程给定义好,具体怎么实现,这个模板方法是不关注的,具体的实现是又子类来完成的,可以有多个子类,每个子类实现的功能可以都不一样。定义一个模板类:package com.ruozedata.pattern.template;public abstract class Mapper { //setUp mapper clearUp三个方法都是抽象方法 /

2021-12-23 17:56:36 608

原创 JAVA HDFS API编程

hdfs有很多命令,比如说hdfs dfs -ls,hdfs dfs -put, hdfs dfs -mkdir,hdfs dfs -cat,hdfs dfs -rm等等,一般操作hdfs都是通过hdfs的命令行进行操作。其实这些命令行的底层都是通过java代码来支撑的,再比如启动和关闭hdfs都是通过脚本来启动,这些脚本底层肯定都是通过代码来支撑的。举例:有时候需要把本地文件上传到hdfs,直接用hdfs的命令,先mkdir一个文件夹,然后用put命令即可上传。但是在工作当中,这些操作基本都是代码的。

2021-12-22 20:38:25 1480

原创 java单元测试junit

进行单元测试则需要添加junit的依赖:##JUnit is a unit testing framework for Java, created by Erich Gamma and Kent Beck.##对于java来说JUnit是一个单元测试的框架 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactI

2021-12-22 14:42:00 1452

原创 Hadoop伪分布式部署及常用操作

hadoop伪分布式部署之前有做过hadoop 2.x的部署,现在再做一下hadoop 3.x的部署。hadoop有三个组件:hdfs用来存储数据,mapreduce 用来计算(作业) ,yarn用来资源(cpu memory)和作业调度 。其实hadoop官方网站都有部署的步骤:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html下面根据官网这个来进行伪分布式部署

2021-12-03 00:54:44 1627

转载 Shell脚本中的并发

主要记录一下Shell脚本中的命令的并发和串行执行以及如何控制进程的数量。默认的情况下,Shell脚本中的命令是串行执行的,必须等到前一条命令执行完后才执行接下来的命令,但是如果我有一大批的的命令需要执行,而且互相又没有影响的情况下(有影响的话就比较复杂了),那么就要使用命令的并发执行了。看下面的代码:#!/bin/bash for(( i = 0; i < ${count...

2020-02-26 11:48:20 364

原创 HiveQL执行过程

参考之前的博客:https://blog.csdn.net/liweihope/article/details/89740863Hive是基于hadoop的数据仓库工具,可以将结构化的数据文件映射成一张数据表,并且提供SQL查询。讲SQL语句转换成MapReduce任务进行运行,实现简单的MapReduce统计,不必开发专门的MapReduce程序。hive的设计是为了减轻MapReduce...

2019-10-14 15:16:12 1200

原创 Spark Streaming整合Kafaka

文章目录Kafka版本选择环境准备zookeeper和kafka单节点部署启动zookeeper和kafkaSpark Streaming整合Kafaka依赖创建Direct StreamKafka版本选择Kafka属于Spark Streaming中的高级Sources。Kafka:Spark Streaming 2.4.3与Kafka broker版本0.8.2.1或更高版本兼容,跟0....

2019-10-06 21:03:24 715 1

原创 Spark Streaming + Kafka Integration Guide (Kafka broker version 0.10.0 or higher)官网翻译

在设计上,Spark Streaming集成Kafka对于 0.10版本的类似于0.8版本(现在只讲Direct Stream,其它不管,这里没有receiver)。Spark StreamingKafka对于 0.10版本的集成提供了更简化的并行度,在Kafka分区和Spark分区之间是 1:1 的对应关系,能够去访问偏移量和元数据。在有receiver的Spark Streaming里,Sp...

2019-10-06 21:02:54 365

原创 Spark Streaming之基本概念

文章目录依赖初始化StreamingContextDiscretized Streams (DStreams)Input DStreams and Receivers参考官网:http://spark.apache.org/docs/latest/streaming-programming-guide.html#basic-concepts上一节,初识了Spark Streaming,并做...

2019-10-06 20:59:18 679

原创 初识Spark Streaming

参考官网:http://spark.apache.org/streaming/Spark Streaming特点Spark Streaming makes it easy to build scalable fault-tolerant streaming applications.Spark Streaming使得 去构建可扩展的能容错的流式应用程序 变得容易。(RDD容错体现在哪些...

2019-10-06 08:59:17 420

原创 SparkCore之PartitionNum和ShuffleManager生产调优

①spark.sparkContext.textFile("file:///home/hadoop/data/wordcount.txt").flatMap(_.split("\t")).map(x => (x,1)).reduceByKey(_+_).collect//可以看出来textFile中有两个参数,第一个参数是路径,第二个参数是分区数,不写就是默认分区数 def te...

2019-10-05 10:19:03 747

原创 JVM深入浅出(二)

Java代码的执行流程以及字节码对于码农来说,写的都是一个一个的xxx.java文件,只有码农认识,机器是不认识这些文件的。这一堆的java文件必须要经过一个编译的过程,变成一堆的xxx.class文件,这个class文件是放在方法区里面(jdk1.8是MetaSpace)。这一堆的xxx.class文件要通过ClassLoader加载到运行时数据区。代码举例说明:编写一个java文件,...

2019-09-19 00:30:35 154

原创 JVM深入浅出(一)

JDK版本:1.8官网:https://docs.oracle.com/javase/specs/jvms/se8/html/index.html学JVM的终极目标:生产环境上的性能调优。JVM的Server模式和Client模式的区别(了解)后面讲的重点以Server模式为主。因为当Windows操作系统为32位时,JVM默认使用Client模式,如果是其它操作系统,当2G 2C以上...

2019-09-18 23:44:32 517

原创 JVM概要

JVM:Java Virtual Machine在面试中会JVM是经常被问的,关于JVM的常问问题一般有:JVM的内存结构;常用参数;垃圾回收机制以及算法以及各个算法的对比JVM调优以上四个问题占了80%,都回答出来已经差不多了。在这里我自己使用的都是JDK1.8。切记:JVM不同的版本,它的差别是非常大的。以8为主,跟7对比,跟9对比。面试的时候先说你的版本是什么。官方文...

2019-09-18 00:15:57 163

原创 Spark-SQL之自定义数据源的构建

JDBC外部数据源JDBC编程实现的底层原理自己实现 去 自定义外部数据源

2019-07-07 21:53:19 1123 1

原创 SparkSQL之DataSource

文章目录Parquet 文件加载Parquet文件Partition Discovery 分区探测Schema 合并ORC文件Hive表JDBC 到其它数据库TroubleshootingPerformance Tuning你用MapReduce、Spark、Hive去处理源数据,处理之后输出出来。输入和输出的数据文件的格式可能有很多种,比如文本、json、ORC、Parquet格式的文件等。另...

2019-07-05 23:40:07 745

原创 SparkSQL之DataFrame

如何构建DataFrames ?A Dataset can be constructed from JVM objects and then manipulated using functional transformations (map, flatMap, filter, etc.).Dataset 可以从JVM对象中进行构建,然后用各种算子对它进行操作。DataFrames can b...

2019-07-03 00:17:16 399

原创 初识SparkSQL

文章目录背景SQL on Hadoop框架介绍Spark SQL概述Spark SQL, DataFrames and Datasets 向导背景SQL:结构化查询语言,主要用来进行统计分析。Oracle、MySQL、DB2、SQLserver等关系型数据库都用SQL。但是这些关系型数据库对数据量是有限制的。但是随着互联网的发展,数据量越来越大,关系型数据库越来越难操作这些大数据量的数据。...

2019-06-30 23:55:19 396

原创 Spark-Core之调优

可参考上一篇对官网的翻译:https://blog.csdn.net/liweihope/article/details/93386494有哪些地方可以优化呢?集群的任何资源都有可能成为Spark程序的瓶颈:CPU,网络带宽,或者内存。本篇主要是数据序列化和内存调优。数据序列化优化Spark应用程序的第一件事情就是考虑一下数据序列化。有两种序列化,Java serializatio...

2019-06-29 20:43:07 398

原创 Spark之Tuning Spark官网翻译

文章目录Data SerializationMemory TuningMemory Management OverviewDetermining Memory ConsumptionTuning Data StructuresSerialized RDD StorageGarbage Collection TuningMeasuring the Impact of GCAdvanced GC Tu...

2019-06-23 23:39:01 449

原创 Spark-Core之spark-shell脚本分析

Spark的bin目录下,spark-shell脚本是工业级脚本,其它脚本也是类似的,写的都非常好。生产上,很多作业都是通过脚本来进行启动的,如果以后用到的话,可以参考这些工业级的脚本,很多可以学习参考的地方,可以直接拿过来使用,学会“抄”。spark-shell脚本:[hadoop@hadoop001 bin]$ cat spark-shell #!/usr/bin/env bash#...

2019-06-23 15:31:09 315

原创 Spark-Core之map与mapPartitions

源代码①map源代码: /** * Return a new RDD by applying a function to all elements of this RDD. */ def map[U: ClassTag](f: T => U): RDD[U] = withScope { val cleanF = sc.clean(f) new MapPa...

2019-06-23 14:40:03 803

转载 spark中map与mapPartitions区别

在spark中,map与mapPartitions两个函数都是比较常用,这里使用代码来解释一下两者区别import org.apache.spark.{SparkConf, SparkContext}import scala.collection.mutable.ArrayBufferobject MapAndPartitions { def main(args: Array[Str...

2019-06-22 15:50:03 1645

原创 Spark-Core之共享变量

文章目录Broadcast Variablebroadcast join举例先看一下普通的join如何实现?再用broadcast join来实现?Accumulator参考官网:http://spark.apache.org/docs/latest/rdd-programming-guide.html#shared-variables默认情况下,如果在一个算子函数中使用到了某个外部的变量...

2019-06-22 15:31:48 251

原创 Spark之Monitor

在跑Spark作业的时候,或者半夜跑完之后第二天,你常常需要看它运行时的信息,看一下运行情况,以及根据这些信息进行调优等,那么对于Spark作业的运行时监控就显得很重要了。有几种方法可以监控Spark应用程序,常用的有Web UI,history server、REST API等,当然还有其它的不常用的,可以参考上一篇博客。通过Spark Web UI进行监控每一个SparkContext都...

2019-06-22 09:13:22 836

原创 Spark之Monitor 官网翻译

翻译官网:Monitoring and Instrumentation在跑Spark作业的时候,或者半夜跑完之后第二天,你常常需要看它运行时的信息,看一下运行情况,以及根据这些信息进行调优等,那么对于Spark作业的运行时监控就显得很重要了。Monitoring and Instrumentation(监控和仪表化)有几种方法可以监控Spark应用程序:Web UI,metrics和ex...

2019-06-19 00:43:16 450

原创 Spark-core之Shuffle

文章目录什么是Shuffle?RDD中 partition 个数怎么定?(小插曲)有哪些算子会产生shuffle?1)repartition 系列的操作①spark-shell代码测试②DAG图分析③IDEA代码测试④repartition 和 coalesce在生产中的应用??(重要)2)‘ByKey系列的操作①reduceByKey(func, [numPartitions])②groupBy...

2019-06-17 02:48:34 487

转载 Spark Shuffle operations-官网翻译

参考官网:http://spark.apache.org/docs/latest/rdd-programming-guide.html#shuffle-operationsShuffle operationsCertain operations within Spark trigger an event known as the shuffle. The shuffle is Spark’...

2019-06-15 11:20:20 300

转载 Spark中Cache与Persist的巅峰对决

文章目录Cache的产生背景:Cache的作用:源码详细解析:删除缓存中的数据:Cache的产生背景:我们先做一个简单的测试读取一个本地文件做一次collect操作:val rdd=sc.textFile("file:///home/hadoop/data/input.txt")val rdd=sc.textFile("file:///home/hadoop/data/input.txt"...

2019-06-14 11:41:24 321

原创 Spark on YARN

前言Spark 可以跑在很多集群上,比如跑在local上,跑在Standalone上,跑在Apache Mesos上,跑在Hadoop YARN上等等。不管你Spark跑在什么上面,它的代码都是一样的,区别只是–master的时候不一样。其中Spark on YARN是工作中或生产上用的非常多的一种运行模式。YARN产生背景以前没有YARN的时候,每个分布式框架都要跑在一个集群上面,比如说H...

2019-06-14 01:00:29 23889

原创 SparkCore之运行架构(续--术语知识点)

文章目录RDD的五大特性以及五大特性在源码中的体现关于StageRDD之cache(persist)官网解释举例介绍cache和persist区别(面试经常问的)persist之StorageLevel如何选择Storage Level?去除缓存数据Removing Datarecompute重新计算窄依赖和宽依赖(面试经常)Key-Value Pairs键值对RDD的五大特性以及五大特性在源码...

2019-06-09 15:12:05 325

转载 Spark的driver理解和executor理解

1.看了很多网上的图,大多是dirver和executor之间的图,都不涉及物理机器如下图,本人觉得这些始终有些抽象看到这样的图,我很想知道driver program在哪里啊,鬼知道?为此我自己研究了一下,网友大多都说是对的有不同想法的请评论2.现在我有三台电脑 分别是192.168.10.82 –>bigdata01.hzjs.co 192.168.10.83 –>bi...

2019-06-09 05:47:17 9707 6

原创 SparkCore之运行架构

参考官网:http://spark.apache.org/docs/latest/cluster-overview.htmlCluster Mode Overview集群模式概述This document gives a short overview of how Spark runs on clusters, to make it easier to understand the co...

2019-06-08 11:01:08 4148 3

原创 IDEA开发Spark应用程序

文章目录创建一个Maven项目,添加依赖词频统计案例开发及上传jar包到服务器并准备测试数据jar包提交Spark应用程序运行词频统计案例迭代之输出结果到HDFS词频统计案例迭代之处理多个输入文件词频统计案例迭代之输入文件规则匹配带排序的词频统计案例开发及运行过程深度剖析spark-shell适合做测试如果是开发的话是用IDEA+Maven+Scala来开发Spark应用程序创建一个Mave...

2019-06-06 22:18:42 8642

空空如也

空空如也

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

TA关注的人

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