自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL中count(1),count(*)和count(列名)的区别

1. count(1) and count(*)从执行计划来看,count(1)和count(*)的效果是一样的。当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多!当数据量在1W以内时,count(1)会比count(*)的用时少些,不过也差不了多少。如果count(1)是聚集索引时,那肯定是count(1)快,但是差的很小。因为count(*),会自动优化指定到那一个字段。所以没必要去count(1),使用count(*),sql会帮你完成...

2020-09-23 19:52:46 987

原创 Spark运行

1 Spark StandAlone 的执行模式1.1 client模式Spark stand alone提交到集群中,默认的模式为client模式,默认参数是 --deploy-mode client例如:/opt/apps/spark-2.3.3-bin-hadoop2.7/bin/spark-submit --master spark://node-1.51doit.cn:7077 --class cn._51doit.spark.day01.WordCount --deploy-.

2020-09-01 22:47:45 258

原创 Spark SQL 自定义函数UDF实现concat_ws

需求: 使用自定义函数,实现concat_ws功能import org.apache.spark.sql.{DataFrame, Dataset, SparkSession}object Myconcat_ws { def main(args: Array[String]): Unit = { val spark: SparkSession = SparkSession.builder().appName("naya").master("local[*]").getOrCreate.

2020-08-21 23:14:06 429

原创 Spark SQL 之自定义函数UDAF,实现求平均值和几何平均数

使用自定义函数UDAF实现求平均值(avg)的需求数据如下:name,salary,deptlaoduan,500000,teacherxiaolin,20000,studentlaozhao,40000,teacherxiaolei,19000,studentxiaona,21000,waiter方式一: 使用老的(过时的)API ,需要先创建一个类,继承自UserDefinedAggregateFunction,并实现其8个方法import org.apache....

2020-08-21 21:09:34 1340 1

原创 Spark之使用单例对象加载规则数据,将数据导入到Mysql中

因为广播变量一旦广播出去,不能再修改所以使用单例对象加载规则数据,达到可以更新的目的bject IpRulesLoader { //使用IO流读取数据,然后放到ArrayBuffer中 //在object中定义的数据是静态的,在一个JVM中只有一份 val ipRules = new ArrayBuffer[(Long, Long, String, String)]() //加载Ip规则数据在,在Executor的类加载器中只执行一次 //静态代码块 //..

2020-08-17 21:51:10 260

原创 Spark之自定义排序

需求使用rdd的sortBy或sortByKey方法进行排序,实现根据需求实现灵活的排序规则,在给定的数据中,有三个字段,分别是:姓名,年龄,颜值。先按照颜值的从高到低进行排序,如果颜值相等,再按照年龄的升序排序数据"laozhao,18,999.9", "laoduan,40,99.99", "hangge,28,99.99"实现方式方式一:将数据封装到自定义的普通的class中,实现comparable接口,并且要实现序列化接口,因为shuffle数据先写磁盘

2020-08-15 21:28:25 348

原创 Spark案例之根据Ip计算归属地(广播变量)

1 需求根据ip规则数据,计算出给定日志中ip地址对应的省份信息2 思路分析(1) 读取Ip规则数据,整理数据,切分需要的字段,并收集到driver端(collect)(2)将driver端准备好的数据广播到Executor中,返回一个广播变量的引用(在driver端)(3)读取访问日志数据,获取访问日志中的Ip ,并用定义好的工具类,将ip转成十进制(4)通过广播变量的引用,可以获取到事先广播到Executor中的数据(5)使用二分查找获取省份名,并和1组合, 聚合获取.

2020-08-14 16:35:40 325

原创 使用Spark实现统计连续登陆的三天及以上的用户

-- 这个问题可以扩展到很多相似的问题:连续几个月充值会员、连续天数有商品卖出、连续打滴滴、连续逾期。数据如下:guid01,2018-02-28guid01,2018-03-01guid01,2018-03-02guid01,2018-03-04guid01,2018-03-05guid01,2018-03-06guid01,2018-03-07guid02,2018-03-01guid02,2018-03-02guid02,2018-03-03guid02,2018...

2020-08-11 19:44:33 832 2

原创 Akka简介和RPC程序总结

一、akka简介Akka基于Actor模型,提供了一个用于构建可扩展的(Scalable)、弹性的(Resilient)、快速响应的(Responsive)应用程序的平台。Actor模型:在计算机科学领域,Actor模型是一个并行计算(Concurrent Computation)模型,它把actor作为并行计算的基本元素来对待:为响应一个接收到的消息,一个actor能够自己做出一些决策,如创建更多的actor,或发送更多的消息,或者确定如何去响应接收到的下一个消息。举例说明:1.每名学生和每名老师

2020-08-11 19:29:01 256

空空如也

空空如也

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

TA关注的人

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