Hadoop
文章平均质量分 94
爆发的~小宇宙
github地址:https://github.com/ordinary-zhang?tab=repositories
展开
-
Hadoop总结篇及面试常考点
1 概述学了那么久的hadoop,到底什么是hadoop呢? 先来说说我的理解,从广义上说他可以代表hadoop整个生态圈例如,hive,spark,hbase,zookeeper等等一系列框架。 从狭义上说他是一个,他是分布式的,可扩展的,高可用的计算框架,由hdfs,mapreduce,yarn组成(hadoop1.x只有hdfs,mapreduce)。该篇博客只进行整体思路的介绍...原创 2018-07-11 16:18:30 · 1609 阅读 · 1 评论 -
Scala中match case模式匹配
1 引言了解java小伙伴的同学应该都知道在java中有switch...case语句,根据不同的值(switch(i))得到不同的结果(case是常量表达式),每个case字句后面可以有break结尾,最后一句default可有可无;对于Scala中我们提供了更加强大的模式匹配match case,Scala的match case与Java的switch case最大的不同点在于,Jav...原创 2018-02-07 15:01:23 · 2176 阅读 · 0 评论 -
Scala数组——Array/ArrayBuffer
1.定长数组-Array//方式一 //长度为5的整数数组,所有元素初始化为0 val ary1=new Array[Int](5) //长度为5的字符串数组,所有元素初始化为null val ary2=new Array[String](5)//方式二 //长度为2的数组,数据类型自动推断出来,已经提供初始值就不需要new关键字 val ary3= Array...原创 2018-02-06 18:11:05 · 21047 阅读 · 0 评论 -
Scala基本语法二——函数编程
1 引言我们知道java中面向对象的三大特性:封装(可以封装属性,方法等,只能在本类中访问),继承(子类继承父类),多态(父类引用指向之类对象),同样scala中也是面向对象的,下面让我们进行学习。2 类/* 1. 如果定义的属性是private的,scala会自动为其生成对应的set和get方法 private var stuAge:Int = 20 get方法...原创 2018-02-06 00:25:28 · 296 阅读 · 0 评论 -
Spark 2.2.0下载安装及源码编译
1.官网2.下载地址3.所需环境jdk1.8+ 参考地址maven3.3.9 参考地址,下载maven后进行环境变量的设置,设置maven的内存使用,在环境变量中加入如下命令export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"scala2.11.8 参考地址git:直接输入命令:sudo yum insta...原创 2018-02-03 22:53:50 · 3013 阅读 · 1 评论 -
Scala 2.11.8安装部署和基本语法一
1 下载地址2 安装部署下载[root@zhangyu software]# wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.zip解压[root@zhangyu software]# unzip scala-2.11.8.zip配置环境变量[root@zhangy...原创 2018-02-02 11:39:33 · 4501 阅读 · 0 评论 -
Hadoop对于数据的离线处理流程及实现Top N 查询
1.需求:查询各个区域下最受欢迎的Top 3的访问次数2.数据:三张表在MySQL中,一张在hive中1.MySQL中的表:city_info:城市信息表mysql> select * from city_info;+---------+-----------+--------+| city_id | city_name | area |+-----...原创 2018-02-02 10:04:04 · 2097 阅读 · 2 评论 -
sqoop的基本语法详解及可能遇到的错误
1 sqoop介绍Apache Sqoop是专为Apache Hadoop和结构化数据存储如关系数据库之间的数据转换工具的有效工具。你可以使用Sqoop从外部结构化数据存储的数据导入到Hadoop分布式文件系统或相关系统如Hive和HBase。相反,Sqoop可以用来从Hadoop的数据提取和导出到外部结构化数据存储如关系数据库和企业数据仓库。 Sqoop专为大数据批量传输设计,能够分割数...原创 2018-01-15 21:53:54 · 19135 阅读 · 5 评论 -
sqoop的安装部署
1 下载下载地址作者使用的是sqoop-1.4.6-cdh5.7.0.tar.gz版本2 上传到linux上,并解压[hadoop@zhangyu software]$ tar -xzvf sqoop-1.4.6-cdh5.7.0.tar.gz修改用户和用户组[hadoop@zhangyu software]$ sudo chown hadoop:hadoop sqo...原创 2018-01-15 18:17:00 · 732 阅读 · 0 评论 -
HiveServer2 JDBC客户端连接Hive数据库
官方地址1 简介两者都允许远程客户端使用多种编程语言,通过HiveServer或者HiveServer2,客户端可以在不启动CLI的情况下对Hive中的数据进行操作,连这个和都允许远程客户端使用多种编程语言如java,python等向hive提交请求,取回结果(从hive0.15起就不再支持hiveserver了),但是在这里我们还是要说一下hiveserverHiveServer...原创 2018-01-15 17:23:28 · 4172 阅读 · 0 评论 -
Scala高阶函数学习
1 简介Scala函数式编程在scala中占据着重要地位,函数与变量同等地位,函数的定义可以单独定义,可以不依赖于类、接口或者object,而且独立存在,独立使用,并且可以赋值给变量。Scala的函数式编程使得算法的设计可以更高效更精简,因为函数式是依赖人们的思考 方式构建的。Spark中的计算几乎所有都是用函数式编写的,而且我们在处理数据一般都是针对集合的,集合的函数式编程更是重中之...原创 2018-02-08 11:51:05 · 325 阅读 · 0 评论 -
配置多台虚拟机之间的SSH信任
1.本机环境 主机名 ip hadoop001 192.168.137.200 hadoop002 192.168.137.201 hadoop003 192.168.137.2022. 3台机器执行命令ssh-keygen[root@hadoop001 ~]# ssh-keygenGenerating ...原创 2018-02-10 14:58:51 · 1720 阅读 · 0 评论 -
hive jdbc 连接时抛异常
Exception in thread "main" java.sql.SQLException: Could not open client transport with JDBC Uri: jdbc:hive2://192.168.137.200:10000/default: java.net.ConnectException: Connection refused: connect ...原创 2018-01-18 15:22:02 · 13729 阅读 · 2 评论 -
fsimage与editlog详解
1 概述HDFS中的NameNode被称为元数据节点DataNode称为数据节点。NameNode维护了文件与数据块的映射表以及数据块与数据节点的映射表,而真正的数据是存储在DataNode上。 对于NameNode如何存储这些信息,它维护两个文件,一个是fsimage,一个是editlog。2 fsimage与editlog作用fsimage保存了最新的元数据检查点,包含了整个H...原创 2018-05-30 10:53:13 · 6238 阅读 · 0 评论 -
Spark 中的shuffle解读以及repartition和coalesce介绍以及使用场景
1 概述官网描述 shuffle被称为”奇迹发生的地方”,在Spark中某些操作会触发shuffle,例如join, *By 或者 *ByKey等。我们应该都知道一句话:尽量去避免shuffle,为什么呢? 因为当作业运行的时候,shuffle是非常损耗性能的,shuffle是spark中重新分配数据的机制,那就意味着,要从集群中不同的节点去拉取数据,进行聚合或者join操作。举个例子,当...原创 2018-05-25 17:52:39 · 6766 阅读 · 0 评论 -
spark-submit提交应用程序出现的错误
错误118/04/20 20:51:54 ERROR SparkContext: Error initializing SparkContext.org.apache.spark.SparkException: Could not parse Master URL: '2' at org.apache.spark.SparkContext$.org$apache$spar...原创 2018-04-27 20:28:08 · 4726 阅读 · 0 评论 -
IDEA中使用Maven开发Spark应用程序
1 环境搭建1.1 使用maven创建spark项目 如上图所示点击next创建自己的spark项目; 对maven进行修改1.2 修改pom.xml<!--依赖的版本--><properties> <scala.version>2.11.8</scala.versio原创 2018-04-27 20:17:05 · 3623 阅读 · 0 评论 -
Spark的好处及优势
1 官网地址链接地址2 MapReduce局限性1)繁杂:Map和Reduce两种操作 2)处理效率低效。IO:Map中间结果写磁盘,Reduce写HDFS,多个MR之间通过HDFS交换数据; 任务调 度和启动开销大;进程级别 Map端和Reduce端均需要排序 3)不适合迭代计算(如机器学习、图计算等),交互式处理(数据挖掘) 和流式处理(点击日志分析)...原创 2018-04-23 21:41:29 · 19221 阅读 · 0 评论 -
Spark中的一些基本概念,及运行流程
1 Spark中的一些基本概念话不多说,先来一个官网地址:链接 1. Application:用户基于spark的代码,由一个Driver和多个Excutor组成。 2. Application jar:将用户基于spark的代码打包成的jar包。 3. Driver program:运行application的main()函数并自动创建SparkContext。通常SparkCon...原创 2018-04-23 21:03:46 · 1447 阅读 · 0 评论 -
spark运行模式
1概述saprk的运行模式:local/yarn/standalone/mesos/k8s;local模式是最常用的一种模式。spark目录介绍total 108drwxr-xr-x. 3 hadoop hadoop 4096 Mar 3 08:34 bindrwxrwxr-x. 2 hadoop hadoop 4096 Apr 20 07:47 confdrwxr-...原创 2018-04-23 17:29:04 · 354 阅读 · 0 评论 -
hadoop中压缩与解压详解
1 概述对于压缩的好处可以从两方面考虑:Storage + Compute; 1. Storage :基于HDFS考虑,减少了存储文件所占空间,提升了数据传输速率; 2. Compute:基于YARN上的计算(MapReduce/Hive/Spark/….)速度的提升;在hadoop大数据的背景下,这两点尤为重要,怎样达到一个高效的处理,选择什么样的压缩方式和存储格式(下篇博客介绍)是...原创 2018-03-12 11:39:55 · 23954 阅读 · 14 评论 -
hadoop-2.6.0-cdh5.7.0 使用maven进行源码编译报错
1 问题:当我把编译前的环境准备好,进行hadoop-2.6.0-cdh5.7.0编译mvn clean package -Pdist,native -DskipTests -Dtar(编译命令),出现了如下的错误: 这个警告信息很关键,提示我JDK版本不允许!!! 看看我的本机环境 2 本机环境JDK 1.8apache-maven-3.3.9protobuf-2.5...原创 2018-03-01 20:32:15 · 1473 阅读 · 0 评论 -
Hive的内置函数和自定义函数UDF
1 Hive的内置函数在Hive中给我们内置了很多函数官方地址也可以在启动hive后输入命令查看函数:SHOW FUNCTIONS;DESCRIBE FUNCTION <function_name>;DESCRIBE FUNCTION EXTENDED <function_name>;查看所有的内置函数hive> show fun...原创 2018-01-15 09:04:18 · 28920 阅读 · 3 评论 -
Hive-Import/Export(导入导出)
1 官方地址Hive 0.8.0 之后引入了EXPORT and IMPORT 命令。EXPORT命令将表或分区的数据连同元数据一起导出到指定的输出位置(HDFS上)。然后可以将此输出位置移至不同的Hadoop或Hive实例,并使用IMPORT命令进行导入操作。导出分区表时,原始数据可能位于不同的HDFS位置。还支持导出/导入分区子集的功能。导出的元数据存储在目标目录中,数据文件存储...原创 2018-01-11 20:01:00 · 5178 阅读 · 0 评论 -
HDFS原理详细解读
1.HDFS简介HDFS(Hadoop Distributed File System )Hadoop分布式文件系统。是根据google发表的论文翻版的。论文为GFS(Google File System)Google 文件系统(中文,英文)。Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件上的分布式文件系统。HDFS体系结构中有三类节点,一类是NameNode,又叫”名称...原创 2017-12-19 16:48:08 · 3269 阅读 · 0 评论 -
linux添加环境变量对/etc/profile文件进行修改过后导致命令用不了
1.在使用java的时候,要添加环境变量。一般我们是export一些变量,比如:export JAVA_HOME=....export PATH=$PATH:$JAVA_HOME/bin但是,当我们在export PATH的时候忘记在等号右边加红色的$PATH:的时候会导致我们在使用一些常用命令,比如ls,sudo,vim,clear等系统自带的命令的时候会出现commond no...原创 2017-12-19 13:38:45 · 3294 阅读 · 1 评论 -
Hadoop多次格式化出现17/12/19 00:19:51 WARN hdfs.DataStreamer: DataStreamer Excep
在进行Hadoop伪分布式安装的时候我格式化一次,后来又修改了core-site.xml,又进行了一次格式化,然后使用MapReduce 进行测试计算的时候抛出下面的异常:[hadoop@zydatahadoop001 hadoop]$ bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.1.jar p...原创 2017-12-19 13:29:17 · 6933 阅读 · 3 评论 -
Hadoop伪分布式安装二(MapReduce+Yarn)
上一篇我们已经介绍了HDFS的部署,接着我们进行Hadoop伪分布式MapReduce+Yarn的部署1.Yarn部署修改mapred-site.xml 文件[hadoop@zydatahadoop001 hadoop]$ cd /opt/software/hadoop/etc/hadoop/[hadoop@zydatahadoop001 hadoop]$ ...原创 2017-12-19 12:40:42 · 666 阅读 · 0 评论 -
Hadoop伪分布式安装一(HDFS)
1.安装前的准备工作在进行Hadoop伪分布式安装前要检测虚拟机是否进行了下面的配置: 1. 修改主机名 2. 修改主机名与ip之间的映射关系 3. 配置虚拟机网络可以进行上网2.伪分布式部署(HDFS)1.创建hadoop服务的一个用户创建hadoop用户[root@zydatahadoop001 ~]# useradd hadoop[root@zyd...原创 2017-12-18 22:31:47 · 842 阅读 · 0 评论 -
Hadoop简介与Hadoop-2.8.1 编译
1.Hadoop简介1. 官网地址hadoop.apache.org2. 对Hadoop解读Hadoop这个名字不是一个缩写,它是一个虚构的名字。该项目的创建者,Doug Cutting如此解释Hadoop的得名:”这个名字是我孩子给一个棕黄色的大象样子的填充玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子是这方面的高手。Google...原创 2017-12-18 16:30:31 · 1325 阅读 · 0 评论 -
centos如何在官网下载以前的版本
今天想从官网下载6.5版本的CentOS,结果找了好一会儿才找到,赶紧记录下来,以备以后查询。 第一步在百度搜索centos,点击"Download CentOS",如下图所示。 点击上图的链接后我们会进入到如下图所示的界面,由于我要下载的是6.5版本的CentOS,因此点击"More Download Choices",如下图所示。转载 2017-11-10 21:23:19 · 6823 阅读 · 1 评论 -
rundeck调度工具的使用
官网地址http://rundeck.org/1. 进入官网后点击download:2. 选择免费版或者收费版(根据自己需求)3. jar包下载4. 下载成功后我们把jar包放入文件夹中打成压缩包5. 将压缩好的zip包上传到linux上[root@zydatahadoop001 software]# lltotal 305...原创 2017-12-21 16:14:01 · 3064 阅读 · 0 评论 -
使用rundeck调度工具设置发送邮件
1.配置QQ邮箱发送邮件1.1开启SMTP服务,获取授权码1.2选择账户开启相关服务,生成授权码2开启sendmail服务和postfile服务[root@zydatahadoop001 rundeck]# service sendmail stop[root@zydatahadoop001 rundeck]# chkconfig sendmail...原创 2017-12-21 16:34:18 · 1604 阅读 · 0 评论 -
JPS命令的使用和处理process information unavailable异常信息
1.jps是JDK 1.5提供的一个显示当前所有java进程pid的命令。jps存放在JAVA_HOME/bin/jps[hadoop@zydatahadoop001 ~]$ which jps/usr/java/jdk1.8.0_45/bin/jps2.命令格式jps [ options ] [ hostid ]3.常用参数说明-m 输出传递给main方法的参...原创 2017-12-25 16:33:07 · 1644 阅读 · 0 评论 -
Hive CLI 常用操作
1 官方地址地址及语法To get help, run "hive -H" or "hive --help".Usage (as it is in Hive 0.9.0):usage: hive -d,--define <key=value> Variable substitution to apply to Hive ...原创 2018-01-10 10:24:10 · 1085 阅读 · 2 评论 -
Hive常用的基础sql语法--聚合函数,分组函数的使用和多表查询
1 聚合函数一句话概括什么是聚合函数:多行合并为一行。(大家应该明白了吧)常用函数:sum,count,max,min,avg。hive> select * from emp;OK7369 SMITH CLERK 7902 1980/12/17 800.0 NULL 207499 ALLEN SALESMAN ...原创 2018-01-09 11:40:43 · 7571 阅读 · 2 评论 -
Hive常用的基础sql语法(DML)
数据的操作语言DML(Data Manipulation Language)1 LOAD(加载数据)加载文件到表中(Loading files into tables) -下面是官网上为我们列出的语法:LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partc...原创 2018-01-08 22:06:23 · 3949 阅读 · 0 评论 -
YARN的Memory和CPU调优配置详解
Hadoop YARN同时支持内存和CPU两种资源的调度,本文介绍如何配置YARN对内存和CPU的使用。YARN作为一个资源调度器,应该考虑到集群里面每一台机子的计算资源,然后根据application申请的资源进行分配Container。Container是YARN里面资源分配的基本单位,具有一定的内存以及CPU资源。在YARN集群中,平衡内存、CPU、磁盘的资源的很重要的,根据经验,每...转载 2018-01-05 19:55:10 · 561 阅读 · 0 评论 -
Hive常用的基础sql语法(DDL)
对于Hive的学习,官网可以说是最详细不过的了;不仅仅是Hive,对于大部分大数据的组件能够理解官网所介绍的那你估计就是大牛级别的了!下面我们就对官网上给我们列出的sql语法进行进一步了解。首先了解下Hive的数据存储结构,如下图: 1. Database:Hive中包含了多个数据库,默认的数据库为default,对应于HDFS目录是/user/hadoop/hive/warehou...原创 2018-01-04 22:09:10 · 3954 阅读 · 4 评论 -
Hive实现wordcount的统计
1 所需环境Hive的安装参考地址2 创建一个数据库创建wordcount数据库hive> create database wordcount;OKTime taken: 0.389 secondshive> show databases;OKdefaultwordcountTime taken: 0.043 seconds, Fetch...原创 2018-01-03 17:29:25 · 1708 阅读 · 0 评论