spark
dounine
这个作者很懒,什么都没留下…
展开
-
Spark - SQL查询文件数据
有时候有没有这么一种情况,我拿到了一个sql,csv,parquet文件,一起来就想写sql,不想写那些乱七八糟的的东西,只是想快速实现我要的聚合查询数据。那么我们可以利用spark-sql直接操作文件的特性处理这类的需求,姐姐再也不用担心我不会spark了,因为我就只会sql。使用方法csvspark.sql("select * from csv.`/tmp/demo.csv`").s...原创 2019-11-26 17:29:42 · 313 阅读 · 0 评论 -
Spark+Hbase 亿级流量分析实战( 留存计算)
这篇已经是本系列文章的第五篇了,上一篇大猪已经介绍 PV/UV 的实现方式以及程序的计算逻辑,本篇大猪继续为小伙伴介绍 留存 ,看在Spark+Hbase的架构中到底是怎么实现这种指标的。大猪 的习惯就是能上图就尽量不BB,好的图是会说话的,大猪 也在努力实现中。详细分析过程大猪25通过某篇文章注册了简书帐号,26去浪去了。27再次登录简书,小伙伴猜猜是哪天的几日留存?...原创 2019-03-28 23:50:05 · 700 阅读 · 0 评论 -
Spark+Hbase 亿级流量分析实战( PV/UV )
作为一个百亿级的流量实时分析统计系统怎么能没有PV/UV这两经典的超级玛丽亚指标呢,话说五百年前它俩可以鼻祖,咳咳…,不好意思没忍住,多嘴,回归正文,大猪 在上一篇已经介绍了 小巧高性能ETL程序设计与实现 了,到现在,我们的数据已经落地到Hbase上了,而且日志的时间也已经写到Mysql了,万事都已经具备了,接下来我们就要撸指标了,先从两个经典的指标开始。程序流程在运行指标之前我们有必要...原创 2019-03-28 00:25:08 · 1101 阅读 · 0 评论 -
Spark+Hbase 亿级流量分析实战(数据结构设计)
背景靠文章生存的大厂们简书/小红书/CSDN(PS:好吧你们仨记得给我广告费),对优秀的文章进行大数据分析的工作必不可以少了,本系列文章将会从关于文章的各个维度进行实战分析,这系列文章新手可借着踏入大数据研发的大门,至于大数据的大佬们可以一起来相互伤害,至少为什么取名为 ‘‘百亿级流量实时分析统计’’ 看完后整个系列的文章你就知道了,相信大家都是会举一反三的孩子们。作者网名:大猪佩琪姓名...原创 2019-03-23 18:22:19 · 654 阅读 · 0 评论 -
Spark+Hbase 亿级流量分析实战(小巧高性能的ETL)
在上一篇文章 大猪 已经介绍了日志存储设计方案 ,我们数据已经落地到数据中心上了,那接下来如何ETL呢?毕竟可是生产环境级别的,可不能乱来。其实只要解决几个问题即可,不必要引入很大级别的组件来做,当然了各有各的千秋,本文主要从 易懂、小巧 、简洁、 高性能 这三个方面去设计出发点,顺便还实现了一个精巧的 Filebeat。设计loghub功能要实现的功能就是扫描每天的增量日志并写入Hba...原创 2019-03-29 18:01:23 · 938 阅读 · 0 评论 -
Spark+Hbase 亿级流量分析实战(日志存储设计)
背景接着上篇文章 百亿级流量实时分析统计 - 数据结构设计 我们已经设计好了日志的结构,接下来我们就准备要开始撸代码了,我最喜欢这部分的环节了,可是一个上来连就撸代码的程序肯定不是好程序员,要不先设计设计流程图?那来吧!!!流程图设计一用户发起文章操作,发起请求日志日志将由SLB服务器进行负载到日志打点服务器。NSA将作为日志收集中心进行存储,也可以使用rsync把节点上的日志同...原创 2019-03-25 00:01:21 · 1318 阅读 · 2 评论 -
Spark 高级篇 - 程序不重启还能支持动态注册UDF
昨天有位大哥问小弟一个Spark问题,他们想在不停Spark程序的情况下动态更新UDF的逻辑,他一问我这个问题的时候,本猪心里一惊,Spark**还能这么玩?我出于程序员的本能回复他肯定不行,但今天再回过来头想了一想,昨天脑子肯定进水了,回复太肤浅了,既然Spark可以通过编程方式注册UDF,当然把那位大哥的代码逻辑使用反射加载进去再调用不就行了?这不就是JVM的优势么,怪自己的反射没学到家,说...原创 2019-03-15 18:16:49 · 1390 阅读 · 0 评论 -
来、这里有Hbase导出CSV格式数据的文章
新鲜文章,昨天刚经过线上验证过的,使用它导出了3亿的用户数据出来,花了半个小时,性能还是稳稳的,好了不吹牛皮了,直接上代码吧。MR考查了Hbase的各种MR,没有发现哪一个是能实现的,如果有请通知我,我给他发红包。所以我们只能自己来写一个MR了,编写一个Hbase的MR,官方文档上也有相应的例子。我们用来加以化妆就得到我们想要的了。导出的CSV格式为admin,22,北京admi...原创 2019-02-21 11:13:43 · 613 阅读 · 0 评论 -
Spark 在文件上直接使用SQL查询
有时候有没有这么一种情况,我拿到了一个sql,csv,parquet文件,一起来就想写sql,不想写那些乱七八糟的的东西,只是想快速实现我要的数据。那么我们可以利用spark直接操作文件的特性处理这样的问题。使用方法csvspark.sql("select * from csv.`/tmp/demo.csv`").show(false)jsonspark.sql("select *...原创 2019-02-21 11:11:39 · 776 阅读 · 0 评论 -
Spark 直接操作数据源 MySQL
如果我们的Mysql服务器性能不咋滴,但是硬盘很够,如何才能做各种复杂的聚合操作?答案就是使用spark的计算能力的,我们可以将mysql数据源接入到spark中。读取val mysqlDF = spark .read .format("jdbc") .option("driver","com.mysql.jdbc.Driver") .option("url","jdbc:...原创 2019-02-21 11:10:51 · 1241 阅读 · 0 评论 -
Spark 数据源jdbc2新增upsert功能
在spark的数据源中,只支持Append, Overwrite, ErrorIfExists, Ignore,这几种模式,但是我们在线上的业务几乎全是需要upsert功能的,就是已存在的数据肯定不能覆盖,在mysql中实现就是采用:ON DUPLICATE KEY UPDATE,有没有这样一种实现?官方:不好意思,不提供,dounine:我这有呀,你来用吧。哈哈,为了方便大家的使用我已经把项目...原创 2019-02-21 11:10:10 · 2853 阅读 · 3 评论 -
Scala shell 使用外部包方法
我们可以使用scala shell做很多事情,比如测试一些demo,不用再打开idea那类那么重的编辑器,当然还有其它用法,像我们使用hbase有这样的问题,只是想测试hbase一些东西,但是每次连接hbase很慢,使用scala shell可以先把hbase连接池先创建好,需要测试什么样的代码直接放进去执行即可,即共享变量。使用方法引用单个包scalaWelcome to Scala...原创 2019-01-31 14:42:07 · 1147 阅读 · 1 评论 -
Spark 资源动态释放
通过spark-submit会固定占用一占的资源,有什么办法,在任务不运作的时候将资源释放,让其它任务使用呢,yarn新版本默认已经支持了,我们使用的是HDP。版本如下配置HDP里面已经默认支持spark动态资源释配置代码配置val sparkConf = new SparkConf() .set("spark.shuffle.service.enabled",...原创 2019-01-10 10:16:01 · 2886 阅读 · 0 评论 -
HDFS_DELEGATION_TOKEN 还原及解决方案
HDFS_DELEGATION_TOKEN 这个BUG在很多文章中都出现着,讲了很多原理,但是只给出了官方引用地扯,完全没有给出如何解决,我们线上的业务就有着这样的问题,7天一到马上出现这问题了,官方明明说这个bug修复了呀,因为我们使用的版本是比较新的,理论上不会有这样的问题才对,可是偏偏就有了,没办法,只能上了,花了两天的时间发现了这个问题,下面会还原这个错误及给出解决方案。版本列表...原创 2018-12-29 17:21:43 · 4450 阅读 · 0 评论 -
Spark-Streaming KafkaClient 异常解决
在使用Spark-Streaming消费Kafka数据的时候,使用如下命令提交到yarnCaused by: java.lang.IllegalArgumentException: Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.co...原创 2018-10-23 17:06:49 · 4125 阅读 · 3 评论 -
Spark SerializedLambda错误解决方案
在IDEA下开发Spark程序会遇到Lambda异常,下面演示异常及解决方案。例子import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaSparkContext;import org.apache.spa...原创 2018-08-13 21:47:04 · 3862 阅读 · 2 评论