大数据开发
文章平均质量分 57
大数据开发,实战
xby18772963985
这个作者很懒,什么都没留下…
展开
-
Hadoop之MapReduce开发总结
Hadoop之MapReduce开发总结1.输入数据接口:InputFormat(1)默认使用的实现类是:TextInputFormat(2)TextInputFormat的功能逻辑是:一次读一行文本,然后将该行的起始偏移量作为key,行内容作为value返回。(3)KeyValueTextInputFormat每一行均为一条记录,被分隔符分割为key,value。默认分隔符是tab(\t)。(4)NlinelnputFormat按照指定的行数N来划分切片。(5)CombineTextlnput原创 2022-01-26 16:48:47 · 190 阅读 · 0 评论 -
MapReduce之自定义InputFormat
MapReduce之自定义InputFormat背景: 在企业开发中,Hadoop框架自带的InputFormat类型不能满足所有应用场景,需要自定义InputFormat来解决实际问题。自定义InputFormat步骤如下:自定义一个类继承FilelnputFormat。自定义一个类继承RecordReader,实现一次读取一个完整文件,将文件名为key,文件内容为value。在输出时使用SequenceFileOutPutFormat输出合并文件。无论HDFS还是MapReduce,在处原创 2022-01-26 16:30:54 · 226 阅读 · 0 评论 -
hadoop重要配置文件
1) hadoop的默认配置文件(jar包内部)core-default.xml: 默认的核心hadoop属性文件。该配置文件位于下面JAR文件中:Hadoop-common-2.2.0.jarhdfs-default.xml : 默认的HDFS属性配置文件,文件位于下面的JAR文件中:hadoop-hdfs-2.2.0.jarmapred-default.xml : 默认mapreduce属性配置文件,位于mapreduce-client-core-2.2.0.jaryarn原创 2022-01-20 11:29:37 · 6880 阅读 · 0 评论 -
hadoop之hdfs命令详解
目录一、hadoop命令1、archive2、checknative3、classpath4、credential5、distcp(比较常用)6、fs7、jar8、key9、trace二、hdfs命令1、classpath2、dfs3、fetchdt4、fsck(重要)5、getconf(重要)6、groups7、lsSnapshottableDir8、jmxget9、oev10、oiv11、snapshotDiff12、balancer(重要)13、cacheadmin14、datanode15、dfsa原创 2022-01-17 12:04:11 · 2166 阅读 · 0 评论 -
hadoop之yarn详解-命令篇
目录一、yarn命令概述二、命令详解2.1、application2.2、applicationattempt2.3、classpath2.4、container2.5、jar2.6、logs2.7、node2.8、queue2.9、daemonlog2.10、nodemanager2.11、proxyserver2.12、resourcemanager2.13、rmadmin2.14、scmadmin2.15、 sharedcachemanager2.16、timelineserver本篇主要对yarn原创 2022-01-17 10:57:36 · 2688 阅读 · 0 评论 -
MapReduce客户端各种提交方式参数的配置(windows->local,windows->yarn,Linux->locall,Linux->yarn)
MR程序的两种运行模式 分布式运行模式:必须在yarn平台上核心特点:整个运行流程由MRAppMaster控制;每一个task(maptask,reducetask)以及MRAppMaster,都是以独立的进程在nodemanager所提供的容器中执行;本地运行模式:在本地以单进程多线程方式运行;核心特点:整个运行流程由LocalJobRunner控制,每一个task(maptask、reducetask)都以线程方式执行决定mr程序是以分布式还是以本地模型运行的关键点:jobclient端的参原创 2022-01-14 19:34:05 · 416 阅读 · 0 评论 -
Spark任务提交至YARN运行的3种方式与Mapreduce提交任务的几种形式
Spark作为新一代计算平台的闪亮明星,在我们的大数据平台中具有非常重要的作用,SQL查询、流计算和机器学习等场景都能见到它的身影,可以说平台应用的数据处理、计算和挖掘等场景都可以使用Spark进行开发。在默认的情况下,如果想向Spark提交计算任务,通常会使用Spark提供的Spark-Submit脚本来提交含有业务逻辑的jar文件程序。这种方式虽然简单,但有悖于服务化的设计理念,所以需要为Spark提供一套任务管理的RESTful服务。在大数据平台中,Spark是以Spark on YARN的方式运行原创 2022-01-06 19:02:47 · 2348 阅读 · 1 评论 -
Hadoop默认端口表及用途
Hadoop默认端口表及用途端口用途9000fs.defaultFS,如:hdfs://172.25.40.171:90009001dfs.namenode.rpc-address,DataNode会连接这个端口50070dfs.namenode.http-address50470dfs.namenode.https-address50100dfs.namenode.backup.address50105dfs.namenode.backup.原创 2022-01-04 17:23:38 · 2596 阅读 · 0 评论 -
向Yarn应用提交程序原理
1) 应用程序客户端不管是Mapreduce还是spark都会定制自己的YarnClient,用来提交自己的相关任务。2) ResourceManager、ApplicationMaster、NodeManage一个全局的资源管理器ResourceManager和每个应用程序特有的ApplicationMaster(用户每次提交的任务都会产生),还有在每台机器上做资源管理的NodeManage.其中ResourceManager负责整个系统资源的管理和分配,而ApplicationMaster则负原创 2022-01-04 16:47:45 · 519 阅读 · 0 评论 -
scala匿名类-第十二章
1)代码class Teacher { println("我是主类") def show(): Unit ={ println("------show----------") }}abstract class Teacher1 { println("我是抽象主类") def show()}object Teacher{ def main(args: Array[String]): Unit = { var teac原创 2021-12-22 18:39:18 · 210 阅读 · 0 评论 -
scala中的主构造器、辅助构造器-第十一章
1.代码说明package org.example.applicationclass TestFathorConst { println("这个是TestFathorConst主要构造器") var name: String =_ var age: Int =_ def this(name1:String, age1: Int){ this() this.age = age1 this.name = name1原创 2021-12-22 17:05:08 · 195 阅读 · 0 评论 -
scala抽象类的重写-第十章
1.抽象类规则代码如下abstract class Bike { val a = 100 var b = 200 def interest():String def display(): Unit ={ println("this is a bike") } def speed() // 抽象方法}class AiBike extends Bike { override v原创 2021-12-22 14:15:58 · 102 阅读 · 0 评论 -
scala杂项
这样写的package实际上与org.example.application 是一样的但是写法太差package org{ package example{ package application{ class Test { } } }}原创 2021-12-22 13:35:20 · 74 阅读 · 0 评论 -
scala中命名参数函数-第九章
1) scala中调用一个函数时传递的参数可以带上变量名代码如下object WithNameArgument { def main(args: Array[String]): Unit = { custFunction(b=6,a=5) //可以带上变量名 custFunction1(b="11",a="5")//可以带上变量名 } def custFunction(a:Int,b:Int): Unit = println("---a appen原创 2021-12-21 18:23:59 · 87 阅读 · 0 评论 -
Scala-本地函数、偏函数、部分函数-第八章
1)本地函数 在一个函数内部在定义一个函数,则称为该函数为本地函数 object LocalFunction { def main(args: Array[String]): Unit = { processData("\\src\\test.txt",10); // 本地函数 可以访问外层的变量 def processData(fileName:String,width: Int): Unit ={原创 2021-12-21 15:55:05 · 198 阅读 · 0 评论 -
Scala尾递归-第七章
1)代码示例object TestRecursion { def main(args: Array[String]): Unit = { var data = 1 to 10 println(sum1(data)) println(sum2(data,0)) } // 普通递归 def sum1(args:Seq[Int]):Int ={ if (args.isEmpty) 0原创 2021-12-20 18:20:17 · 60 阅读 · 0 评论 -
Scala中的Any、AnyRef、AnyVal、Nothing、Null-第六章
1.关系图说明: 1)Any类是所有类的超类。Any有两个子类:AnyVal和AnyRef。 2)Any 是一个 abstract 类, scala 中的顶级父类 3)AnyVal 是一个 abstract 类,继承 Any,目的是取代 primary 类型 4)AnyRef 是一个 trait,继承 Any,重写了 Any 中部分方法 5)Nothing是所有类的子类,是一个类---报错的时候返回这个对象 6)Null是所有AnyRef的子类---引用类原创 2021-12-20 16:55:12 · 572 阅读 · 0 评论 -
idea中创建scala的worksheet第五章
1.scala worksheet 指的是在idea中创建的直接代码片段进行调试,不用写main方法。2. 创建方式如下:3) 使用截图原创 2021-12-20 14:58:01 · 220 阅读 · 0 评论 -
Scala-隐式转换-第四章
1) Scala支持两种形式的隐式转换机制—-隐式值和隐式视图①隐式值可以用于给方法提供参数(当在参数上设置implicit,在调用该方法时该参数可传可不传) ②隐式视图是指把一种类型自动转换成另外一种类型, 进而使用另外一种类型中的属性和方法,从而满足表达式的要求. 2) 隐式值和隐式视图都采用相同的隐式解析机制所谓隐式解析是指如果编译器发现代码里缺少部分信息,进而查找缺失信息的过程。在Scala当中,隐式解析一般分为两个阶段:在隐式转换的作用域查找中,如果当前作用域没有隐式转换,编译器原创 2021-12-20 14:31:17 · 84 阅读 · 0 评论 -
Scala-柯里化-第三章
代码如下:object ScalaInAction { // 这三个代码是等价的 def mul(x:Int,y:Int) = x * y def mul(x:Int) = (y:Int) => x * y def mul1(x:Int)(y:Int) = x * y def main(args: Array[String]): Unit = { println(mul(5 ,6)) println(mul(5)(6))原创 2021-12-11 15:51:28 · 262 阅读 · 0 评论 -
HIVE 函数分类 (udf、udaf、udtf)
注释: 在Hive中,用户可以自定义一些函数,用于扩展HiveQL的功能,而这类函数叫做UDF(用户自定义函数)。UDF分为两大类:UDAF(用户自定义聚合函数)和UDTF(用户自定义表生成函数)。Hive内置函数实际上Hive内置了很多函数,包括关系/算数/逻辑操作符都属于函数hive提供的build-in函数包括以下几类:关系操作符:包括 = 、 <> 、 <= 、>=等算数操作符:包括 + 、 - 、 *、/等逻辑操作符:包括AND 、 &&原创 2021-12-07 00:04:18 · 587 阅读 · 0 评论 -
scala基础学习-第一章
1.scala中的构造函数,副构造函数,初始化成员变量的写法2 var与val的区别var 修饰可修改变量,val修饰不可修改变量3 scala 变量的定义成员变量: private var a1:String = “5”方法中的变量 var a1:String = “5” 可以缩写为var a1 = “5”数组 ` //第一种写法 var list1:Array[String] = new Array[String](3) list1(0) = "aaaa" //第二种原创 2021-12-02 23:48:25 · 118 阅读 · 0 评论 -
Spark的五种JOIN策略详细
JOIN操作是非常常见的数据处理操作,Spark作为一个统一的大数据处理引擎,提供了非常丰富的JOIN场景。本文分享将介绍Spark所提供的5种JOIN策略,希望对你有所帮助。本文主要包括以下内容:影响JOIN操作的因素Spark中JOIN执行的5种策略Spark是如何选择JOIN策略的影响JOIN操作的因素数据集的大小参与JOIN的数据集的大小会直接影响Join操作的执行效率。同样,也会影响JOIN机制的选择和JOIN的执行效率。JOIN的条件JOIN的条件会涉及字段之间的逻辑比较。根原创 2021-11-29 23:55:05 · 962 阅读 · 0 评论