SparkSql

时间:2017-03-21 15:49:07

标签: hadoop apache-spark apache-spark-sql

如何在sparksql中实现sql功能,如存储过程或函数?

我知道hbase中的hpl sql和协处理器。但是想知道是否有类似的东西可以在火花中使用。

2 个答案:

答案 0 :(得分:1)

您可以考虑使用User Defined Function和内置函数

一个简单的例子

;

<强>结果

val dataset = Seq((0, "hello"), (1, "world")).toDF("id", "text")  
val upper: String => String = _.toUpperCase    
import org.apache.spark.sql.functions.udf
val upperUDF = udf(upper)

// Apply the UDF to change the source dataset
scala> dataset.withColumn("upper", upperUDF('text)).show

答案 1 :(得分:0)

我们无法在SparkSql中创建SP /功能。但是,最好的方法是像CTE一样创建一个临时表,并将这些表用于进一步使用。或者,您可以在Spark中创建UDF函数。