spark
文章平均质量分 65
坐在6号工位打螺丝
这个作者很懒,什么都没留下…
展开
-
sparksql转换和自定义函数操作
SparkSqlpackage spark_sqlimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, Dataset, Row, SparkSession}case class Emp(name: String, age: Long)object spark_sql_json extends App { val ss: SparkSession = SparkSession.builder().原创 2021-10-19 17:29:18 · 166 阅读 · 0 评论 -
spark-core的几个案例
spark-core的几个案例需求一:热门品类的top10方法一:分别得到品类的点击、下单、付款数量,再像sql操作一样使用cogroup关联起来方法二:将rdd添加缓存,且避免了cogroup方法三:方法四:采用累加器进行统计(代码量复杂但是效率高)需求一:热门品类的top10Top10 热门品类:先按照点击数排名,靠前的就排名高;如果点击数相同,再比较下单数;下单数再相同,就比较支付数。方法一:将各品类的数量求出来,在用cogroup关联(效率低)方法二:将rdd缓存,union替代cogrou原创 2021-10-17 14:23:19 · 219 阅读 · 0 评论 -
rdd的操作和基本逻辑
rdd的操作和基本逻辑cache,persist,checkpoint三者的区别分区器(自定义分区)cache,persist,checkpoint三者的区别chche:缓存在内存中,效率高但是不安全,存在数据丢失和内存溢出的风险。而且会在血缘关系中添加依赖persist:将数据落在磁盘中,可选等级也较为安全。但是在计算完成之后会删除。会在血缘关系中添加依赖checkpoint:将数据永久保存在路径中(HDFS),可永久保存但是不参与原本的计算会独立计算一次。为了提升效率,一般和cache联合使用原创 2021-10-16 15:59:44 · 69 阅读 · 0 评论 -
spark的转换算子及一个案例
spark的转换算子map:同分区有序运行,不同分区无序运行mapPartitions:一次性取数一个分区,在分区内计算golm:将一个分区的数据变成集合groupBy:讲数据源中的每一个数据进行key进行分filter:过滤,返回布尔类型sampledistinctcoalesce: 缩减分区repartition:其实就是(coalesce(shuffle true))sortBy: 会进行shuffle,默认不改变分区且升序双value的操作,(交集,并集,差集,拉链)partitionBy:grou原创 2021-10-10 18:54:26 · 270 阅读 · 0 评论