Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark 1.4:Spark SQL任何和所有函数_Apache Spark_Apache Spark Sql - Fatal编程技术网

Apache spark Spark 1.4:Spark SQL任何和所有函数

Apache spark Spark 1.4:Spark SQL任何和所有函数,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我正在从事一个使用Spark SQL 1.4的项目。该版本似乎不支持任何和所有功能 因此,可以为这些函数编写一个udf,或者我们是否有其他解决方法 谢谢,像这样的东西应该可以做到: 导入scala.reflect.ClassTag 导入org.apache.spark.sql.Column 类型BinColOp=(列,列)=>Column def检查[T](f:BINCLOP)( coln:Column,pred:(Column,T)=>Column,xs:Seq[T])={ map(other

我正在从事一个使用Spark SQL 1.4的项目。该版本似乎不支持任何和所有功能

因此,可以为这些函数编写一个
udf
,或者我们是否有其他解决方法


谢谢,

像这样的东西应该可以做到:

导入scala.reflect.ClassTag
导入org.apache.spark.sql.Column
类型BinColOp=(列,列)=>Column
def检查[T](f:BINCLOP)(
coln:Column,pred:(Column,T)=>Column,xs:Seq[T])={
map(other=>pred(col,other)).reduce(f)
}
val all=检查[列](&&&)_
val any=检查[列](124; | 124;)_
用法示例:

val df=sc.parallelize(
(1L,“foo”,3.6)::
(2L,“bar”,-1.0)::
无
).toDF(“v”、“x”、“y”)
df.选择(全部($“v”,\>\,顺序(点亮(-1),点亮(1)))。显示
// +---------------------+
//|((v>-1)和&(v>1))|
// +---------------------+
//|假|
//|对|
// +---------------------+
df.选择(任意($“x”,_!==,Seq(lit(“foo”),lit(“baz”))).show
// +--------------------------------+
//|(非(x=foo)|非(x=baz))|
// +--------------------------------+
//|对|
//|对|
// +--------------------------------+
df.select(全部($“x”)、!==x、Seq(亮的(“foo”)、亮的(“baz”)).show
// +--------------------------------+
//|(非(x=foo)和&非(x=baz))|
// +--------------------------------+
//|假|
//|对|
// +--------------------------------+