自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 配置管理库 typesafe.config的简单使用

1 maven配置<dependency> <groupId>com.typesafe</groupId> <artifactId>config</artifactId> <version>1.3.3</version></dependency>2 配置文件路径需是main/reso...

2019-04-11 13:56:22 578

原创 idea svn连接https报错问题: E230001: Server SSL certificate verification failed: certificate issued

使用idea下代码时报了错E170013 E230001: Server SSL certificate verification failed: certificate issued、网上找了下相同的问题,在此记录下解决方案cmd打开运行窗口,执行以下命令svn ls https://xxxxxx是具体的svn项目地址最后会显示®eject, accept (t)emporarily...

2019-03-12 09:29:13 436

原创 linux查询文件内容以及显示出文件名

find . -type f -name *CUSTR2019*.txt -print | xargs grep 512923197208267087 | awk -F '|' '{print $1 $2 $28}'–CUSTR2019.txt 文件–512923197208267087 文件内容

2019-02-18 11:11:10 3168

原创 kafka zookeeper 单节点安装测试

一 介质版本kafka_2.11-1.1.1.tarzookeeper-3.4.5-cdh5.7.0.tar二 安装1、解压tar -zxvf kafka_2.11-1.1.1.tar -C /apptar -zxvf zookeeper-3.4.5-cdh5.7.0.tar -C /app创建软连接ln -s kafka_2.11-1.1.1 kafkaln -s zooke...

2019-01-31 11:02:01 342

原创 记一次离线安装CDH-5.12.0错误

java.lang.IllegalArgumentException: Invalid value set for db.setupType, the valid values are EMBEDDED or EXTERNALat com.google.common.base.Preconditions.checkArgument(Preconditions.java:92)at com.cl...

2019-01-11 10:36:59 328

原创 Hive自定义函数UDF

一、hive自定义函数有三种,即UDF,UDAF,UDTF。UDF 一进一出  对每一条输入分别处理,有多少输入就有多少输出。UDAF 多进一出  例如sum这种功能的函数,对输入数据有聚合功能。多条数据生成一条数据。UDTF 一进多出  例如将一条数据按照规则切分为多列。一条数据生成多条数据。二、这里介绍下最简单的UDF创建与使用1、maven添加hive依赖 &lt;...

2019-01-07 15:16:18 198

原创 spark之推测执行

1、什么是推测执行?  在spark作业运行中,一个stage里面的不同task的执行时间可能不一样,有的task很快就执行完成了,而有的可能执行很长一段时间也没有完成。造成这种情况的原因可能是集群内机器的配置性能不同、网络波动、或者是由于数据倾斜引起的。而推测执行就是当出现同一个stage里面有task长时间完成不了任务,spark就会在不同的executor上再启动一个task来跑这个任务,...

2019-01-04 16:19:20 1641

原创 Spark SQL之外部数据源

概述  从Spark 1.2版本开始,Spark SQL正式支持外部数据源。它可以通过DataFrame接口对各种数据源进行操作,例如orc,parquet,json,hive,jdbc,avro等。它既可以通过转换成RDD进行操作,也可以被创建为一个临时视图。将外部数据读入后创建为一个临时视图,可以用sql的方式进行查询处理。这个特性可以很方便让我们直接可以用Spark SQL操作各种格式的数...

2019-01-04 10:43:49 284

原创 sparksql启动报错The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH

  要启动sparksql并访问到Hive,有两个步骤:1、将$HIVE_HOME/conf/hive-site.xml拷贝到$SPARK_HOME/conf下2、配置MySQL驱动包,将MySQL驱动包放在一个自定义目录下,在$SPARK_HOME/conf里面的spark-defaults.conf配置两个参数spark.executor.extraClassPath /home/had...

2018-12-27 14:39:16 973

原创 Spark之广播变量Broadcast Variables与计数器Accumulators

一、广播变量Broadcast Variables  根据官方文档,广播变量Broadcast Variables可以使开发者在每个节点–即Executor上缓存一个只读的变量,它相对于在每个task上复制一份这个变量具有更好的优势。因为它能减少网络和内存的开销。例如,有一个Map数据,大小为10M。这份数据在spark执行过程中需要被用到。下面是伪代码val mapVar = new Has...

2018-12-25 14:26:32 336

原创 Spark之持久化与存储级别

一、持久化cache()与persist()  根据spark官方文档,Spark 中一个很重要的能力是将数据持久化(或称为缓存),在多个操作间都可以访问这些持久化的数据。当持久化一个 RDD 时,每个节点的其它分区都可以使用 RDD 在内存中进行计算,在该数据上的其他 action 操作将直接使用内存中的数据。这样会让以后的 action 操作计算速度加快(通常运行速度会加速 10 倍)。缓存...

2018-12-25 11:14:14 2197

原创 Spark之yarn-client与yarn-cluster

摘要:  spark有两种方式运行在yarn上,一种是yarn-client客户端模式,一种是yarn-cluster模式。两种模式有一定的不同点。一、Application Master  为了更好的理解这两种模式的区别先了解下Yarn的Application Master概念。在Yarn中,每个application都有一个Application Master进程,它是Appliacti...

2018-12-25 10:21:29 2100

原创 spark之算子--transformation和action

摘要  spark的RDD具有延迟计算的特性,spark有两种操作算子,一种是transformation,一种是action。tranformation是来创建RDD的,它有可能从文件创建,也可能集合中创建,也可能依赖其它RDD创建。当算子为transformation的时候,spark并不执行计算操作,只有当遇到action算子的时候才开始计算。这就是transformation的lazy特...

2018-12-20 15:32:12 740

原创 Spark之RDD的概念及其五大特性

根据RDD源码里面的注释,我们来了解一下RDD的五大特性 * Internally, each RDD is characterized by five main properties: * * - A list of partitions * - A function for computing each split * - A list of dependencies on o...

2018-12-19 16:36:02 4733

原创 使用IDEA开发第一个spark-maven程序--wordcount

我们来写第一个依赖maven的spark程序wordcount1、配置maven在MAVEN_HOME/conf目录下,编辑setting.xml,添加如下内容。为了方便,我使用的是阿里的镜像。 &lt;/mirrors&gt; &lt;mirror&gt; &lt;id&gt;nexus-aliyun&lt;/id&gt; &lt;name&gt;nexu...

2018-12-19 15:54:33 831

原创 hive--beeline使用

  hive beeline客户端方式采用JDBC方式借助于Hive Thrift服务访问Hive数据仓库。  HiveThrift(HiveServer)是Hive中的组件之一,设计目的是为了实现跨语言轻量级访问Hive数据仓库,有Hiveserver和 Hiveserver2两个版本,两者不兼容,使用中要注意区分。体现在启动HiveServer的参数和jdbc:hiveX的参数上。启动hi...

2018-12-11 16:16:22 1230

原创 大数据开发--hadoop存储格式

行式存储与列式存储  在介绍hive存储格式之前,我们先来了解一下行式存储与列式存储的区别。1、行式存储优点:  一条数据就是一行,比较符合面向对象的思维,所有信息都放在一起。这种存储格式可以很方便的进行insert/update操作。缺点:a、如果只需要查询几个列的数据,它会读取所有的列的数据,而不能跳过不需要的列。一般在数据量比较大的时候性能影响比较明显。b、由于每一行中有很多不...

2018-12-11 15:33:40 666

原创 大数据开发--hadoop压缩 lzo测试

摘要:  lzo并不是linux系统原生支持,所以需要下载安装软件包。这里至少需要安装3个软件包:lzo, lzop, hadoop-gpl-packaging。gpl-packaging的作用主要是对压缩的lzo文件创建索引,否则的话,无论压缩文件是否大于hdfs的block大小,都只会按照默认启动2个map操作。一、安装lzop native library &gt; wget http...

2018-12-11 09:59:18 558

原创 大数据开发--hadoop压缩 snappy测试

摘要:  我们用Apache或者CDH下载下来的hadoop安装包来安装hadoop是不支持snappy压缩的,我们可以查看$HADOOP_HOME/lib/native,最开始里面是空的。或者执行hadoop checknative -a来查看支持的压缩,发现压缩格式基本都是false。如果要用snappy压缩,需要重新编译hadoop。下面我们来编译hadoop。一、编译准备部署JAV...

2018-12-10 17:29:51 1411

原创 大数据开发之Hadoop压缩

摘要:  在大数据应用中,首先需要考虑的问题就是如何存储大量数据(HDFS)。通常情况下,我们会将每天产生的生产日志文件存储到HDFS中,久而久之会占用大量磁盘空间。而压缩技术可以大大减少数据文件对于磁盘的占用。而且在读写HDFS的时候,可以减少磁盘和网络的IO,提高MapReduce作业的效率。但是,压缩也会在一定程度上增加CPU的消耗,所以在使用压缩的时候应该综合考虑,合理使用。注意: 压...

2018-12-10 16:44:04 230 1

原创 Hadoop HA高可用集群搭建测试

摘要  在Hadoop2.0之前,只有一个NameNode,若NameNode机器出现故障,那么整个集群都无法使用。这个架构存在单点故障的隐患。之后推出了HA的架构,即有两个NameNode,一台为active状态,一台为standby状态。active NameNode对外提供服务,standby实时同步了active NameNode的元数据,当active NameNode节点出现故障,s...

2018-11-29 11:02:20 1853

原创 Yarn HA高可用架构

摘要  yarn在hadoop大数据生态圈中,是一个资源管理调度的角色。在伪分布式架构中,ResourceManager只有一个,这样容易产生单点故障问题。在生产中,一般会部署HA的高可用架构。这样,在active RM挂掉后,standby RM会切换为active状态,并对外提供服务。架构设计  yarn HA架构如图所示:  RM:  在ZooKeeper上会有一个/yarn-l...

2018-11-26 15:17:21 640

原创 HDFS HA架构设计

概述  我们知道,hdfs是一个分布式存储结构,里面有namenode和datanode节点。在生产中,如果namenode只有一个,会有单点故障的问题,当namenode挂掉,整个hdfs就无法向外服务。为解决这个问题,一般采用HA(high availability) 高可用架构,即部署两台namenode,那么当一台namenode挂掉后,另一台可立即成为active状态向外提供服务。架...

2018-11-26 11:14:23 308

原创 hive元数据相关表结构

概述 hive是一个构建在hadoop hdfs之上的一个数据仓库。它能够对大量数据进行读写与管理。hive元数据默认是存在Derby数据库上,但是Derby是一个单session,每次只允许一个客户端连接,所以并不适用于生产。一般大家都把hive元数据存在mysql之上,不仅满足多用户连接,也可以将mysql搭建一主一备的集群,防止单点故障。hive-site.xml配置 下图是将hive...

2018-11-22 14:15:49 295

原创 Linux批量修改文件后缀名

如上图,文件夹下有1.20182.20183.2018三个文件,现在需把后缀名批量修改为2019执行脚本为find . -name "*.2018" | awk -F "." '{print $2}' | xargs -i -t mv ./{}.2018 ./{}.2019执行后效果为...

2018-11-20 11:05:04 514

原创 maven编译spark2.3.2源码

软件版本spark 2.3.2scala 2.11.8jdk 1.8+maven 3.3.9hadoop-2.6.0-cdh5.7.0编译步骤:1、先安装配置jdk,scala,maven(略)2、到spark官网下载源码,我这里是用的spark-2.3.2版本。注意我们是下载源码,选择Source Code。然后点击spark-2.3.2.tgz下载。然后将包传到linu...

2018-11-07 17:06:04 1056

原创 maven编译spark Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2:testCompile

今天在用maven编译spark的时候,遇到一个错误,见下图而且没有更多的报错信息,在网上找了很多帖子,方法就是在编译之前,执行sh change-scala-version.sh 2.11根据自己所用的scala版本,如果是10就执行2.10。但是我是执行了这个命令的。还是报这个错误。而且用命令mvn -X查看结果为[hadoop@hadoop001 ~]$ mvn -X Ap...

2018-11-07 15:54:32 7252

原创 Yarn三种调度策略对比

  理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源。在Yarn中,负责给应用分配资源的就Scheduler。其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景。为此,Yarn提供了多种调度器和可配置的策略供我们选择。  在Yarn中有三种调度器可以选择:F...

2018-11-01 09:20:00 10260 2

原创 sqoop import export参数介绍

通用参数选项含义说明–connect 指定JDBC连接字符串–connection-manager 指定要使用的连接管理器类–driver 指定要使用的JDBC驱动类–hadoop-mapred-home 指定$HADOOP_MAPRED_HOME路径–help打印用法帮助信息–password-file设置用于存放认证的密码信息文件...

2018-10-31 09:07:20 1358

原创 Hive统计TopN问题

这里模拟一个统计每个区域最受关注的top3的产品业务需求,并模拟生成3张表,分别为城市表city_info,产品表product_info,用户点击行为表user_click。所用的工具有HDFS,HIVE,SQOOP,MYSQL。

2018-10-29 17:23:58 2835

原创 Sqoop 安装测试

1 什么是Sqoop  Sqoop是一个在结构化数据和Hadoop之间进行批量数据迁移的工具,结构化数据可以是Mysql、Oracle等RDBMS。Sqoop底层用MapReduce程序实现抽取、转换、加载,MapReduce天生的特性保证了并行化和高容错率,而且相比Kettle等传统ETL工具,任务跑在Hadoop集群上,减少了ETL服务器资源的使用情况。在特定场景下,抽取过程会有很大的性能提...

2018-10-27 10:47:16 361

原创 Yarn调优

1 什么是yarnYarn是Hadoop2.0中的资源管理系统,它的基本设计思想是将MRv1中的JobTracker拆分成了两个独立的服务:一个全局的资源管理器ResourceManager和每个应用程序特有的ApplicationMaster,其中ResourceManager负责整个系统的资源管理和分配,而ApplicationMaster负责单个应用程序的管理。Yarn主要由Resou...

2018-10-25 16:31:00 312

原创 Hive 分区表

1 、什么是分区表一个表按照某个或某些字段进行分区的表2、为什么要用分区表如果一个hive表没有分区,在查询数据的时候,会进行全表扫描的动作,非常的耗费资源和时间。使用分区表可以只查询指定分区下的数据,大大减少了查询的时间。3、建分区表create table order( order_num string, order_time string) partitioned b...

2018-10-24 16:44:49 247

原创 Hive 函数

1、查询hive中的函数,使用show functions;即可看见可用的所有函数。如下图(列出部分):如果我们想查看某个方法的具体用法,如abs,可以用命令desc function abs;会返回这个函数的用法,当然,还有更详细的命令desc function extended abs;这个命令会列出具体的例子,可以更直观的知道函数的使用方法。...

2018-10-24 14:53:14 138

原创 Hive wordcount

如何使用hive进行wordcount统计如下图,我们先在hive中建一张名为wc的表,里面只有一个字段,包含以逗号隔开的数据然后使用函数split , explode,count,group by进行统计1、 先使用split将每行数据切开,这里是用逗号分隔select split(tence,',') from wc;2、再用explode函数将每个数据处理成一行,即每行只有一条...

2018-10-24 14:34:40 392

原创 Hive DDL DML基础

1、Database 表空间    是HDFS的一个文件夹,列出hive中的表空间语句为:show databases    hive默认有一个default表空间。    默认的数据库存储位置为:/user/hive/warehouse    位置设置参数为:hive.metastore.warehouse.dir2、DDL : Data Definition Language ...

2018-10-23 17:26:47 168

原创 HDFS读文件流程

HDFS读文件流程图如下:1、client通过FileSystem.open(path)方法,去与NN进行RPC通信,NN会校验传入的路径是否存在,用户是否有权限访问该路径下的文件。2、校验完成后,返回部分或者全部的block列表。其实就是返回FSDataInputStream对象。3、client调用FSDataInputStream的read()方法a 去第一个块的最近的DataNo...

2018-10-16 15:05:59 128

原创 Yarn的工作流程(mr提交应用程序)

Yarn的工作流程如下图:1、 用户向Yarn提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。2、ResourceManager为该程序分配第一个Container,并与对应的NodeManager通信,要求它在对应的Container中启动应用程序的ApplicationMaster。3、ApplicationMas...

2018-10-16 11:03:39 1315

转载 secondary namenode和namenode的区别

Secondary NameNode:它究竟有什么作用?在Hadoop中,有一些命名不好的模块,Secondary NameNode是其中之一。从它的名字上看,它给人的感觉就像是NameNode的备份。但它实际上却不是。很多Hadoop的初学者都很疑惑,Secondary NameNode究竟是做什么的,而且它为什么会出现在HDFS中。因此,在这篇文章中,我想要解释下Secondary Name...

2018-10-15 16:06:43 163

原创 二进制安装MYSQL

安装前置条件:需安装配置jdk安装过程1 下载MYSQL介质可根据自己需要的版本下载cd /usr/localwget https://downloads.mariadb.com/archives/mysql-5.6/mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz2 解压介质并重命名文件夹为mysqltar -zxvf mysql-5.6.23-...

2018-10-15 15:34:55 211

空空如也

空空如也

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

TA关注的人

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