- 博客(101)
- 收藏
- 关注
原创 RDD操作续
map和flatmapscala> val nums = sc.parallelize(List(1,2,3,4,5,6))nums: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[4] at parallelize at <console>:24scala> val squares = nums.map...
2019-06-06 10:25:34
273
转载 外网无法访问云主机HDFS文件系统
一、问题背景:1.云主机是 Linux 环境,搭建 Hadoop 伪分布式公网 IP:139.198.18.xxx内网 IP:192.168.137.2主机名:hadoop0012.本地的core-site.xml配置如下:<configuration><property> <name>fs.defaultFS</name&g...
2019-06-05 18:28:00
1515
1
原创 spark读取sequenceFile文件
先用hive创建一张存储为sequenceFile文件的表create table test(id string,time string) row format delimited fields terminated by '\t';load data local inpath '/home/hadoop/data/order_seq.txt' into table test;//需要借助...
2019-06-05 18:18:38
4588
2
原创 RDD操作
文章目录从宏观角度看RDD OperationsRDD map算子详解RDD filter结合map算子详解RDD mapValues算子详解RDD常用action算子详解看官网http://spark.apache.org/docs/latest/rdd-programming-guide.html#rdd-operations从宏观角度看RDD Operations官网写的很清楚:...
2019-05-26 23:52:30
326
原创 RDD的创建
看官网:http://spark.apache.org/docs/latest/rdd-programming-guide.html#overview创建RDD有两种方式:①并行化一个存在的集合,把一个存在的集合转化为一个RDD。这种在测试或者造数据的时候用的比较多。②引用一个外部存储系统的数据集,共享的文件系统,比如 HDFS, HBase,或者任何支持 Hadoop InputFo...
2019-05-25 23:25:30
569
原创 SparkContext和spark-shell
文章目录SparkContext&SparkConf使用IDEA构建Spark应用程序spark-shell参数使用深度详解如何使用spark-shell?spark-shell重要参数参考官网:http://spark.apache.org/docs/latest/rdd-programming-guide.html#overviewSparkContext&SparkC...
2019-05-25 10:09:47
1480
原创 Spark之RDD
RDD 让开发者大大降低开发分布式应用程序的门槛以及提高执行效率。每个框架都有一个抽象的编程模型,在spark core是基于RDD进行编程的,在spark streming里面是基于DStream进行编程的,在spark SQL里面是借助于HiveContext来编程。...
2019-05-24 16:19:39
353
原创 Spark概述
Spark产生背景MapReduce的局限性繁杂 ①开发层面:mapreduce只有两个算子(map和reduce),如果想实现什么功能,只能通过这两个算子来实现。如果一个很简单的功能也要有一个map,也要按照它的规范来走一遍。(小知识点:mapjoin只有map,没有reduce。mapjoin的底层实现原理是什么?)②测试层面:如果项目经理的需求不断发生改变,就需要频繁的去修改测试...
2019-05-24 08:48:12
168
原创 初识Spark
学习Spark的权威:①官网:http://spark.apache.org/②GitHub:https://github.com/apache/spark③源码需要了解一下最新的release,每个版本做了什么事情,看看每个release发布了什么新特性,有没有补充以前的功能,这些功能恰好是工作上可以用到的。Spark的版本:三个数字:比如2.4.2第一个数字:大版本,里程...
2019-05-14 00:07:03
241
原创 Scala04
1.关于s…$一般我们要输出,什么东西直接这样写:object StringApp { def main(args: Array[String]): Unit = { val name = "zhangsan" println("name : " + name) //这个地方直接 +name }}但是上面这种写法,不友好在scala中有种叫做 字符串插值 ...
2019-05-07 23:23:21
316
原创 Scala03(包含如何写WordCount)
文章目录父类和子类new 子类() 会先触发 new 父类()重写抽象类trait(类似Java中的接口)Scala之高阶函数(重要)高阶函数2WordCount上一节了解了主构造器、附属构造器。现在看一下父类和子类。父类和子类new 子类() 会先触发 new 父类()子类 extends 父类object ExtendsApp { def main(args: Array[Str...
2019-05-07 18:50:20
219
原创 用Scala去操作MySQL数据库
前言本文用Scala去操作JDBC。本文用原生态的scala语言来写,工作中不建议这样写,工作中都是用框架来写的。要操作MySQL需要:MySQL JDBC编程 的套路:1)MySQL的驱动(需要这个驱动来去操作MySQL)2)需要获取connection信息,这是一个重量级的过程,要经过磁盘IO、网络IO,这个一般要借助一个连接池,用到从里面拿,用完还回去。用pool比直接获取con...
2019-05-06 23:44:49
2442
原创 Scala02(包含sparkconf解析)
1.修饰变量用val、var在Scala里面,定义一个名称的东西只需要这两个就够了,不像Java等语言有很多修饰符:val varval修饰的是不可变的var修饰的是可变的val name:String = “zhangsan”定义了一个变量name,它的类型为String,它的值是zhangsan,这个变量的值不可改变如果用var修饰,就可以改变scala> val nam...
2019-05-06 22:19:52
778
原创 Spark 编译
[hadoop@hadoop001 soft]$ tar -zxvf spark-2.4.2.tgz -C ~/source/[hadoop@hadoop001 soft]$ scala -versionScala code runner version 2.12.8 -- Copyright 2002-2018, LAMP/EPFL and Lightbend, Inc.[hadoop...
2019-05-05 17:30:11
493
原创 初识Scala
官网: https://www.scala-lang.org/key看出Scala有以下特点:面向对象编程函数式编程一种高级别语言基于JVMkey很方便的调用Java类工具类Java类 common-lang3学习Scala对于后面学习Spark、Flink、Kfk等很有帮助key跟其它语言互补,但是不一定就是说key代替其它语言Scala版本目前大致有如下这些:...
2019-05-03 19:35:38
341
原创 UDF函数在Hive中的使用
UDF介绍官网:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDFUDF: User-Defined Function用户自定义函数。在Hive中,有很多的内置函数,它自带的,但是呢,就算有很多内置函数,它也满足不了众多业务逻辑的需求。所以呢,在工作中我们还是需要去自己开发UDF函数来实现我们想要的功能。...
2019-05-02 16:33:59
2198
原创 Hive执行流程
当你去执行一个HiveQL的时候,其实它里面做了好多东西。你输入一个sql字符串,那么也就是一串字符串,hive怎么认识这个字符串?它又怎么去运行这个字符串?是不是要去解析它。发出一个SQL。首先去解析它(Parser),抽象语法树(AST),比如看看有没有语法错误。要达到一个什么层度?看到一个SQL语句,就知道它内部实现的一个过程,而不是简简单单的SQL,比如用MR的思想把它描述出来,...
2019-05-02 12:39:37
7772
2
原创 hadoop支持LZO压缩文件的分片的过程
关于LZO和LZOPLZO是一个适合实时解压、压缩的压缩库。LZOP 基于LZO库的压缩解压工具,lzop工具依赖于lzo库。有了压缩解压库LZO,还不能直接操作文件压缩解压,需要LZOP。lzop是一款与gzip很类似的文件压缩工具,它使用lzo压缩库来提供服务,与gzip工具相比,它的最大优势就是极快的压缩速度和解压速度(在相同的压缩比例的前提下)。...
2019-05-01 14:16:37
1243
1
转载 Hadoop2.6.0本地库(Native Library)
最近尝试搭建伪分布式hadoop环境,遇到了一些有关hadoop本地库的问题,在此做一个整理,近针对hadoop2.6.0,ubuntu系统。遇到问题:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applic...
2019-04-30 23:27:50
1276
原创 Hadoop压缩形式和Hive存储格式之介绍以及对比分析案例
之前的离线处理,有讲到有个ETL的过程,它实际上是把数据拆开按照指定的格式输出出来。之前的离线处理项目是只有map,没有reduce的,没有reduce就没有shuffle。...
2019-04-30 18:24:03
827
2
原创 如何定位block块损坏的位置以及修复方法
本文模拟hdfs上block块损坏之后,如何定位损坏的块,并修复。关于hdfs fsck命令在HDFS中,提供了fsck命令,用于检查HDFS上文件和目录的健康状态、获取文件的block信息和位置信息等。注意:fsck命令必须由HDFS超级用户来执行,普通用户无权限。执行hdfs fsck命令后,会显示出相关的用法。[hadoop@hadoop001 logs]$ hdfs fsck此...
2019-04-30 11:58:08
3296
原创 Hadoop之常见压缩格式以及性能对比
1.压缩的好处和坏处好处减少存储磁盘空间降低IO(网络的IO和磁盘的IO)加快数据在磁盘和网络中的传输速度,从而提高系统的处理速度坏处由于使用数据时,需要先将数据解压,加重CPU负荷2.压缩格式压缩格式工具算法扩展名是否支持分割Hadoop编码/解码器DEFLATEN/ADEFLATE.deflateNoorg.apache.hadoo...
2019-04-29 15:40:05
3918
转载 Hadoop源码分析之WordCount
WordCount程序是hadoop自带的案例,我们可以在 hadoop 解压目录下找到包含这个程序的 jar 文件(hadoop-mapreduce-examples-2.7.1.jar),该文件所在路径为 hadoop/share/hadoop/mapreduce。最简单的MapReduce应用程序至少包含 3 个部分:一个 Map 函数、一个 Reduce 函数和一个 main 函数。在运...
2019-04-29 09:09:03
675
转载 number of splits 划分的条件
split:split是逻辑切片,在mapreduce中的map task开始之前,将文件按照指定的大小切割成若干个部分,每一部分称为一个split,默认是split的大小与block的大小相等,均为128MB。split大小由minSize、minSize、blocksize决定,以wordcount代码为例找到 job.waitForCompletion( true);进入waitForC...
2019-04-28 17:07:13
950
转载 Hadoop的block Size和split Size是什么关系
学习hadoop map reduce过程的时候,第一步就是split。我们知道,hdfs中的数据是按block来存储的。问题来了,那么split和block之间是什么关系呢?我google到了stackoverflow上的这篇文章,我觉得这个帖子应该把关系说清楚了,翻译出来,欢迎大家批评指正!以下:问题hadoop的split size 和 block size 是什么关系? 是否 spli...
2019-04-28 12:44:30
421
原创 hadoop-2.6.0-cdh5.7.0源码编译支持压缩
前言直接从官网上下载的hadoop-2.6.0-cdh5.7.0.tar.gz部署后,不支持压缩,生产上是不可接受的,可以用hadoop checknative命令查看hadoop所支持的本地库:#这个是直接下载的hadoop包部署的不支持压缩[hadoop@hadoop001 ~]$ hadoop checknative19/04/27 10:22:33 WARN util.Native...
2019-04-28 00:56:30
615
原创 Linux下如何永久修改主机名
1.临时修改主机名显示主机名:[root@10-9-140-90 ~]# hostname10-9-140-90修改主机名:[root@10-9-140-90 ~]# hostname hadoop001[root@10-9-140-90 ~]# hostnamehadoop001使用hostname命令只能临时改变我们的主机名,当我们重启之后主机名还会恢复成原来的。2.永久...
2019-04-27 10:05:08
4268
原创 出现问题如何定位并解决
举例说明。启动三台服务器:hadoop001、hadoop002、hadoop003[root@hadoop001 ~]# jps1479 Jps服务器刚启动的时候,只有没什么进程。现在想启动zookeeper集群。[hadoop@hadoop001 bin]$ ./zkServer.sh startJMX enabled by defaultUsing config: /hom...
2019-04-17 11:41:59
487
原创 三台机器集群Hadoop HA的启动和停止-小总结
三台机器hadoop001、hadoop002、hadoop003部署了hdfs ha、yarn ha启动集群顺序:1.进入zookeeper的bin目录,启动zookeeper./zkServer.sh start另外两台都手动启一下2.进入hadoop的sbin目录,启动journalnode,hadoop-daemon.sh start journalnode另外两台都手动启...
2019-04-17 11:27:47
1166
原创 shell脚本之数据清洗
本文通过上一节Hadoop离线项目之数据清洗开发的数据清洗jar包,对日志文件进行清洗,并把清洗后的结果移动到hive表里,并刷新元数据信息。并把这个过程写到shell脚本里。jar包路径:/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/lib/g6-hadoop-1.0.jarjar包主程序:com.ruozedata.hadoop.mapreduce.d...
2019-04-16 16:09:36
1763
原创 Hadoop离线项目之数据清洗
企业级大数据项目开发流程项目调研企业级大数据应用分类基于Maven构建大数据开发项目日志解析功能开发数据清洗ETL功能本地测试
2019-04-14 12:21:30
3226
原创 Shell学习笔记
本文参考这个网址:http://c.biancheng.net/view/735.html以及结合自己的学习来写的。Shell认识Shell 脚本的优势在于处理偏操作系统底层的业务,例如,Linux 内部的很多应用(有的是应用的一部分)都是使用 Shell 脚本开发的,因为有 1000 多个 Linux 系统命令为它作支撑,特别是 Linux 正则表达式以及三剑客 grep、awk、sed ...
2019-04-13 11:54:59
6211
原创 HDFS和YARN HA部署
任意时刻只能有一个nn(active状态)去写,nn standby 读jn部署台数是奇数2n+1,active nn把编辑日志写道jn,要求至少 n/2+1台jn是好的。如果有3台jn,三台都是好的,那么会写三台,如果有一台是坏的,那么满足3+1/2>=2台,会写两台jn、zk不能部署太多,写的话也要耗很多时间,投票时间会越来越长,影响状态的切换。standby nn读jn,随机找...
2019-04-10 01:15:58
606
原创 YARN HA 架构
架构图如下:官网截图;YARN的单点故障在RM上。YARN的HA架构和HDFS HA类似,需要启动两个ResourceManager,这两个ResourceManager会向ZooKeeper集群注册,通过ZooKeeper管理它们的状态(Active或Standby)并进行自动故障转移。YARN HAhadoop001:zk rm(zkfc) nmhadoop002...
2019-03-31 16:48:24
1196
转载 Hadoop HA 是什么?架构?
HadoopHA 是什么?hadoop2版本中可以有多个namenode结点,一个是活跃(active)状态,一个是准备(standby)状态。(haoop 1不存在此特性)HadoopHA架构详解1.1 HDFS HA背景HDFS集群中NameNode 存在单点故障(SPOF)。对于只有一个NameNode的集群,如果NameNode机器出现意外情况,将导致整个集群无...
2019-03-30 13:33:34
204
原创 HDFS HA 架构
HA背景对于HDFS、YARN的每个角色都是一个进程,比如HDFS:NN/SNN/DN 老大是NNYARN:RM/NM 老大是RM对于上面,都会存在单点故障的问题,假如老大NN或者RM挂了,那么就不能提供对外服务了,会导致整个集群都不能使用。大数据几乎所有的组建都是主从架构(master-slave)。比如hdfs的读写请求都是先经过NN节点。(但是hbase的读写请求...
2019-03-30 12:27:42
1856
原创 Hadoop离线项目处理技术
介绍一个 Hadoop生态离线项目:涉及到的技术: Hadoop:HDFS(数据存储的地方) MapReduce(用来做数据清洗) YARN Hadoop集群 Hive:数据清洗之后,数据放在hdfs上,需要使用外部表,所有维度的数据统计分析需要通过SQL进行处理分析。在这里数...
2019-03-24 23:24:43
748
原创 Hive实战
本篇主要是通过一个综合性的案例,看看离线处理在生产上面是如何使用的。需求:统计各个城市所属区域下最受欢迎的Top n产品大数据处理:离线、实时input :HDFS、mysql、Hbase...... 处理之前肯定有数据输入进来处理(分布式) MapReduce/Hive/Spark/Flink ...
2019-03-15 23:16:02
2053
1
原创 Hive进阶
本节主要内容:一、分区表(静态分区、动态分区)二、用hiveserver2和beeline 访问hive三、复杂数据类型(如何存取)一、分区表(静态分区、动态分区)PARTITION分区表:分区表 话务记录、日志记录 rdbms 记录表是需要分表的 每天的记录都分成一部分: call_record_20190808 ...
2019-03-10 11:30:18
399
1
转载 jps命令查看DataNode进程不见了(hadoop3.0亲测可用)
jps: java process status tools表示java进程查看工具.解决方案就两个:1.清空tmp目录 2.把tmp目录下的NameNode和DataNode的clusterID,在VERSION文件里改成一样的即可。liugen@ubuntu:/usr/local/hadoop/tmp/dfs/name/current$ gedit VERSION ...
2019-03-10 09:32:53
8942
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅