小萌猿的博客

本人的所有文章只是个人观点,欢迎批评指教

checkpoint的正确使用方式及其与persist的区别

一、正确使用方式 在执行checkpoint之前先对RDD进行Persist:应为checkpoint操作会启动一个job,spark默认会重新计算执行checkpoint操作的RDD,也就是说,需要从源头开始再计算一次,明显的重复计算。所以先persist后,就不用重复计算了。 二、与persi...

2019-03-24 17:06:27

阅读数 382

评论数 0

Spark算子使用外部变量的优化

第一、使用FastUtil改写外部变量,FastUtil拓展了java的标准集合,它可以提供更小的内存占用以及更快的存取速度。FastUtil的每一种集合类型,都实现了java的对应接口,可以直接用来替换已有代码中的对应集合。 第二、使用BroadCast广播变量到Executor,使每一个Exe...

2019-03-24 16:38:15

阅读数 474

评论数 0

SparkTask未序列化(Tasknotserializable)问题分析

问题描述及原因分析在编写Spark程序中,由于在map等算子内部使用了外部定义的变量和函数,从而引发Task未序列化问题。然而,Spark算子在计算过程中使用外部变量在许多情形下确实在所难免,比如在filter算子根据外部指定的条件进行过滤,map根据相应的配置进行变换等。为了解决上述Task未序...

2019-03-24 16:08:33

阅读数 331

评论数 0

Spark算子调优

1、使用mapPartitions或者mapPartitionWithIndex取代map操作,其中mapPartitions和mapPartitionWithIndex的区别在于是否将分区号index传入分区处理函数。 eg.对于将RDD中的数据写入数据库时,使用mapPartitions只需...

2019-03-23 17:04:01

阅读数 332

评论数 0

hive中order by,sort by, distribute by, cluster by作用以及用法

1. order by     Hive中的order by跟传统的sql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有hive的sql中制定了order by所有的数据都会到同一个reduce...

2019-03-09 23:08:49

阅读数 296

评论数 0

找不到@HystrixCommand标签

Spring cloud中整合Hystrix时,无法识别@HystrixCommand标签,项目的Hystrix依赖为: <dependency> <groupId>org.springframew...

2019-02-19 10:36:12

阅读数 1644

评论数 0

elasticsearch知识点记录

一、Elasticsearch和传统数据库数据对比: 二、因为Elasticsearch有远程脚本执行功能,容易中木马病毒,所以不允许用root用户启动,需要切换到普通用户启动。 三、配置yml结尾的配置文件都需要在冒号后面加空格才可以生效 四、创建索引注意事项 1:索引库名称必须是全...

2019-02-13 11:59:11

阅读数 366

评论数 0

推荐系统(二)微博广告推荐

业务场景:根据用户近期发布的微博,来推荐相关广告。简单说就是根据微博内容中所涉及到的词条与广告关键词的匹配度来推荐。 用到的关键算法:tf-idf算法,它是一个文本挖掘的重要算法,用来评估字/词对于一个语料库中的一份文本文件的重要程度,字/词的重要性会随着它在该文本文件中出现的次数增加而增加,同时...

2019-01-31 22:04:50

阅读数 373

评论数 0

FileSystem.open()读取 HDFS上的文件遇到的问题

FileSystem.open()方法返回的是一个FSDataInputStream对象,我是直接通过FSDataInputStream的readLine()按行读取内容的,这个方法是deprecated的,就是过期了,其实平时写代码时大部分过期函数都还是可以使用的,但是这里不行,会出现中文乱码 ...

2019-01-31 20:54:14

阅读数 556

评论数 0

推荐系统(一)好友推荐

之前学习过几个推荐业务,总结一下。首先,好友推荐业务 好友推荐已经是很常见的业务了,很多软件,我们熟知的qq、微博等社交软件都有该业务。 上图是我画的一个简单的好友关系图,双向箭头表示互为好友关系。我们已分析小明的推荐好友为例分析。 首先,小明的直接好友有:小蓝,小灰,小红,所以,可能推...

2019-01-29 15:05:47

阅读数 946

评论数 0

Java泛型

泛型,一个孤独的守门者。 大家可能会有疑问,我为什么叫做泛型是一个守门者。这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇。泛型是 Java 中一个很小巧的概念,但同时也是一个很容易让人迷惑的知识点,它...

2019-01-16 16:32:51

阅读数 379

评论数 1

Hadoop主从切换失败

主节点node1,从节点node2,集群启动后node1 Active,node2 Standby,通过在node1上执行hadoop-daemon.sh stop namenode来使node2切换为Active。 发现切换失败(之前一直是这样子做的),集群主从切换是依靠zookeeper的选举...

2018-12-17 15:10:22

阅读数 371

评论数 3

Hive通过using jar创建function时的缓存问题

项目中遇到的小知识点,记录一下。 我们通过using jar方式创建function后,这个jar包(假设为a.jar)会被缓存,如果创建下一个function时,同样需要使用a.jar,但是不同的是这个a.jar是重新打的包,它里面添加了我们创建第二个function需要的UDF。这时候创建fu...

2018-12-14 21:55:11

阅读数 470

评论数 0

Failed to recognize predicate 'row'. Failed rule: 'identifier' in column specification

Hive创建Hbase外联表时报的错。 错因:row与Hive关键字同名了,改为其他名即可

2018-12-13 21:03:18

阅读数 626

评论数 0

java.sql.BatchUpdateException: No value specified for parameter 9

项目中数据库操作遇到的小bug,意思就是说,没有值再去给第九个参数赋值了,就是说添加的value的个数与sql语句中的占位字段个数不相同。 这是我的sql语句: insert into stats_inbound( platform_dimension_id, date_dimension...

2018-12-07 11:56:45

阅读数 1990

评论数 0

DataInput.readInt()报错:java.io.EOFException

实现WritableComparable接口序列化时,在readFields方法里,使用DataInput的readInt方法读取在write方法里写的int,报错:EOFException。 这个错的意思是:输入流已经到了结尾,在这里的意思就是说,输入流里不够一个整形(32位),查到的问题是:在...

2018-12-07 11:23:19

阅读数 1179

评论数 0

HRegionServer启动报错

如上错误,原因:Hbase集群节点时间不一致。所以同步节点时间即可。这里可以使用ntpd服务,具体操作可参照我的另一篇博客集群时间同步 关于HBase集群节点时间不一致导致的启动错误,之前也遇到过,不过报的错误不一样,这篇博客错误说的就比较明显了。明确告诉了我们,节点时间差异导致出错。 Tips...

2018-12-05 23:42:46

阅读数 395

评论数 0

namenode格式化遇到的几个问题

1、Call From node1/192.168.245.151 to node6:8485 failed on connection 8485端口是journalnode的端口, 就是说连接不上journalnode,所以在几个journalnode节点分别执行hadoop-daemon.s...

2018-11-20 17:30:06

阅读数 530

评论数 0

java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class

在SparkStreaming中使用KafkaUtils时报的错。网上都说是scala版本与spark版本的问题。 我使用的是spark2.2.0,scala是2.11,KafkaUtils是spark-streaming-kafka-0-8_2.11.jar包里的,这几个版本都是根据官网上的说明...

2018-11-08 20:17:05

阅读数 911

评论数 0

flume监控文件内容遇到的问题

在Lamda架构分析日志流水线时用到flume监控日志文件的变化。 开始测试时,用shell脚本模拟的简单日志,单条日志格式为:uid-url-ip 如下为我的shell脚本: #! /bin/bash randnum(){ shuf -i 1-100 -n 1 } randseq(){ h...

2018-10-17 23:33:06

阅读数 1791

评论数 0

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