自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小黑的博客

凡出言,信为先;诈与妄,奚可焉

原创 Java jdk window环境变量配置 win10 win7(以及一下版本适用)完整版

1、安装完成,右击“计算机”,点击“属性”,选择“高级系统设置” 2、点击“高级”选项卡,点击“环境变量”; 3、设置参数 WIN 10 新建 JAVA_HOME C:\Program Files\Java\jdk1.8.0_121(JDK根目录) ...

2018-08-28 16:48:20

阅读数 531

评论数 0

原创 hdfs shell命令汇总

FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs 的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中...

2019-10-21 16:37:48

阅读数 15

评论数 0

原创 hdfs操作

查看路径 hadoop fs -ls <目录> 上传 hadoop fs -put <目录> 下载 hadoop fs -get <目录> 查看文件内容 hadoop fs -cat <完整路径> 创建目录 hadoop fs -mkdir ...

2019-10-16 17:12:43

阅读数 17

评论数 0

原创 java获取某天开始:结束

public class TimeStamp { /** * 一天开始时间戳 * @param timeStamp 输入一个时间戳(Long) * @return 返回开始时间戳 */ public static Long startT...

2019-09-16 15:39:21

阅读数 152

评论数 0

原创 shell脚本的$的含义

shell脚本的$的含义 ​ $0: 脚本自身的名称; $1: 传入脚本的第一个参数; $2: 传入脚本的第二个参数; $@: 传入脚本的所有参数; $*:传入脚本的所有参数; $$: 脚本执行的进程id; $#:传入脚本的参数个数; $?: 上一条命令执行后的状态...

2019-07-05 11:14:21

阅读数 44

评论数 0

原创 Flink之wordcount

小编初学flink,看到各大论坛上有各种不同版本的,有一些还运行不了,小编就参照官网写了一个 pom文件是这样的 <dependencies> <!--flink——scala的依赖--> <dependency> &l...

2019-06-20 16:47:26

阅读数 142

评论数 0

原创 kafka Drictor维护偏移量

Apache Spark 2.1.x以及spark-streaming-kafka-0-10使用新的的消费者API即异步提交API。你可以在你确保你处理后的数据已经妥善保存之后使用commitAsync API(异步提交 API)来向Kafka提交offsets。新的消费者API会以消费者组id作...

2019-06-11 10:55:03

阅读数 77

评论数 0

原创 连接Redis

连接Redis java @Test public void jedisClientTest(){ //创建Jedis //host:redis数据库的IP地址 //port:redis数据库的端口号 Jedis jedi...

2019-05-25 12:21:24

阅读数 143

评论数 0

原创 NoSQL数据库

NoSQL优缺点 ** 优点:** 易扩展 NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样 就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。 大数据量,高性能,快速读写 NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,...

2019-05-25 10:58:37

阅读数 183

评论数 0

原创 HBase的RowKey设计原则

HBase的RowKey设计原则 Rowkey长度原则 rowkey是一个二进制码流,可以为任意字符串,最大长度为64kb,实际应用中一般为10-100bytes,它以byte[]形式保存,一般设定成定长。 建议越短越好,不要超过16个字节,原因如下: (1)数据的持久化文件HFile中是按照Ke...

2019-05-19 16:42:11

阅读数 32

评论数 0

原创 行存储列存储优缺点

行存储 列存储 优点 写入效率高,保证数据完整性 读取效率高,没有冗余 缺点 数据有冗余现象,计算速度慢 写入次数多,速度慢,小号cpu 使用场景 关注整张表内容,或者需要经常更新数据、需要经常读取整行数据、不需要聚集运算,或者快速查询需求、数据表...

2019-05-16 11:46:29

阅读数 814

评论数 0

原创 cach、persist、checkpoint的区别

cache与persist的区别 cache 底层调用的是 persist 方法,存储等级为: memory only,persist 的默认存储级别也是 memory only,persist 与 cache 的主要区别是 persist 可以自定义存储级别。哪些 RDD 需要 cache ? ...

2019-05-16 11:26:45

阅读数 116

评论数 0

原创 Parquet存储格式

Parquet是一种列式存储格式,可用于Hadoop生态系统中的任何项目,无论选择何种数据处理框架,数据模型或编程语言。 ####特点: a、更高的压缩比 parquet的gzip的压缩比率最高,若不考虑备份可以达到27倍。可能这也是spar parquet默认采用gzip压缩的原因吧。 ...

2019-04-26 17:48:46

阅读数 184

评论数 0

原创 spark 自定义分区

说明:将相同numPars分到一个分区 class SouGouPartition(numPars : Int) extends Partitioner{ override def numPartitions: Int = numPars override def getPar...

2019-04-24 11:52:30

阅读数 48

评论数 0

转载 HBase预分区

什么是预分区? HBase提供了预分区功能,即用户可以在创建表的时候对表按照一定的规则分区。 HBase表在刚刚被创建时,只有1个分区(region),当一个region过大(达到hbase.hregion.max.filesize属性中定义的阈值,默认10GB)时,表将会进行split,分裂为2...

2019-04-24 09:35:46

阅读数 43

评论数 0

原创 hive报错MetaException(message:An exception was thrown while adding/validating class

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:An exception was thrown while adding/valida...

2019-04-11 16:09:26

阅读数 452

评论数 2

转载 redis+mysql结合使用

redis-mysql mysql:数据放在磁盘 是关系型数据库,主要用于存放持久化数据, redis:数据放在内存 AOF:增量更新 RDB:覆盖 是NOSQL,非关系型数据库, redis和mysql的区别总结 (1)类型上 从类型上来说,mysql是关系型数据库,redis是...

2019-04-09 21:42:15

阅读数 495

评论数 0

原创 MapReduce与Spark的shuffle的比较

对比方向 MapReduce SparkHash collect 在内存中构造了一块数据结构用于map输出的缓冲区 没有环形缓冲 sort map输出的数据排序 map数据没有排序 merge 对磁盘上的多个spill文件最后进行合并成一个输出文件 在map端没有merge过程, ...

2019-04-02 15:09:25

阅读数 43

评论数 0

原创 Spark On Yarn的执行流程及应用场景

一、driver 运行在集群中(cluster模式) 1、client 向 yarn 提交一个job 2、ResouceManager 为该job在某个 NodeManager 上分配一个 ApplicationMaster,NM启动AppMaster,Appmaster 启动 driver ...

2019-04-02 10:24:41

阅读数 151

评论数 0

原创 Spark shuffle和mapreduce shuffle的区别

1.从整体功能上看,两者并没有大的差别。 都是将 mapper(Spark 里是 ShuffleMapTask)的输出进行 partition,不同的 partition 送到不同的 reducer(Spark 里 reducer 可能是下一个 stage 里的 ShuffleMapTask,也可...

2019-04-01 15:57:54

阅读数 714

评论数 1

转载 spark优化

1、 性能调优 1.1、 分配更多资源 1.1.1、分配哪些资源? Executor的数量 每个Executor所能分配的CPU数量 每个Executor所能分配的内存量 Driver端分配的内存数量 1.1.2、在哪里分配这些资源? 在生产环境中,提交spark作业时,用的spark-submi...

2019-03-22 20:40:28

阅读数 74

评论数 0

转载 Streaming消费Kafka数据的两种方式

1.receiver模式 Receiver接收固定时间间隔的数据,放在Spark executors内存中操作,使用kafka高级API,自动维护偏移量,达到固定时间才能进行处理,效率低下,并且容易丢失数据。 数据备份两次,保存到hdfs,每次使用须从hdfs读取,导致效率低下。 如果数据量特别大...

2019-03-20 14:12:27

阅读数 344

评论数 0

转载 Spark任务提交全流程(简述+全流程)

概略: 1.Driver端启动SparkSubmit进程,启动后开始向Master进行通信,此时创建了一个对象(SparkContext),接着向Master发送任务消息 2.Master接收到任务信息后,开始资源调度,此时会和所有的Worker进行通信,找到空闲的Worker,并通知Worke...

2019-03-20 13:55:24

阅读数 792

评论数 0

原创 tried to access method com.google.common.base.Stopwatch.<init>()V from class org.apache.hadoop.mapre

Exception in thread &quot;main&quot; java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.&amp;lt;init&a...

2019-03-07 15:06:27

阅读数 318

评论数 1

原创 RDD依赖关系

RDD和它依赖的父RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency)。 一般有shuffle过程即宽依赖,无shuffle过程就窄依赖但是窄依赖也有可能产生数据在网络传输。 2.1、窄依赖 窄依赖指的是每一个父RDD的Pa...

2019-03-07 15:03:52

阅读数 69

评论数 0

原创 ElasticSearch启动报错

ElasticsearchParseException[malformed, expected settings to start with ‘object’, instead was [VALUE_STRING]] 修改es配置文件的时候,因为没有在“:”号后面留空格,导致报以下错误 Excep...

2019-03-06 13:02:43

阅读数 523

评论数 1

翻译 spark streaming的工作原理与Dstrenm

spark streaming的原理 对于Spark Core它的核心就是RDD,对于Spark Streaming来说,它的核心是DStream,DStream类似于RDD,它实质上一系列的RDD的集合,DStream可以按照秒数将数据流进行批量的划分。首先从接收到流数据之后,将其划分为多个b...

2019-03-04 20:24:05

阅读数 72

评论数 0

原创 spark写sql语句范例

//创建一个sparkSession对象 val sparkSession = SparkSession.builder() .appName("createDF2") .master("local") .getOrCreate() val rd...

2019-03-02 21:58:24

阅读数 523

评论数 0

转载 RDD、DataFrame、Dataset共性:

在spark中,RDD、DataFrame、Dataset是最常用的数据类型,本博文给出笔者在使用的过程中体会到的区别和各自的优势 共性: 1、RDD、DataFrame、Dataset全都是spark平台下的分布式弹性数据集,为处理超大型数据提供便利 2、三者都有惰性机制,在进行创建、转换,如m...

2019-02-28 14:27:46

阅读数 34

评论数 0

转载 Spark RDD、DataFrame原理及操作详解

RDD是什么? RDD (resilientdistributed dataset),指的是一个只读的,可分区的分布式数据集,这个数据集的全部或部分可以缓存在内存中,在多次计算间重用。 RDD内部可以有许多分区(partitions),每个分区又拥有大量的记录(records)。 五个特征:...

2019-02-26 21:11:19

阅读数 69

评论数 0

原创 DAG的生成

1、有向无环图 DAG(Directed Acyclic Graph)叫做有向无环图,是一种不包含有向环的有向图。 2、DAG的创建 DAG描述多个RDD的转换过程,任务执行时,可以按照DAG的描述,执行真正的计算; DAG是有边界的: 开始(通过sparkcontext创建的RDD),...

2019-02-26 20:23:55

阅读数 507

评论数 0

原创 spark任务提交的四个阶段和stage的流程

spark任务提交的四个阶段 1、构建DAG 用户提交的job将首先被转换成一系列RDD并通过RDD之间的依赖关系构建DAG,然后将DAG提交到调度系统; 一个RDD描述了数据计算过程中的一个环节,而一个DAG包含多个RDD,描述了数据计算过程中的所有环节;一个spark applica...

2019-02-26 19:33:10

阅读数 756

评论数 0

原创 广播变量和累加器的使用场景以及如何使用

广播变量和累加器的使用场景以及如何使用

2019-02-23 21:58:51

阅读数 195

评论数 0

原创 IDEA报scalac Error:bad option -make:transitive

1、首先找到项目目录 找到文件夹 .idea 2、修改scala_compiler.xml文件 3、删除包含-make:transitive的参数行 4、保存退出 5、重新打开项目 OK

2019-02-22 16:49:08

阅读数 75

评论数 0

原创 reduceByKey和foldByKey的区别

reduceByKey def reduceByKey(func: (V, V) =&gt; V): RDD[(K, V)] 对元素为kv对的RDD中key相同的元素的Value进行reduce操作 示例 scala&gt; val a = sc.parallelize(List...

2019-02-21 19:01:57

阅读数 232

评论数 0

原创 数据仓库复习索引

数据仓库 数据仓库是一个 面向主题的、集成的、随时间变化的、非易失的数据集合,用于支撑管理者的决策过程。 数据仓库中的粒度是指数据的细节或汇总成度。细节程度越高,粒度级别越低 数据仓库的数据来自各个业务应用系统 很多因素导致直接访问业务无法进行全局数据分析的工作,这也是需要一个数据...

2019-02-20 12:48:12

阅读数 289

评论数 0

原创 spark特点及安装调试

spark特点 1、快 与Hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上。Apache Spark使用最先进的DAG调度程序,查询优化器和物理执行引擎,实现批处理和流数据的高性能 2、便于使用 Spark支持Java、Python和...

2019-02-19 14:11:35

阅读数 43

评论数 0

原创 scala的reduce操作-归约

scala当中的reduce可以对集合当中的元素进行归约操作。 reduce包含reduceLeft和reduceRight。reduceLeft就是从左向右归约,reduceRight就是从右向左归约。``` (1 to 9).reduceLeft( _ * _) //相当于1 * 2 * 3 ...

2019-02-18 21:52:33

阅读数 917

评论数 0

原创 并发和并行

并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行 并行:并行处理是计算机系统中能同时执行两个或多个处理的一种计算方法。并行处理可同时工作于同一程序的不同方面。并行处理的主要目的是节省大型...

2019-02-18 14:14:02

阅读数 24

评论数 0

原创 scala的交集、并集、差集

  交集 对于非Set集合,在做交集时必须转换为Set,否则元素不去重没有意义。 List(1, 2, 3, 4).toSet Set(1, 2, 3, 4) &amp; Set(5, 6, 4, 7)   // &amp;方法等同于interset方法 S...

2019-02-13 19:52:48

阅读数 415

评论数 0

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