随笔分类 -  spark-sql

摘要:repartition repartition 有三个重载的函数: 1) def repartition(numPartitions: Int): DataFrame /** * Returns a new [[DataFrame]] that has exactly `numPartitions` 阅读全文
posted @ 2020-07-08 11:35 吊车尾88 阅读(1937) 评论(0) 推荐(0)
摘要:1. sep 和 delimiter的功能都是一样,都是表示csv的切割符,(默认是,)(读写参数) spark.read.option("sep", " ").csv(Seq("jeffy", "katy").toDS()).show() spark.read.option("delimiter" 阅读全文
posted @ 2020-04-21 16:01 吊车尾88 阅读(4167) 评论(0) 推荐(0)
摘要:1. partition by和group by区别和联系 1)group by是分组函数,partition by是分析函数(然后像sum()等是聚合函数) 2)在执行顺序上partition by应用在以上关键字之后,实际上就是在执行完select之后,在所得结果集之上进行partition,g 阅读全文
posted @ 2020-04-16 11:49 吊车尾88 阅读(7611) 评论(0) 推荐(0)
摘要:1. def cume_dist(): Column –CUME_DIST 小于等于当前值的行数/分组内总行数–比如,统计小于等于当前薪水的人数,所占总人数的比例 d1,user1,1000 d1,user2,2000 d1,user3,3000 d2,user4,4000 d2,user5,500 阅读全文
posted @ 2020-04-06 17:00 吊车尾88 阅读(616) 评论(0) 推荐(0)
摘要:Date time functions 默认数据格式为yyyy-MM-dd格式 DataFrame数据 val df = Seq( ("A", "2019-01-10", "2019-05-02"), ("B", "2019-01-01", "2019-02-04"), ("D", "2019-01 阅读全文
posted @ 2020-04-01 09:31 吊车尾88 阅读(692) 评论(0) 推荐(0)
摘要:sparkSQL获取DataFrame的几种方式 1. on a specific DataFrame. 2. A generic column no yet associated with a DataFrame. 3. Scala short hand for a named column. 4 阅读全文
posted @ 2019-11-03 21:03 吊车尾88 阅读(499) 评论(0) 推荐(0)
摘要:直接上代码 阅读全文
posted @ 2019-03-14 15:53 吊车尾88 阅读(5894) 评论(0) 推荐(0)
摘要:在对一个dataframe的多个列实现应用同一个函数时,是否能动态的指定? 例如: 对A,B,C三列实现分组统计 1.初始化spark,构建DF 2.静态实现 3. 动态实现 3.1 方法一:select 实现 3.2 方法二:foldLeft实现 阅读全文
posted @ 2019-03-14 15:47 吊车尾88 阅读(1296) 评论(0) 推荐(0)
摘要:Catalog API简介 Spark中的DataSet和Dataframe API支持结构化分析。结构化分析的一个重要的方面是管理元数据。这些元数据可能是一些临时元数据(比如临时表)、SQLContext上注册的UDF以及持久化的元数据(比如Hivemeta store或者HCatalog)。 S 阅读全文
posted @ 2019-01-17 13:18 吊车尾88 阅读(2785) 评论(0) 推荐(0)
摘要:UDAF简介 UDAF(User Defined Aggregate Function)即用户定义的聚合函数,聚合函数和普通函数的区别是什么呢,普通函数是接受一行输入产生一个输出,聚合函数是接受一组(一般是多行)输入然后产生一个输出,即将一组的值想办法聚合一下。 UDAF的误区 我们可能下意识的认为 阅读全文
posted @ 2019-01-17 10:15 吊车尾88 阅读(4997) 评论(0) 推荐(0)
摘要:前言 本文介绍如何在Spark Sql和DataFrame中使用UDF,如何利用UDF给一个表或者一个DataFrame根据需求添加几列,并给出了旧版(Spark1.x)和新版(Spark2.x)完整的代码示例。 关于UDF:UDF:User Defined Function,用户自定义函数 创建测 阅读全文
posted @ 2019-01-17 09:53 吊车尾88 阅读(14102) 评论(0) 推荐(0)
摘要:1、在内存中缓存数据 性能调优主要是将数据放入内存中操作,spark缓存注册表的方法 版本 缓存 释放缓存 spark2.+ spark.catalog.cacheTable("tableName")缓存表 spark.catalog.uncacheTable("tableName")解除缓存 sp 阅读全文
posted @ 2019-01-12 20:53 吊车尾88 阅读(4237) 评论(1) 推荐(1)
摘要:在讲解 createOrReplaceTempView 和createGlobalTempView的区别前,先了解下Spark Application 和 Spark Session区别 Spark Application Spark Application 使用: 针对单个批处理作业 多个job通 阅读全文
posted @ 2019-01-10 19:09 吊车尾88 阅读(31414) 评论(1) 推荐(3)
摘要:spark 1.6 创建语句 在Spark1.6中我们使用的叫Hive on spark,主要是依赖hive生成spark程序,有两个核心组件SQLcontext和HiveContext。 这是Spark 1.x 版本的语法 而Spark2.0中我们使用的就是sparkSQL,是后继的全新产品,解除 阅读全文
posted @ 2019-01-10 18:22 吊车尾88 阅读(7567) 评论(0) 推荐(1)
摘要:spark sql 中join的类型 Spark DataFrame中join与SQL很像,都有inner join, left join, right join, full join; spark join 看其原型 def join(right : DataFrame, usingColumns 阅读全文
posted @ 2019-01-10 12:37 吊车尾88 阅读(32304) 评论(3) 推荐(0)
摘要:sparkSQL 1、主要的数据结构 DataFreames 2、开始使用:SQLContext 创建步骤: Val sc:sparkContext Val sqlContext=new org.apache.spark.sql.SQLContext(sc) Import sqlContext.im 阅读全文
posted @ 2016-07-09 22:36 吊车尾88 阅读(218) 评论(0) 推荐(0)