Learning Spark [6] - Spark SQL高级函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Learning Spark [6] - Spark SQL高级函数相关的知识,希望对你有一定的参考价值。
参考技术Acollect常用的有两个函数:collect_list(不去重)和collect_set(去重)
collect_list
collect_set
explode的定义是将数组的每个数据展开,如下我们就可以将上面的dataframe还原为最初的样式。
posexplode可以在拆分列的同时,增加一列序号
但是如果表内有如下两个一一对应的数组,我们该如何拆分呢?
按照直觉,我们尝试分别explode()
解决这个问题,我们需要使用 LATERAL VIEW
lateral view可以理解为创建了一个表,然后JOIN到了查询的表上,这样就避免了两个生成器的问题
split则是将一个字符串根据分隔符,变化为一个数组
transform会引用一个函数在数组的每个元素上,返回一个数列
filter为通过条件删选,返回一个数列
exists为判断是否包含该元素,返回一个布尔值
reduce为通过两个函数,将数组聚合为一个值,然后对该值进行运算
Reference
Learning Spark 2nd - Lightning Fast Big Data Analysis by Jules S. Damji, Brooke Wenig, Tathagata Das, and Denny Lee
以上是关于Learning Spark [6] - Spark SQL高级函数的主要内容,如果未能解决你的问题,请参考以下文章
在执行spar-sql程序中报错:java.lang.NoSuchMethodError: org.apache.spark.internal.Logging.$init$(Lorg/apache/s
Spark启动时报错localhost: failed to launch: nice -n 0 /home/chan/spark/spark-2.4.3-bin-hadoop2.7/bin/spar