Spark
码上行动、
这个作者很懒,什么都没留下…
展开
-
SparkSQL 中group by、grouping sets、rollup和cube方法详解
group by:主要用来对查询的结果进行分组,相同组合的分组条件在结果集中只显示一行记录。可以添加聚合函数。grouping sets:对分组集中指定的组表达式的每个子集执行group by,group by A,B grouping sets(A,B)就等价于 group by A union group by B,其中A和B也可以是一个集合,比如group by A,B,C grouping sets((A,B),(A,C)),最后在对每个分组进行unionrollup:在指定表达式的.原创 2021-08-17 15:14:48 · 2731 阅读 · 0 评论 -
Spark中Shuffle的调优
参数 默认值 描述 spark.reducer.maxSizeInFlight 48M 每次reduce的时候fetch数据的最大值,默认是48M。 如果网络状态OK,Spark的数据量是比较多的,可以尽可能的拉大这个值,例如96M。 spark.shuffle.compress true Shuffle-write写数据到磁盘文件,是否开启压缩机制,默认是true。 开启压缩,需要配合spark.io.compression.codec(压缩方式)使用。 s原创 2021-08-14 09:28:41 · 209 阅读 · 0 评论 -
Spark中的缓存(cache)和检查点(checkpoint)的使用和区别
cache()底层调用的局势persist(),只能设置缓存级别为StorageLevel.MEMORY_ONLY即在内存中进行缓存persist()这个才是真的缓存方法--无参重载 => 只能设置缓存级别为StorageLevel.MEMORY_ONLY即在内存中进行缓存--有参重载 => 可以设置缓存等级是否是⽤磁盘 是否使⽤内存 是否使⽤堆外内存 是否反序列化 副本的个数object StorageLevel {val NONE = new StorageLevel(f.原创 2021-08-12 19:27:32 · 960 阅读 · 0 评论 -
Spark中利用flatMap求单词的个数
object Test02 { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("test").setMaster("local") val sc = new SparkContext(conf) val arr = sc.parallelize(Array("hello mysql hadoop", "mysql hello")) .原创 2021-08-11 09:45:21 · 269 阅读 · 0 评论